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