1 #include <stdio.h>
2 
3 int main (void) {
4 #ifdef SUPPORTS_HTM
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 #ifdef __PPC64__
12    __builtin_tabortdc (0,0,0);
13    __builtin_tabortdci (0,0,0);
14 #endif
15    __builtin_tabortwc (0,0,0);
16    __builtin_tabortwci (0,0,0);
17    __builtin_tbegin (0);
18    __builtin_tend (0);
19    //   __builtin_tcheck (0);  tcheck not recognized by compiler
20    __builtin_trechkpt ();  // not recognized by early HW
21    __builtin_treclaim (0); // not recognized by early HW
22    __builtin_tsr (0);
23 #else
24    printf ("No HTM support.");
25 #endif
26    return 0;
27 }
28