forked from OSchip/llvm-project
[CodeGen][X86] Cleanup labels on some sse/avx intrinsics tests. NFCI.
Add some missing CHECK-LABEL lines. Remove leading '@' so it'll be possible to match against c and c++ builds in a future patch.
This commit is contained in:
parent
c1247f0e74
commit
42d91438ad
|
@ -4,7 +4,7 @@
|
|||
#include <immintrin.h>
|
||||
|
||||
__m256d test_mm256_cmp_pd_eq_oq(__m256d a, __m256d b) {
|
||||
// CHECK-LABEL: @test_mm256_cmp_pd_eq_oq
|
||||
// CHECK-LABEL: test_mm256_cmp_pd_eq_oq
|
||||
// CHECK: call <4 x i1> @llvm.experimental.constrained.fcmp.v4f64(<4 x double> %{{.*}}, <4 x double> %{{.*}}, metadata !"oeq", metadata !"fpexcept.strict")
|
||||
return _mm256_cmp_pd(a, b, _CMP_EQ_OQ);
|
||||
}
|
||||
|
@ -196,7 +196,7 @@ __m256d test_mm256_cmp_pd_true_us(__m256d a, __m256d b) {
|
|||
}
|
||||
|
||||
__m256 test_mm256_cmp_ps_eq_oq(__m256 a, __m256 b) {
|
||||
// CHECK-LABEL: @test_mm256_cmp_ps_eq_oq
|
||||
// CHECK-LABEL: test_mm256_cmp_ps_eq_oq
|
||||
// CHECK: call <8 x i1> @llvm.experimental.constrained.fcmp.v8f32(<8 x float> %{{.*}}, <8 x float> %{{.*}}, metadata !"oeq", metadata !"fpexcept.strict")
|
||||
return _mm256_cmp_ps(a, b, _CMP_EQ_OQ);
|
||||
}
|
||||
|
@ -388,7 +388,7 @@ __m256 test_mm256_cmp_ps_true_us(__m256 a, __m256 b) {
|
|||
}
|
||||
|
||||
__m128d test_mm_cmp_pd_eq_oq(__m128d a, __m128d b) {
|
||||
// CHECK-LABEL: @test_mm_cmp_pd_eq_oq
|
||||
// CHECK-LABEL: test_mm_cmp_pd_eq_oq
|
||||
// CHECK: call <2 x i1> @llvm.experimental.constrained.fcmp.v2f64(<2 x double> %{{.*}}, <2 x double> %{{.*}}, metadata !"oeq", metadata !"fpexcept.strict")
|
||||
return _mm_cmp_pd(a, b, _CMP_EQ_OQ);
|
||||
}
|
||||
|
@ -580,7 +580,7 @@ __m128d test_mm_cmp_pd_true_us(__m128d a, __m128d b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmp_ps_eq_oq(__m128 a, __m128 b) {
|
||||
// CHECK-LABEL: @test_mm_cmp_ps_eq_oq
|
||||
// CHECK-LABEL: test_mm_cmp_ps_eq_oq
|
||||
// CHECK: call <4 x i1> @llvm.experimental.constrained.fcmp.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"oeq", metadata !"fpexcept.strict")
|
||||
return _mm_cmp_ps(a, b, _CMP_EQ_OQ);
|
||||
}
|
||||
|
|
|
@ -214,7 +214,7 @@ __m256 test_mm_ceil_ps(__m256 x) {
|
|||
}
|
||||
|
||||
__m256d test_mm256_cmp_pd_eq_oq(__m256d a, __m256d b) {
|
||||
// CHECK-LABEL: @test_mm256_cmp_pd_eq_oq
|
||||
// CHECK-LABEL: test_mm256_cmp_pd_eq_oq
|
||||
// CHECK: fcmp oeq <4 x double> %{{.*}}, %{{.*}}
|
||||
return _mm256_cmp_pd(a, b, _CMP_EQ_OQ);
|
||||
}
|
||||
|
@ -406,7 +406,7 @@ __m256d test_mm256_cmp_pd_true_us(__m256d a, __m256d b) {
|
|||
}
|
||||
|
||||
__m256 test_mm256_cmp_ps_eq_oq(__m256 a, __m256 b) {
|
||||
// CHECK-LABEL: @test_mm256_cmp_ps_eq_oq
|
||||
// CHECK-LABEL: test_mm256_cmp_ps_eq_oq
|
||||
// CHECK: fcmp oeq <8 x float> %{{.*}}, %{{.*}}
|
||||
return _mm256_cmp_ps(a, b, _CMP_EQ_OQ);
|
||||
}
|
||||
|
@ -598,7 +598,7 @@ __m256 test_mm256_cmp_ps_true_us(__m256 a, __m256 b) {
|
|||
}
|
||||
|
||||
__m128d test_mm_cmp_pd_eq_oq(__m128d a, __m128d b) {
|
||||
// CHECK-LABEL: @test_mm_cmp_pd_eq_oq
|
||||
// CHECK-LABEL: test_mm_cmp_pd_eq_oq
|
||||
// CHECK: fcmp oeq <2 x double> %{{.*}}, %{{.*}}
|
||||
return _mm_cmp_pd(a, b, _CMP_EQ_OQ);
|
||||
}
|
||||
|
@ -790,7 +790,7 @@ __m128d test_mm_cmp_pd_true_us(__m128d a, __m128d b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmp_ps_eq_oq(__m128 a, __m128 b) {
|
||||
// CHECK-LABEL: @test_mm_cmp_ps_eq_oq
|
||||
// CHECK-LABEL: test_mm_cmp_ps_eq_oq
|
||||
// CHECK: fcmp oeq <4 x float> %{{.*}}, %{{.*}}
|
||||
return _mm_cmp_ps(a, b, _CMP_EQ_OQ);
|
||||
}
|
||||
|
@ -2062,19 +2062,19 @@ int test_mm256_testz_si256(__m256i A, __m256i B) {
|
|||
}
|
||||
|
||||
__m256 test_mm256_undefined_ps() {
|
||||
// CHECK-LABEL: @test_mm256_undefined_ps
|
||||
// CHECK-LABEL: test_mm256_undefined_ps
|
||||
// CHECK: ret <8 x float> zeroinitializer
|
||||
return _mm256_undefined_ps();
|
||||
}
|
||||
|
||||
__m256d test_mm256_undefined_pd() {
|
||||
// CHECK-LABEL: @test_mm256_undefined_pd
|
||||
// CHECK-LABEL: test_mm256_undefined_pd
|
||||
// CHECK: ret <4 x double> zeroinitializer
|
||||
return _mm256_undefined_pd();
|
||||
}
|
||||
|
||||
__m256i test_mm256_undefined_si256() {
|
||||
// CHECK-LABEL: @test_mm256_undefined_si256
|
||||
// CHECK-LABEL: test_mm256_undefined_si256
|
||||
// CHECK: ret <4 x i64> zeroinitializer
|
||||
return _mm256_undefined_si256();
|
||||
}
|
||||
|
@ -2150,21 +2150,21 @@ __m256i test_mm256_zextsi128_si256(__m128i A) {
|
|||
|
||||
double test_mm256_cvtsd_f64(__m256d __a)
|
||||
{
|
||||
// CHECK-LABEL: @test_mm256_cvtsd_f64
|
||||
// CHECK-LABEL: test_mm256_cvtsd_f64
|
||||
// CHECK: extractelement <4 x double> %{{.*}}, i32 0
|
||||
return _mm256_cvtsd_f64(__a);
|
||||
}
|
||||
|
||||
int test_mm256_cvtsi256_si32(__m256i __a)
|
||||
{
|
||||
// CHECK-LABEL: @test_mm256_cvtsi256_si32
|
||||
// CHECK-LABEL: test_mm256_cvtsi256_si32
|
||||
// CHECK: extractelement <8 x i32> %{{.*}}, i32 0
|
||||
return _mm256_cvtsi256_si32(__a);
|
||||
}
|
||||
|
||||
float test_mm256_cvtss_f32(__m256 __a)
|
||||
{
|
||||
// CHECK-LABEL: @test_mm256_cvtss_f32
|
||||
// CHECK-LABEL: test_mm256_cvtss_f32
|
||||
// CHECK: extractelement <8 x float> %{{.*}}, i32 0
|
||||
return _mm256_cvtss_f32(__a);
|
||||
}
|
||||
|
|
|
@ -5,67 +5,67 @@
|
|||
#include <immintrin.h>
|
||||
|
||||
//
|
||||
// Test LLVM IR codegen of shuffle instructions
|
||||
// Test LLVM IR codegen of shuffle instructions, checking if the masks are correct
|
||||
//
|
||||
|
||||
__m256 x(__m256 a, __m256 b) {
|
||||
// Check if the mask is correct
|
||||
// CHECK-LABEL: x
|
||||
// CHECK: shufflevector{{.*}}<i32 3, i32 2, i32 8, i32 11, i32 7, i32 6, i32 12, i32 15>
|
||||
return _mm256_shuffle_ps(a, b, 203);
|
||||
}
|
||||
|
||||
__m128d test_mm_permute_pd(__m128d a) {
|
||||
// Check if the mask is correct
|
||||
// CHECK-LABEL: test_mm_permute_pd
|
||||
// CHECK: shufflevector{{.*}}<i32 1, i32 0>
|
||||
return _mm_permute_pd(a, 1);
|
||||
}
|
||||
|
||||
__m256d test_mm256_permute_pd(__m256d a) {
|
||||
// Check if the mask is correct
|
||||
// CHECK-LABEL: test_mm256_permute_pd
|
||||
// CHECK: shufflevector{{.*}}<i32 1, i32 0, i32 3, i32 2>
|
||||
return _mm256_permute_pd(a, 5);
|
||||
}
|
||||
|
||||
__m128 test_mm_permute_ps(__m128 a) {
|
||||
// Check if the mask is correct
|
||||
// CHECK-LABEL: test_mm_permute_ps
|
||||
// CHECK: shufflevector{{.*}}<i32 3, i32 2, i32 1, i32 0>
|
||||
return _mm_permute_ps(a, 0x1b);
|
||||
}
|
||||
|
||||
// Test case for PR12401
|
||||
__m128 test_mm_permute_ps2(__m128 a) {
|
||||
// Check if the mask is correct
|
||||
// CHECK-LABEL: test_mm_permute_ps2
|
||||
// CHECK: shufflevector{{.*}}<i32 2, i32 1, i32 2, i32 3>
|
||||
return _mm_permute_ps(a, 0xe6);
|
||||
}
|
||||
|
||||
__m256 test_mm256_permute_ps(__m256 a) {
|
||||
// Check if the mask is correct
|
||||
// CHECK-LABEL: test_mm256_permute_ps
|
||||
// CHECK: shufflevector{{.*}}<i32 3, i32 2, i32 1, i32 0, i32 7, i32 6, i32 5, i32 4>
|
||||
return _mm256_permute_ps(a, 0x1b);
|
||||
}
|
||||
|
||||
__m256d test_mm256_permute2f128_pd(__m256d a, __m256d b) {
|
||||
// Check if the mask is correct
|
||||
// CHECK-LABEL: test_mm256_permute2f128_pd
|
||||
// CHECK: shufflevector{{.*}}<i32 2, i32 3, i32 6, i32 7>
|
||||
return _mm256_permute2f128_pd(a, b, 0x31);
|
||||
}
|
||||
|
||||
__m256 test_mm256_permute2f128_ps(__m256 a, __m256 b) {
|
||||
// Check if the mask is correct
|
||||
// CHECK-LABEL: test_mm256_permute2f128_ps
|
||||
// CHECK: shufflevector{{.*}}<i32 4, i32 5, i32 6, i32 7, i32 12, i32 13, i32 14, i32 15>
|
||||
return _mm256_permute2f128_ps(a, b, 0x13);
|
||||
}
|
||||
|
||||
__m256i test_mm256_permute2f128_si256(__m256i a, __m256i b) {
|
||||
// Check if the mask is correct
|
||||
// CHECK-LABEL: test_mm256_permute2f128_si256
|
||||
// CHECK: shufflevector{{.*}} <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11>
|
||||
return _mm256_permute2f128_si256(a, b, 0x20);
|
||||
}
|
||||
|
||||
__m128
|
||||
test_mm_broadcast_ss(float const *__a) {
|
||||
// CHECK-LABEL: @test_mm_broadcast_ss
|
||||
// CHECK-LABEL: test_mm_broadcast_ss
|
||||
// CHECK: insertelement <4 x float> {{.*}}, i32 0
|
||||
// CHECK: shufflevector <4 x float> {{.*}}, <4 x float> undef, <4 x i32> zeroinitializer
|
||||
return _mm_broadcast_ss(__a);
|
||||
|
@ -73,7 +73,7 @@ test_mm_broadcast_ss(float const *__a) {
|
|||
|
||||
__m256d
|
||||
test_mm256_broadcast_sd(double const *__a) {
|
||||
// CHECK-LABEL: @test_mm256_broadcast_sd
|
||||
// CHECK-LABEL: test_mm256_broadcast_sd
|
||||
// CHECK: insertelement <4 x double> {{.*}}, i32 0
|
||||
// CHECK: shufflevector <4 x double> {{.*}}, <4 x double> undef, <4 x i32> zeroinitializer
|
||||
return _mm256_broadcast_sd(__a);
|
||||
|
@ -81,7 +81,7 @@ test_mm256_broadcast_sd(double const *__a) {
|
|||
|
||||
__m256
|
||||
test_mm256_broadcast_ss(float const *__a) {
|
||||
// CHECK-LABEL: @test_mm256_broadcast_ss
|
||||
// CHECK-LABEL: test_mm256_broadcast_ss
|
||||
// CHECK: insertelement <8 x float> {{.*}}, i32 0
|
||||
// CHECK: shufflevector <8 x float> {{.*}}, <8 x float> undef, <8 x i32> zeroinitializer
|
||||
return _mm256_broadcast_ss(__a);
|
||||
|
@ -90,37 +90,37 @@ test_mm256_broadcast_ss(float const *__a) {
|
|||
// Make sure we have the correct mask for each insertf128 case.
|
||||
|
||||
__m256 test_mm256_insertf128_ps_0(__m256 a, __m128 b) {
|
||||
// CHECK-LABEL: @test_mm256_insertf128_ps_0
|
||||
// CHECK-LABEL: test_mm256_insertf128_ps_0
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3, i32 12, i32 13, i32 14, i32 15>
|
||||
return _mm256_insertf128_ps(a, b, 0);
|
||||
}
|
||||
|
||||
__m256d test_mm256_insertf128_pd_0(__m256d a, __m128d b) {
|
||||
// CHECK-LABEL: @test_mm256_insertf128_pd_0
|
||||
// CHECK-LABEL: test_mm256_insertf128_pd_0
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 6, i32 7>
|
||||
return _mm256_insertf128_pd(a, b, 0);
|
||||
}
|
||||
|
||||
__m256i test_mm256_insertf128_si256_0(__m256i a, __m128i b) {
|
||||
// CHECK-LABEL: @test_mm256_insertf128_si256_0
|
||||
// CHECK-LABEL: test_mm256_insertf128_si256_0
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3, i32 12, i32 13, i32 14, i32 15>
|
||||
return _mm256_insertf128_si256(a, b, 0);
|
||||
}
|
||||
|
||||
__m256 test_mm256_insertf128_ps_1(__m256 a, __m128 b) {
|
||||
// CHECK-LABEL: @test_mm256_insertf128_ps_1
|
||||
// CHECK-LABEL: test_mm256_insertf128_ps_1
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11>
|
||||
return _mm256_insertf128_ps(a, b, 1);
|
||||
}
|
||||
|
||||
__m256d test_mm256_insertf128_pd_1(__m256d a, __m128d b) {
|
||||
// CHECK-LABEL: @test_mm256_insertf128_pd_1
|
||||
// CHECK-LABEL: test_mm256_insertf128_pd_1
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 4, i32 5>
|
||||
return _mm256_insertf128_pd(a, b, 1);
|
||||
}
|
||||
|
||||
__m256i test_mm256_insertf128_si256_1(__m256i a, __m128i b) {
|
||||
// CHECK-LABEL: @test_mm256_insertf128_si256_1
|
||||
// CHECK-LABEL: test_mm256_insertf128_si256_1
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11>
|
||||
return _mm256_insertf128_si256(a, b, 1);
|
||||
}
|
||||
|
@ -128,73 +128,73 @@ __m256i test_mm256_insertf128_si256_1(__m256i a, __m128i b) {
|
|||
// Make sure we have the correct mask for each extractf128 case.
|
||||
|
||||
__m128 test_mm256_extractf128_ps_0(__m256 a) {
|
||||
// CHECK-LABEL: @test_mm256_extractf128_ps_0
|
||||
// CHECK-LABEL: test_mm256_extractf128_ps_0
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3>
|
||||
return _mm256_extractf128_ps(a, 0);
|
||||
}
|
||||
|
||||
__m128d test_mm256_extractf128_pd_0(__m256d a) {
|
||||
// CHECK-LABEL: @test_mm256_extractf128_pd_0
|
||||
// CHECK-LABEL: test_mm256_extractf128_pd_0
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1>
|
||||
return _mm256_extractf128_pd(a, 0);
|
||||
}
|
||||
|
||||
__m128i test_mm256_extractf128_si256_0(__m256i a) {
|
||||
// CHECK-LABEL: @test_mm256_extractf128_si256_0
|
||||
// CHECK-LABEL: test_mm256_extractf128_si256_0
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3>
|
||||
return _mm256_extractf128_si256(a, 0);
|
||||
}
|
||||
|
||||
__m128 test_mm256_extractf128_ps_1(__m256 a) {
|
||||
// CHECK-LABEL: @test_mm256_extractf128_ps_1
|
||||
// CHECK-LABEL: test_mm256_extractf128_ps_1
|
||||
// CHECK: shufflevector{{.*}}<i32 4, i32 5, i32 6, i32 7>
|
||||
return _mm256_extractf128_ps(a, 1);
|
||||
}
|
||||
|
||||
__m128d test_mm256_extractf128_pd_1(__m256d a) {
|
||||
// CHECK-LABEL: @test_mm256_extractf128_pd_1
|
||||
// CHECK-LABEL: test_mm256_extractf128_pd_1
|
||||
// CHECK: shufflevector{{.*}}<i32 2, i32 3>
|
||||
return _mm256_extractf128_pd(a, 1);
|
||||
}
|
||||
|
||||
__m128i test_mm256_extractf128_si256_1(__m256i a) {
|
||||
// CHECK-LABEL: @test_mm256_extractf128_si256_1
|
||||
// CHECK-LABEL: test_mm256_extractf128_si256_1
|
||||
// CHECK: shufflevector{{.*}}<i32 4, i32 5, i32 6, i32 7>
|
||||
return _mm256_extractf128_si256(a, 1);
|
||||
}
|
||||
|
||||
__m256 test_mm256_set_m128(__m128 hi, __m128 lo) {
|
||||
// CHECK-LABEL: @test_mm256_set_m128
|
||||
// CHECK-LABEL: test_mm256_set_m128
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
|
||||
return _mm256_set_m128(hi, lo);
|
||||
}
|
||||
|
||||
__m256d test_mm256_set_m128d(__m128d hi, __m128d lo) {
|
||||
// CHECK-LABEL: @test_mm256_set_m128d
|
||||
// CHECK-LABEL: test_mm256_set_m128d
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3>
|
||||
return _mm256_set_m128d(hi, lo);
|
||||
}
|
||||
|
||||
__m256i test_mm256_set_m128i(__m128i hi, __m128i lo) {
|
||||
// CHECK-LABEL: @test_mm256_set_m128i
|
||||
// CHECK-LABEL: test_mm256_set_m128i
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3>
|
||||
return _mm256_set_m128i(hi, lo);
|
||||
}
|
||||
|
||||
__m256 test_mm256_setr_m128(__m128 hi, __m128 lo) {
|
||||
// CHECK-LABEL: @test_mm256_setr_m128
|
||||
// CHECK-LABEL: test_mm256_setr_m128
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
|
||||
return _mm256_setr_m128(lo, hi);
|
||||
}
|
||||
|
||||
__m256d test_mm256_setr_m128d(__m128d hi, __m128d lo) {
|
||||
// CHECK-LABEL: @test_mm256_setr_m128d
|
||||
// CHECK-LABEL: test_mm256_setr_m128d
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3>
|
||||
return _mm256_setr_m128d(lo, hi);
|
||||
}
|
||||
|
||||
__m256i test_mm256_setr_m128i(__m128i hi, __m128i lo) {
|
||||
// CHECK-LABEL: @test_mm256_setr_m128i
|
||||
// CHECK-LABEL: test_mm256_setr_m128i
|
||||
// CHECK: shufflevector{{.*}}<i32 0, i32 1, i32 2, i32 3>
|
||||
return _mm256_setr_m128i(lo, hi);
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include <immintrin.h>
|
||||
|
||||
__m128 test_mm_cmpeq_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpeq_ps
|
||||
// CHECK-LABEL: test_mm_cmpeq_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmp.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"oeq", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -13,7 +13,7 @@ __m128 test_mm_cmpeq_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpge_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpge_ps
|
||||
// CHECK-LABEL: test_mm_cmpge_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmps.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"ole", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -22,7 +22,7 @@ __m128 test_mm_cmpge_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpgt_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpgt_ps
|
||||
// CHECK-LABEL: test_mm_cmpgt_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmps.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"olt", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -31,7 +31,7 @@ __m128 test_mm_cmpgt_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmple_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmple_ps
|
||||
// CHECK-LABEL: test_mm_cmple_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmps.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"ole", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -40,7 +40,7 @@ __m128 test_mm_cmple_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmplt_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmplt_ps
|
||||
// CHECK-LABEL: test_mm_cmplt_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmps.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"olt", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -49,7 +49,7 @@ __m128 test_mm_cmplt_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpneq_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpneq_ps
|
||||
// CHECK-LABEL: test_mm_cmpneq_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmp.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"une", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -58,7 +58,7 @@ __m128 test_mm_cmpneq_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpnge_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpnge_ps
|
||||
// CHECK-LABEL: test_mm_cmpnge_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmps.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"ugt", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -67,7 +67,7 @@ __m128 test_mm_cmpnge_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpngt_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpngt_ps
|
||||
// CHECK-LABEL: test_mm_cmpngt_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmps.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"uge", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -76,7 +76,7 @@ __m128 test_mm_cmpngt_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpnle_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpnle_ps
|
||||
// CHECK-LABEL: test_mm_cmpnle_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmps.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"ugt", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -85,7 +85,7 @@ __m128 test_mm_cmpnle_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpnlt_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpnlt_ps
|
||||
// CHECK-LABEL: test_mm_cmpnlt_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmps.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"uge", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -94,7 +94,7 @@ __m128 test_mm_cmpnlt_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpord_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpord_ps
|
||||
// CHECK-LABEL: test_mm_cmpord_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmp.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"ord", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -103,7 +103,7 @@ __m128 test_mm_cmpord_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpunord_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpunord_ps
|
||||
// CHECK-LABEL: test_mm_cmpunord_ps
|
||||
// CHECK: [[CMP:%.*]] = call <4 x i1> @llvm.experimental.constrained.fcmp.v4f32(<4 x float> %{{.*}}, <4 x float> %{{.*}}, metadata !"uno", metadata !"fpexcept.strict")
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
|
|
@ -35,7 +35,7 @@ __m128 test_mm_andnot_ps(__m128 A, __m128 B) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpeq_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpeq_ps
|
||||
// CHECK-LABEL: test_mm_cmpeq_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp oeq <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -44,13 +44,13 @@ __m128 test_mm_cmpeq_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpeq_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpeq_ss
|
||||
// CHECK-LABEL: test_mm_cmpeq_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 0)
|
||||
return _mm_cmpeq_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmpge_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpge_ps
|
||||
// CHECK-LABEL: test_mm_cmpge_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp ole <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -59,14 +59,14 @@ __m128 test_mm_cmpge_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpge_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpge_ss
|
||||
// CHECK-LABEL: test_mm_cmpge_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 2)
|
||||
// CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 4, i32 1, i32 2, i32 3>
|
||||
return _mm_cmpge_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmpgt_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpgt_ps
|
||||
// CHECK-LABEL: test_mm_cmpgt_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp olt <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -75,14 +75,14 @@ __m128 test_mm_cmpgt_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpgt_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpgt_ss
|
||||
// CHECK-LABEL: test_mm_cmpgt_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 1)
|
||||
// CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 4, i32 1, i32 2, i32 3>
|
||||
return _mm_cmpgt_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmple_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmple_ps
|
||||
// CHECK-LABEL: test_mm_cmple_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp ole <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -91,13 +91,13 @@ __m128 test_mm_cmple_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmple_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmple_ss
|
||||
// CHECK-LABEL: test_mm_cmple_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 2)
|
||||
return _mm_cmple_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmplt_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmplt_ps
|
||||
// CHECK-LABEL: test_mm_cmplt_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp olt <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -106,13 +106,13 @@ __m128 test_mm_cmplt_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmplt_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmplt_ss
|
||||
// CHECK-LABEL: test_mm_cmplt_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 1)
|
||||
return _mm_cmplt_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmpneq_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpneq_ps
|
||||
// CHECK-LABEL: test_mm_cmpneq_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp une <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -121,13 +121,13 @@ __m128 test_mm_cmpneq_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpneq_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpneq_ss
|
||||
// CHECK-LABEL: test_mm_cmpneq_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 4)
|
||||
return _mm_cmpneq_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmpnge_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpnge_ps
|
||||
// CHECK-LABEL: test_mm_cmpnge_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp ugt <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -136,14 +136,14 @@ __m128 test_mm_cmpnge_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpnge_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpnge_ss
|
||||
// CHECK-LABEL: test_mm_cmpnge_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 6)
|
||||
// CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 4, i32 1, i32 2, i32 3>
|
||||
return _mm_cmpnge_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmpngt_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpngt_ps
|
||||
// CHECK-LABEL: test_mm_cmpngt_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp uge <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -152,14 +152,14 @@ __m128 test_mm_cmpngt_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpngt_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpngt_ss
|
||||
// CHECK-LABEL: test_mm_cmpngt_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 5)
|
||||
// CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <4 x i32> <i32 4, i32 1, i32 2, i32 3>
|
||||
return _mm_cmpngt_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmpnle_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpnle_ps
|
||||
// CHECK-LABEL: test_mm_cmpnle_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp ugt <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -168,13 +168,13 @@ __m128 test_mm_cmpnle_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpnle_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpnle_ss
|
||||
// CHECK-LABEL: test_mm_cmpnle_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 6)
|
||||
return _mm_cmpnle_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmpnlt_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpnlt_ps
|
||||
// CHECK-LABEL: test_mm_cmpnlt_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp uge <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -183,13 +183,13 @@ __m128 test_mm_cmpnlt_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpnlt_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpnlt_ss
|
||||
// CHECK-LABEL: test_mm_cmpnlt_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 5)
|
||||
return _mm_cmpnlt_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmpord_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpord_ps
|
||||
// CHECK-LABEL: test_mm_cmpord_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp ord <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -198,13 +198,13 @@ __m128 test_mm_cmpord_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpord_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpord_ss
|
||||
// CHECK-LABEL: test_mm_cmpord_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 7)
|
||||
return _mm_cmpord_ss(__a, __b);
|
||||
}
|
||||
|
||||
__m128 test_mm_cmpunord_ps(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpunord_ps
|
||||
// CHECK-LABEL: test_mm_cmpunord_ps
|
||||
// CHECK: [[CMP:%.*]] = fcmp uno <4 x float>
|
||||
// CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> [[CMP]] to <4 x i32>
|
||||
// CHECK-NEXT: [[BC:%.*]] = bitcast <4 x i32> [[SEXT]] to <4 x float>
|
||||
|
@ -213,7 +213,7 @@ __m128 test_mm_cmpunord_ps(__m128 __a, __m128 __b) {
|
|||
}
|
||||
|
||||
__m128 test_mm_cmpunord_ss(__m128 __a, __m128 __b) {
|
||||
// CHECK-LABEL: @test_mm_cmpunord_ss
|
||||
// CHECK-LABEL: test_mm_cmpunord_ss
|
||||
// CHECK: @llvm.x86.sse.cmp.ss(<4 x float> %{{.*}}, <4 x float> %{{.*}}, i8 3)
|
||||
return _mm_cmpunord_ss(__a, __b);
|
||||
}
|
||||
|
@ -651,8 +651,8 @@ __m128 test_mm_sqrt_ps(__m128 x) {
|
|||
return _mm_sqrt_ps(x);
|
||||
}
|
||||
|
||||
__m128 test_sqrt_ss(__m128 x) {
|
||||
// CHECK: define {{.*}} @test_sqrt_ss
|
||||
__m128 test_mm_sqrt_ss(__m128 x) {
|
||||
// CHECK-LABEL: test_mm_sqrt_ss
|
||||
// CHECK: extractelement <4 x float> {{.*}}, i64 0
|
||||
// CHECK: call float @llvm.sqrt.f32(float {{.*}})
|
||||
// CHECK: insertelement <4 x float> {{.*}}, float {{.*}}, i64 0
|
||||
|
@ -785,7 +785,7 @@ int test_mm_ucomineq_ss(__m128 A, __m128 B) {
|
|||
}
|
||||
|
||||
__m128 test_mm_undefined_ps() {
|
||||
// CHECK-LABEL: @test_mm_undefined_ps
|
||||
// CHECK-LABEL: test_mm_undefined_ps
|
||||
// CHECK: ret <4 x float> zeroinitializer
|
||||
return _mm_undefined_ps();
|
||||
}
|
||||
|
|
|
@ -1629,13 +1629,13 @@ int test_mm_ucomineq_sd(__m128d A, __m128d B) {
|
|||
}
|
||||
|
||||
__m128d test_mm_undefined_pd() {
|
||||
// CHECK-LABEL: @test_mm_undefined_pd
|
||||
// CHECK-LABEL: test_mm_undefined_pd
|
||||
// CHECK: ret <2 x double> zeroinitializer
|
||||
return _mm_undefined_pd();
|
||||
}
|
||||
|
||||
__m128i test_mm_undefined_si128() {
|
||||
// CHECK-LABEL: @test_mm_undefined_si128
|
||||
// CHECK-LABEL: test_mm_undefined_si128
|
||||
// CHECK: ret <2 x i64> zeroinitializer
|
||||
return _mm_undefined_si128();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue