summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-04-26 20:14:46 +0000
committerCraig Topper <craig.topper@intel.com>2018-04-26 20:14:46 +0000
commit51738f834ed9824f916296d12c67b73bd643cccc (patch)
tree9f2bb0ae6a1dd3d9e41c953cc741145759111465 /clang/test
parent7cc56f1599b990afe806ad217352502c528a828d (diff)
downloadbcm5719-llvm-51738f834ed9824f916296d12c67b73bd643cccc.tar.gz
bcm5719-llvm-51738f834ed9824f916296d12c67b73bd643cccc.zip
[X86] Make __builtin_ia32_readeflags_u32 and __builtin_ia32_writeeflags_u32 only available on 32-bit targets.
These builtins can't be handled by the backend on 64-bit targets. So error up front instead of throwing an isel error. Fixes PR37225 Differential Revision: https://reviews.llvm.org/D46132 llvm-svn: 330987
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Sema/builtins-x86.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/Sema/builtins-x86.c b/clang/test/Sema/builtins-x86.c
index 472deeb9210..ad9e00779e8 100644
--- a/clang/test/Sema/builtins-x86.c
+++ b/clang/test/Sema/builtins-x86.c
@@ -16,6 +16,11 @@ typedef unsigned char __mmask8;
typedef unsigned short __mmask16;
typedef unsigned int __mmask32;
+void call_x86_32_builtins(void) {
+ (void)__builtin_ia32_readeflags_u32(); // expected-error{{this builtin is only available on 32-bit targets}}
+ (void)__builtin_ia32_writeeflags_u32(4); // expected-error{{this builtin is only available on 32-bit targets}}
+}
+
__m128 test__builtin_ia32_cmpps(__m128 __a, __m128 __b) {
__builtin_ia32_cmpps(__a, __b, 32); // expected-error {{argument should be a value from 0 to 31}}
}
OpenPOWER on IntegriCloud