You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
818 B
30 lines
818 B
4 years ago
|
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.
|
||
|
|
||
|
--- libitm/config/powerpc/target.h
|
||
|
+++ 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
|