diff options
author | Michael Liao <michael.liao@intel.com> | 2012-11-10 05:17:46 +0000 |
---|---|---|
committer | Michael Liao <michael.liao@intel.com> | 2012-11-10 05:17:46 +0000 |
commit | 463eb89d5e36b05d74c14b937384076d745b3b84 (patch) | |
tree | d72b3c94b6b4b046e46a5b2fc6977c0c66bf9b39 /include/clang/Basic/BuiltinsX86.def | |
parent | e59188b0bd88ea488f2ec2f10a4ad3c4316adbce (diff) | |
download | clang-463eb89d5e36b05d74c14b937384076d745b3b84.tar.gz clang-463eb89d5e36b05d74c14b937384076d745b3b84.tar.bz2 clang-463eb89d5e36b05d74c14b937384076d745b3b84.tar.xz |
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
Diffstat (limited to 'include/clang/Basic/BuiltinsX86.def')
-rw-r--r-- | include/clang/Basic/BuiltinsX86.def | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/clang/Basic/BuiltinsX86.def b/include/clang/Basic/BuiltinsX86.def index dc850c438c..5b46f8e6ad 100644 --- a/include/clang/Basic/BuiltinsX86.def +++ b/include/clang/Basic/BuiltinsX86.def @@ -736,5 +736,8 @@ BUILTIN(__builtin_ia32_vfrczps, "V4fV4f", "") BUILTIN(__builtin_ia32_vfrczpd, "V2dV2d", "") BUILTIN(__builtin_ia32_vfrczps256, "V8fV8f", "") BUILTIN(__builtin_ia32_vfrczpd256, "V4dV4d", "") +BUILTIN(__builtin_ia32_xbegin, "i", "") +BUILTIN(__builtin_ia32_xend, "v", "") +BUILTIN(__builtin_ia32_xabort, "vIc", "") #undef BUILTIN |