1 /* This checks the availability of the XL compiler intrinsics for
2 transactional execution with the expected prototypes. */
4 /* { dg-do compile } */
5 /* { dg-options "-O3 -march=zEC12 -mzarch" } */
7 #include <htmxlintrin.h>
15 struct __htm_tdb
*tdb_struct
;
16 void * const tdb
= tdb_struct
;
20 result
= __TM_simple_begin ();
21 result
= __TM_begin (tdb
);
24 __TM_named_abort (42);
25 __TM_non_transactional_store (&g
, 42);
26 result
= __TM_nesting_depth (tdb
);
28 result
= __TM_is_user_abort (tdb
);
29 result
= __TM_is_named_user_abort (tdb
, &code
);
30 result
= __TM_is_illegal (tdb
);
31 result
= __TM_is_footprint_exceeded (tdb
);
32 result
= __TM_is_nested_too_deep (tdb
);
33 result
= __TM_is_conflict (tdb
);
34 result
= __TM_is_failure_persistent (result
);
35 result
= __TM_failure_address (tdb
);
36 result
= __TM_failure_code (tdb
);