]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/61193 (ABI incompatibility between POWER and Z HTM builtins and intrinsics)
authorPeter Bergner <bergner@vnet.ibm.com>
Fri, 16 May 2014 03:43:12 +0000 (22:43 -0500)
committerPeter Bergner <bergner@gcc.gnu.org>
Fri, 16 May 2014 03:43:12 +0000 (22:43 -0500)
PR target/61193
* config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
(__TM_simple_begin): Use it.
(__TM_begin): Likewise.

From-SVN: r210486

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

index 2ddb6dd00cf602b685d42dad5c864f8647fec0ac..5a29dedf7c79218db5ba6da6dcefeeb7cdf57c1c 100644 (file)
@@ -1,3 +1,10 @@
+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-15  Martin Jambor  <mjambor@suse.cz>
 
        PR ipa/61085
index 38dc066d30e65b75e2a070a15fb46609f7deb853..bf7fe3a75abfab9bb25df3396ba0c5e180b467bd 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