> That said, -mrtm could easily be tested by the compiler to generate > (or not) inline HTM for implementing -fgnu-tm....
Consider my earlier example if (cpuid(rtm)) _xbegin() .. else fallback Today if I want to do that I have to pass -mrtm. And the binary would work on CPUs with and without RTM. Now assume that "fallback" used the gnu-tm transactions. Then I update to a new compiler version that makes -mrtm enable unconditional RTM use there. I recompile the program with the same Makefile (that still passes -mrtm for _xbegin) and the new compiler version. The fallback transaction code would now use RTM unconditionally. I run it on a non RTM system and it would crash with an illegal instruction. User would see that new compiler broke her perfectly fine program. Now is an option to control to RTM usage in gnu-tm useful? Yes, but it should never control the intrinsic too. -Andi PS some recent options like -mrdrand have similar issues. -- a...@linux.intel.com -- Speaking for myself only.