]> granicus.if.org Git - clang/commit
Add clang support of RTM from TSX
authorMichael Liao <michael.liao@intel.com>
Sat, 10 Nov 2012 05:17:46 +0000 (05:17 +0000)
committerMichael Liao <michael.liao@intel.com>
Sat, 10 Nov 2012 05:17:46 +0000 (05:17 +0000)
commit463eb89d5e36b05d74c14b937384076d745b3b84
treed72b3c94b6b4b046e46a5b2fc6977c0c66bf9b39
parente59188b0bd88ea488f2ec2f10a4ad3c4316adbce
Add clang support of RTM from TSX

- New options '-mrtm'/'-mno-rtm' are added to enable/disable RTM feature
- Builtin macro '__RTM__' is defined if RTM feature is enabled
- RTM intrinsic header is added and introduces 3 new intrinsics, namely
  '_xbegin', '_xend', and '_xabort'.
- 3 new builtins are added to keep compatible with gcc, namely
  '__builtin_ia32_xbegin', '__builtin_ia32_xend', and '__builtin_ia32_xabort'.
- Test cases for pre-defined macro and new intrinsic codegen are added.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167665 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/BuiltinsX86.def
include/clang/Driver/Options.td
lib/Basic/Targets.cpp
lib/Headers/CMakeLists.txt
lib/Headers/immintrin.h
lib/Headers/rtmintrin.h [new file with mode: 0644]
test/CodeGen/rtm-builtins.c [new file with mode: 0644]
test/Preprocessor/predefined-arch-macros.c