6.59.23. S/390 System z Built-in Functions

6.59.23 S/390 System z Built-in Functions

— Built-in Function: int __builtin_tbegin (void*)

Generates the tbegin machine instruction starting a non-constrained hardware transaction. If the parameter is non-NULL the memory area is used to store the transaction diagnostic buffer and will be passed as first operand to tbegin. This buffer can be defined using the struct __htm_tdb C struct defined in htmintrin.h and must reside on a double-word boundary. The second tbegin operand is set to 0xff0c. This enables save/restore of all GPRs and disables aborts for FPR and AR manipulations inside the transaction body. The condition code set by the tbegin instruction is returned as integer value. The tbegin instruction by definition overwrites the content of all FPRs. The compiler will generate code which sav