summaryrefslogtreecommitdiff
path: root/libitm
diff options
context:
space:
mode:
authorPeter Bergner <bergner@linux.ibm.com>2018-12-13 18:04:11 +0000
committerPeter Bergner <bergner@gcc.gnu.org>2018-12-13 12:04:11 -0600
commitd1573fe051974d73af613b1ccce5dcecc21ee94a (patch)
tree77c11c4e0cb30b901606cdc831553b6eede54670 /libitm
parentfe0827eed09d14064efe070dc0f4db71bc66bbd4 (diff)
target.h (htm_available): Add support for PPC_FEATURE2_HTM_NO_SUSPEND.
libitm/ * config/powerpc/target.h (htm_available): Add support for PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available. From-SVN: r267101
Diffstat (limited to 'libitm')
-rw-r--r--libitm/ChangeLog5
-rw-r--r--libitm/config/powerpc/target.h15
2 files changed, 19 insertions, 1 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index 93df02c04c4..bda0985b803 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 8288173f8a8..77652a6f61d 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