diff options
-rw-r--r-- | libitm/ChangeLog | 5 | ||||
-rw-r--r-- | libitm/config/powerpc/target.h | 15 |
2 files changed, 19 insertions, 1 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog index 93df02c..bda0985 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,8 @@ +2018-12-13 Peter Bergner <bergner@linux.ibm.com> + + * config/powerpc/target.h (htm_available): Add support for + PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available. + 2018-10-31 Joseph Myers <joseph@codesourcery.com> PR bootstrap/82856 diff --git a/libitm/config/powerpc/target.h b/libitm/config/powerpc/target.h index 8288173..77652a6 100644 --- a/libitm/config/powerpc/target.h +++ b/libitm/config/powerpc/target.h @@ -81,7 +81,20 @@ cpu_relax (void) static inline bool htm_available (void) { - return (getauxval (AT_HWCAP2) & PPC_FEATURE2_HAS_HTM) ? true : false; +#ifdef __BUILTIN_CPU_SUPPORTS__ + if (__builtin_cpu_supports ("htm-no-suspend") + || __builtin_cpu_supports ("htm")) + return true; +#else + unsigned long htm_flags = PPC_FEATURE2_HAS_HTM +#ifdef PPC_FEATURE2_HTM_NO_SUSPEND + | PPC_FEATURE2_HTM_NO_SUSPEND +#endif + | 0; + if (getauxval (AT_HWCAP2) & htm_flags) + return true; +#endif + return false; } static inline uint32_t |