diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-11-29 22:27:25 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-11-29 22:27:25 +0000 |
commit | bde32d36bb4ebdeda66b432c04796905c65bc6f0 (patch) | |
tree | 24d5d03c18e96a540410aaa442b6fe080cc532e7 /llvm/test/CodeGen/X86/fast-isel-x86-64.ll | |
parent | fe96ee030743139063a8ba8eae5484a23e8d8dd3 (diff) | |
download | bcm5719-llvm-bde32d36bb4ebdeda66b432c04796905c65bc6f0.tar.gz bcm5719-llvm-bde32d36bb4ebdeda66b432c04796905c65bc6f0.zip |
Make X86::FsFLD0SS / FsFLD0SD real pseudo-instructions.
Like V_SET0, these instructions are expanded by ExpandPostRA to xorps /
vxorps so they can participate in execution domain swizzling.
This also makes the AVX variants redundant.
llvm-svn: 145440
Diffstat (limited to 'llvm/test/CodeGen/X86/fast-isel-x86-64.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/fast-isel-x86-64.ll | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/test/CodeGen/X86/fast-isel-x86-64.ll b/llvm/test/CodeGen/X86/fast-isel-x86-64.ll index 377fd116253..d8f4663c94e 100644 --- a/llvm/test/CodeGen/X86/fast-isel-x86-64.ll +++ b/llvm/test/CodeGen/X86/fast-isel-x86-64.ll @@ -225,18 +225,20 @@ if.else: ; preds = %entry ; CHECK-NEXT: je } -; Check that 0.0 is materialized using pxor +; Check that 0.0 is materialized using xorps define void @test18(float* %p1) { store float 0.0, float* %p1 ret void ; CHECK: test18: -; CHECK: pxor +; CHECK: xorps } + +; Without any type hints, doubles use the smaller xorps instead of xorpd. define void @test19(double* %p1) { store double 0.0, double* %p1 ret void ; CHECK: test19: -; CHECK: pxor +; CHECK: xorps } ; Check that we fast-isel sret @@ -252,12 +254,12 @@ entry: } declare void @test20sret(%struct.a* sret) -; Check that -0.0 is not materialized using pxor +; Check that -0.0 is not materialized using xor define void @test21(double* %p1) { store double -0.0, double* %p1 ret void ; CHECK: test21: -; CHECK-NOT: pxor +; CHECK-NOT: xor ; CHECK: movsd LCPI } |