136b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll#include <stdio.h> 25bd4f6d6531cfa8534d063e2a5adc43cbcd343e1carll#ifdef SUPPORTS_HTM 336b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarllint __attribute__ ((noinline)) htm_begin (int r3, int r4) 436b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll{ 536b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll int ret; 636b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll 736b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll if (__builtin_tbegin (0)) { 836b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll ret = r3; 936b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll __builtin_tend (0); 1036b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll } else { 1136b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll ret = r4; 1236b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll } return ret; 1336b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll} 1440fc342595f93fdaabe64b617c4e5b4a8a09eab2carll#endif 1536b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll 1636b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarllint main (void) { 175bd4f6d6531cfa8534d063e2a5adc43cbcd343e1carll#ifdef SUPPORTS_HTM 1836b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll int ret; 1936b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll ret = htm_begin (10, 20); 2036b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll printf ("ret = %d, expected = 10\n", ret); 215bd4f6d6531cfa8534d063e2a5adc43cbcd343e1carll#else 225bd4f6d6531cfa8534d063e2a5adc43cbcd343e1carll printf ("No HTM support."); 2340fc342595f93fdaabe64b617c4e5b4a8a09eab2carll#endif 2436b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll return 0; 2536b4a94f7f0fe9fe3e79986f7082bedd6ba6cb8ccarll} 26