diff options
author | Peter Bergner <bergner@vnet.ibm.com> | 2014-05-15 22:43:12 -0500 |
---|---|---|
committer | Peter Bergner <bergner@gcc.gnu.org> | 2014-05-15 22:43:12 -0500 |
commit | d8c55b91aefb9d6d64cd0ebf2fe5e9a22b1cd71b (patch) | |
tree | 9ecb1c74214f57572ab6892edeb679ea96208358 /gcc | |
parent | ef1f23cc6b90fbe5ec8eb02c66604a354f6a6c5a (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/htmxlintrin.h | 9 |
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 |