test_touch_tm.c revision 436e89c602e787e7a27dd6624b09beed41a0da8a
1#include <stdio.h>
2
3int main (void) {
4#ifdef HAS_ISA_2_07
5   /* Just get the compiler to generate each of the TM instructions
6    * so we can verify that valgrind recognizes them.
7    * For now, only the tbegin instruction does anything in valgrind.
8    * The rest are just treated as NOPS.
9    */
10   __builtin_tabort (0);
11   __builtin_tabortdc (0,0,0);
12   __builtin_tabortdci (0,0,0);
13   __builtin_tabortwc (0,0,0);
14   __builtin_tabortwci (0,0,0);
15   __builtin_tbegin (0);
16   __builtin_tend (0);
17   //   __builtin_tcheck (0);  tcheck not recognized by compiler
18   __builtin_trechkpt ();  // not recognized by early HW
19   __builtin_treclaim (0); // not recognized by early HW
20   __builtin_tsr (0);
21#endif
22   return 0;
23}
24