summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/sse2-builtins.c
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2019-07-10 17:11:23 +0000
committerCraig Topper <craig.topper@intel.com>2019-07-10 17:11:23 +0000
commitf9cb127ca92fddeca203ce01592f10e9a53ef077 (patch)
treec0b88f0b59f1af54a8bca808c6e6b8051b3032d6 /clang/test/CodeGen/sse2-builtins.c
parentab5a30ac9dcec8c92d8e964b0701c6f164e3be88 (diff)
downloadbcm5719-llvm-f9cb127ca92fddeca203ce01592f10e9a53ef077.tar.gz
bcm5719-llvm-f9cb127ca92fddeca203ce01592f10e9a53ef077.zip
[X86] Add guards to some of the x86 intrinsic tests to skip 64-bit mode only intrinsics when compiled for 32-bit mode.
All the command lines are for 64-bit mode, but sometimes I compile the tests in 32-bit mode to see what assembly we get and we need to skip these to do that. llvm-svn: 365668
Diffstat (limited to 'clang/test/CodeGen/sse2-builtins.c')
-rw-r--r--clang/test/CodeGen/sse2-builtins.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/CodeGen/sse2-builtins.c b/clang/test/CodeGen/sse2-builtins.c
index acf4b20dd14..280640c267c 100644
--- a/clang/test/CodeGen/sse2-builtins.c
+++ b/clang/test/CodeGen/sse2-builtins.c
@@ -500,11 +500,13 @@ int test_mm_cvtsd_si32(__m128d A) {
return _mm_cvtsd_si32(A);
}
+#ifdef __x86_64__
long long test_mm_cvtsd_si64(__m128d A) {
// CHECK-LABEL: test_mm_cvtsd_si64
// CHECK: call i64 @llvm.x86.sse2.cvtsd2si64(<2 x double> %{{.*}})
return _mm_cvtsd_si64(A);
}
+#endif
__m128 test_mm_cvtsd_ss(__m128 A, __m128d B) {
// CHECK-LABEL: test_mm_cvtsd_ss
@@ -518,11 +520,13 @@ int test_mm_cvtsi128_si32(__m128i A) {
return _mm_cvtsi128_si32(A);
}
+#ifdef __x86_64__
long long test_mm_cvtsi128_si64(__m128i A) {
// CHECK-LABEL: test_mm_cvtsi128_si64
// CHECK: extractelement <2 x i64> %{{.*}}, i32 0
return _mm_cvtsi128_si64(A);
}
+#endif
__m128d test_mm_cvtsi32_sd(__m128d A, int B) {
// CHECK-LABEL: test_mm_cvtsi32_sd
@@ -540,6 +544,7 @@ __m128i test_mm_cvtsi32_si128(int A) {
return _mm_cvtsi32_si128(A);
}
+#ifdef __x86_64__
__m128d test_mm_cvtsi64_sd(__m128d A, long long B) {
// CHECK-LABEL: test_mm_cvtsi64_sd
// CHECK: sitofp i64 %{{.*}} to double
@@ -553,6 +558,7 @@ __m128i test_mm_cvtsi64_si128(long long A) {
// CHECK: insertelement <2 x i64> %{{.*}}, i64 0, i32 1
return _mm_cvtsi64_si128(A);
}
+#endif
__m128d test_mm_cvtss_sd(__m128d A, __m128 B) {
// CHECK-LABEL: test_mm_cvtss_sd
@@ -580,11 +586,13 @@ int test_mm_cvttsd_si32(__m128d A) {
return _mm_cvttsd_si32(A);
}
+#ifdef __x86_64__
long long test_mm_cvttsd_si64(__m128d A) {
// CHECK-LABEL: test_mm_cvttsd_si64
// CHECK: call i64 @llvm.x86.sse2.cvttsd2si64(<2 x double> %{{.*}})
return _mm_cvttsd_si64(A);
}
+#endif
__m128d test_mm_div_pd(__m128d A, __m128d B) {
// CHECK-LABEL: test_mm_div_pd
@@ -1492,11 +1500,13 @@ void test_mm_stream_si32(int *A, int B) {
_mm_stream_si32(A, B);
}
+#ifdef __x86_64__
void test_mm_stream_si64(long long *A, long long B) {
// CHECK-LABEL: test_mm_stream_si64
// CHECK: store i64 %{{.*}}, i64* %{{.*}}, align 1, !nontemporal
_mm_stream_si64(A, B);
}
+#endif
void test_mm_stream_si128(__m128i *A, __m128i B) {
// CHECK-LABEL: test_mm_stream_si128
OpenPOWER on IntegriCloud