diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-09-04 17:16:01 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-09-04 17:16:01 +0000 |
commit | c228f5c195b819b48f36b479f2cda131ddc19377 (patch) | |
tree | f2f9e44adf7d65f9e5a9f1d61bb550fc6c0a498b | |
parent | 6c9bd7850778365291eb957bb553745b82990805 (diff) | |
download | bcm5719-llvm-c228f5c195b819b48f36b479f2cda131ddc19377.tar.gz bcm5719-llvm-c228f5c195b819b48f36b479f2cda131ddc19377.zip |
[X86][SSE] Regenerate fcmp/uitofp combine tests
llvm-svn: 280629
-rw-r--r-- | llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll b/llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll index 99b27efe7f5..26dd9d46641 100644 --- a/llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll +++ b/llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll @@ -7,10 +7,10 @@ define <4 x float> @foo(<4 x float> %val, <4 x float> %test) nounwind { ; CHECK-NEXT: .long 1065353216 ## 0x3f800000 ; CHECK-NEXT: .long 1065353216 ## 0x3f800000 ; CHECK-LABEL: foo: -; CHECK: cmpeqps %xmm1, %xmm0 -; CHECK-NEXT: andps LCPI0_0(%rip), %xmm0 -; CHECK-NEXT: retq - +; CHECK: ## BB#0: +; CHECK-NEXT: cmpeqps %xmm1, %xmm0 +; CHECK-NEXT: andps {{.*}}(%rip), %xmm0 +; CHECK-NEXT: retq %cmp = fcmp oeq <4 x float> %val, %test %ext = zext <4 x i1> %cmp to <4 x i32> %result = sitofp <4 x i32> %ext to <4 x float> @@ -27,8 +27,15 @@ define void @foo1(<4 x float> %val, <4 x float> %test, <4 x double>* %p) nounwin ; CHECK-NEXT: .long 1 ## 0x1 ; CHECK-NEXT: .long 1 ## 0x1 ; CHECK-LABEL: foo1: -; CHECK: cvtdq2pd -; CHECK: cvtdq2pd +; CHECK: ## BB#0: +; CHECK-NEXT: cmpeqps %xmm1, %xmm0 +; CHECK-NEXT: andps {{.*}}(%rip), %xmm0 +; CHECK-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,0,1] +; CHECK-NEXT: cvtdq2pd %xmm1, %xmm1 +; CHECK-NEXT: cvtdq2pd %xmm0, %xmm0 +; CHECK-NEXT: movaps %xmm0, (%rdi) +; CHECK-NEXT: movaps %xmm1, 16(%rdi) +; CHECK-NEXT: retq %cmp = fcmp oeq <4 x float> %val, %test %ext = zext <4 x i1> %cmp to <4 x i32> %result = sitofp <4 x i32> %ext to <4 x double> @@ -44,8 +51,10 @@ define void @foo2(<4 x float>* noalias %result) nounwind { ; CHECK-NEXT: .long 1086324736 ## float 6 ; CHECK-NEXT: .long 1088421888 ## float 7 ; CHECK-LABEL: foo2: -; CHECK: movaps LCPI2_0(%rip), %xmm0 - +; CHECK: ## BB#0: +; CHECK-NEXT: movaps {{.*#+}} xmm0 = [4.000000e+00,5.000000e+00,6.000000e+00,7.000000e+00] +; CHECK-NEXT: movaps %xmm0, (%rdi) +; CHECK-NEXT: retq %val = uitofp <4 x i32> <i32 4, i32 5, i32 6, i32 7> to <4 x float> store <4 x float> %val, <4 x float>* %result ret void @@ -60,8 +69,10 @@ define <4 x float> @foo3(<4 x float> %val, <4 x float> %test) nounwind { ; CHECK-NEXT: .long 1065353216 ## 0x3f800000 ; CHECK-NEXT: .long 0 ## 0x0 ; CHECK-LABEL: foo3: -; CHECK: cmpeqps %xmm1, %xmm0 -; CHECK-NEXT: andps LCPI3_0(%rip), %xmm0 +; CHECK: ## BB#0: +; CHECK-NEXT: cmpeqps %xmm1, %xmm0 +; CHECK-NEXT: andps {{.*}}(%rip), %xmm0 +; CHECK-NEXT: retq %cmp = fcmp oeq <4 x float> %val, %test %ext = zext <4 x i1> %cmp to <4 x i32> %and = and <4 x i32> %ext, <i32 255, i32 256, i32 257, i32 258> @@ -77,8 +88,10 @@ define void @foo4(<4 x float>* noalias %result) nounwind { ; CHECK-NEXT: .long 1124073472 ## float 128 ; CHECK-NEXT: .long 1132396544 ## float 255 ; CHECK-LABEL: foo4: -; CHECK: movaps LCPI4_0(%rip), %xmm0 - +; CHECK: ## BB#0: +; CHECK-NEXT: movaps {{.*#+}} xmm0 = [1.000000e+00,1.270000e+02,1.280000e+02,2.550000e+02] +; CHECK-NEXT: movaps %xmm0, (%rdi) +; CHECK-NEXT: retq %val = uitofp <4 x i8> <i8 1, i8 127, i8 -128, i8 -1> to <4 x float> store <4 x float> %val, <4 x float>* %result ret void |