]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR target/61193 (ABI incompatibility between POWER and Z HTM builtins...
authorPeter Bergner <bergner@vnet.ibm.com>
Fri, 16 May 2014 03:46:23 +0000 (22:46 -0500)
committerPeter Bergner <bergner@gcc.gnu.org>
Fri, 16 May 2014 03:46:23 +0000 (22:46 -0500)
Backport from mainline
2014-05-15  Peter Bergner  <bergner@vnet.ibm.com>

PR target/61193
* config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
(__TM_simple_begin): Use it.
(__TM_begin): Likewise.

From-SVN: r210488

gcc/ChangeLog
gcc/config/rs6000/htmxlintrin.h

index d29f8f809333d1d2c3eed9a66e1afc8e524813b9..6536ce1302a350418795d722301a5ea8fe55f1ea 100644 (file)
@@ -1,3 +1,13 @@
+2014-05-15  Peter Bergner  <bergner@vnet.ibm.com>
+
+       Backport from mainline
+       2014-05-15  Peter Bergner  <bergner@vnet.ibm.com>
+
+       PR target/61193
+       * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
+       (__TM_simple_begin): Use it.
+       (__TM_begin): Likewise.
+
 2014-05-14  Eric Botcazou  <ebotcazou@adacore.com>
 
        * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
index c2077d2a3708786b9dbd9df1d8d1ecf32faaae70..3908229d5a853ae3ff95d5814b5509203dfef676 100644 (file)
@@ -46,12 +46,17 @@ extern "C" {
 
 typedef char TM_buff_type[16];
 
+/* Compatibility macro with s390.  This macro can be used to determine
+   whether a transaction was successfully started from the __TM_begin()
+   and __TM_simple_begin() intrinsic functions below.  */
+#define _HTM_TBEGIN_STARTED     1
+
 extern __inline long
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 __TM_simple_begin (void)
 {
   if (__builtin_expect (__builtin_tbegin (0), 1))
-    return 1;
+    return _HTM_TBEGIN_STARTED;
   return 0;
 }
 
@@ -61,7 +66,7 @@ __TM_begin (void* const TM_buff)
 {
   *_TEXASRL_PTR (TM_buff) = 0;
   if (__builtin_expect (__builtin_tbegin (0), 1))
-    return 1;
+    return _HTM_TBEGIN_STARTED;
 #ifdef __powerpc64__
   *_TEXASR_PTR (TM_buff) = __builtin_get_texasr ();
 #else