aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Bergner <bergner@vnet.ibm.com>2014-05-15 22:43:12 -0500
committerPeter Bergner <bergner@gcc.gnu.org>2014-05-15 22:43:12 -0500
commitd8c55b91aefb9d6d64cd0ebf2fe5e9a22b1cd71b (patch)
tree9ecb1c74214f57572ab6892edeb679ea96208358
parentef1f23cc6b90fbe5ec8eb02c66604a354f6a6c5a (diff)
downloadgcc-d8c55b91aefb9d6d64cd0ebf2fe5e9a22b1cd71b.zip
gcc-d8c55b91aefb9d6d64cd0ebf2fe5e9a22b1cd71b.tar.gz
gcc-d8c55b91aefb9d6d64cd0ebf2fe5e9a22b1cd71b.tar.bz2
re PR target/61193 (ABI incompatibility between POWER and Z HTM builtins and intrinsics)
PR target/61193 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define. (__TM_simple_begin): Use it. (__TM_begin): Likewise. From-SVN: r210486
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/htmxlintrin.h9
2 files changed, 14 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2ddb6dd..5a29ded 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/rs6000/htmxlintrin.h b/gcc/config/rs6000/htmxlintrin.h
index 38dc066..bf7fe3a 100644
--- a/gcc/config/rs6000/htmxlintrin.h
+++ b/gcc/config/rs6000/htmxlintrin.h
@@ -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