On Fri, 2013-06-21 at 12:23 +0200, Andreas Krebbel wrote: > Index: libitm/config/s390/target.h > =================================================================== > *** libitm/config/s390/target.h.orig > --- libitm/config/s390/target.h > ***************
[...] > + static inline uint32_t > + htm_begin () > + { > + return __builtin_tbegin_nofloat (NULL); > + } I'm not quite sure I understand why the nofloat variant is sufficient; is this because we don't use FPRs in the abort/restart code of libitm (and the FPRs are known to be clobbered after starting a txn)? There is a bit in the properties passed to _ITM_beginTransaction which states whether the txn has floating point update code (pr_hasNoFloatUpdate). Would this be useful? (BTW, sorry for the late response. I don't read gcc-patches frequently, so please CC me on libitm-related things.)