diff options
author | Amjad Aboud <amjad.aboud@intel.com> | 2015-10-13 12:29:35 +0000 |
---|---|---|
committer | Amjad Aboud <amjad.aboud@intel.com> | 2015-10-13 12:29:35 +0000 |
commit | 2b9b8a5921c8929db460dedd4b05ee02aa58af82 (patch) | |
tree | eab27183092bf1cf7d3c6d1cc77b8f73a1958893 /clang/test/CodeGen/builtins-x86.c | |
parent | 401592560630b65cf0b831e50e168869c04e5d92 (diff) | |
download | bcm5719-llvm-2b9b8a5921c8929db460dedd4b05ee02aa58af82.tar.gz bcm5719-llvm-2b9b8a5921c8929db460dedd4b05ee02aa58af82.zip |
[X86] Add XSAVE intrinsic family
Add intrinsics for the
XSAVE instructions (XSAVE/XSAVE64/XRSTOR/XRSTOR64)
XSAVEOPT instructions (XSAVEOPT/XSAVEOPT64)
XSAVEC instructions (XSAVEC/XSAVEC64)
XSAVES instructions (XSAVES/XSAVES64/XRSTORS/XRSTORS64)
Differential Revision: http://reviews.llvm.org/D13014
llvm-svn: 250158
Diffstat (limited to 'clang/test/CodeGen/builtins-x86.c')
-rw-r--r-- | clang/test/CodeGen/builtins-x86.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/clang/test/CodeGen/builtins-x86.c b/clang/test/CodeGen/builtins-x86.c index cae88a2359d..88ff2821efc 100644 --- a/clang/test/CodeGen/builtins-x86.c +++ b/clang/test/CodeGen/builtins-x86.c @@ -42,7 +42,7 @@ void f0() { signed int tmp_i; unsigned int tmp_Ui; signed long long tmp_LLi; -// unsigned long long tmp_ULLi; + unsigned long long tmp_ULLi; float tmp_f; double tmp_d; @@ -267,6 +267,20 @@ void f0() { (void)__builtin_ia32_fxsave64(tmp_vp); (void)__builtin_ia32_fxrstor(tmp_vp); (void)__builtin_ia32_fxrstor64(tmp_vp); + + (void)__builtin_ia32_xsave(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xsave64(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xrstor(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xrstor64(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xsaveopt(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xsaveopt64(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xrstors(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xrstors64(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xsavec(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xsavec64(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xsaves(tmp_vp, tmp_ULLi); + (void)__builtin_ia32_xsaves64(tmp_vp, tmp_ULLi); + tmp_V4f = __builtin_ia32_cvtpi2ps(tmp_V4f, tmp_V2i); tmp_V2i = __builtin_ia32_cvtps2pi(tmp_V4f); tmp_i = __builtin_ia32_cvtss2si(tmp_V4f); |