diff options
-rw-r--r-- | libitm/ChangeLog | 7 | ||||
-rw-r--r-- | libitm/config/s390/target.h | 4 | ||||
-rw-r--r-- | libitm/configure.tgt | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog index 3e9a7067979..dd558c00c14 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,10 @@ +2013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * config/s390/target.h (htm_begin, htm_commit, htm_abort) + (htm_transaction_active): Enable zEC12 instructions in the + assembler. + * configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS. + 2013-07-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * acinclude.m4: Add htm asm check for s390. diff --git a/libitm/config/s390/target.h b/libitm/config/s390/target.h index 17228f844dd..cec49cf7774 100644 --- a/libitm/config/s390/target.h +++ b/libitm/config/s390/target.h @@ -85,6 +85,7 @@ htm_init () static inline uint32_t htm_begin () { + __asm volatile (".machine \"all\" \n\t"); return __builtin_tbegin_nofloat (NULL); } @@ -97,12 +98,14 @@ htm_begin_success (uint32_t begin_ret) static inline void htm_commit () { + __asm volatile (".machine \"all\" \n\t"); __builtin_tend (); } static inline void htm_abort () { + __asm volatile (".machine \"all\" \n\t"); __builtin_tabort (_HTM_FIRST_USER_ABORT_CODE); } @@ -115,6 +118,7 @@ htm_abort_should_retry (uint32_t begin_ret) static inline bool htm_transaction_active () { + __asm volatile (".machine \"all\" \n\t"); return __builtin_tx_nesting_depth() != 0; } diff --git a/libitm/configure.tgt b/libitm/configure.tgt index 4dc2807cfe5..5078455975c 100644 --- a/libitm/configure.tgt +++ b/libitm/configure.tgt @@ -109,7 +109,7 @@ case "${target_cpu}" in ARCH=x86 ;; s390|s390x) - XCFLAGS="${XCFLAGS} -mzarch -mhtm -Wa,-march=zEC12" + XCFLAGS="${XCFLAGS} -mzarch -mhtm" ARCH=s390 ;; |