]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: target.h (htm_available): Add support for PPC_FEATURE2_HTM_NO_SUSPEND.
authorPeter Bergner <bergner@linux.ibm.com>
Thu, 13 Dec 2018 18:08:47 +0000 (18:08 +0000)
committerPeter Bergner <bergner@gcc.gnu.org>
Thu, 13 Dec 2018 18:08:47 +0000 (12:08 -0600)
libitm/
Backport from mainline
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.

From-SVN: r267103

libitm/ChangeLog
libitm/config/powerpc/target.h

index 846e1b0ecfbd66a2056ad5c183a45c901fcbc782..38d259671db1456a069ff6e84a4754a2dd28a2e0 100644 (file)
@@ -1,3 +1,11 @@
+2018-12-13  Peter Bergner  <bergner@linux.ibm.com>
+
+       Backport from mainline
+       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-12-06  Release Manager
 
        * GCC 7.4.0 released.
index 542aa3489cce8561fdb60ec5a6d905f4a0b195d9..58cea96cca0f3b0e88edab011a96de48543a1552 100644 (file)
@@ -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