summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/shrink_vmul.ll
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-02-15 17:41:33 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-02-15 17:41:33 +0000
commitda25d5c7b60aa32adc3e4175718aac5ac87cc0f7 (patch)
tree3d0f71f6490eddb2c45cac798488e8f1b2b14602 /llvm/test/CodeGen/X86/shrink_vmul.ll
parentf9e7b3caba516685a52137878170e36e7e0fda51 (diff)
downloadbcm5719-llvm-da25d5c7b60aa32adc3e4175718aac5ac87cc0f7.tar.gz
bcm5719-llvm-da25d5c7b60aa32adc3e4175718aac5ac87cc0f7.zip
[X86][SSE] Propagate undef upper elements from scalar_to_vector during shuffle combining
Only do this for integer types currently - floats types (in particular insertps) load folding often fails with this. llvm-svn: 295208
Diffstat (limited to 'llvm/test/CodeGen/X86/shrink_vmul.ll')
-rw-r--r--llvm/test/CodeGen/X86/shrink_vmul.ll4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/shrink_vmul.ll b/llvm/test/CodeGen/X86/shrink_vmul.ll
index d7e99afb2f5..930af226b95 100644
--- a/llvm/test/CodeGen/X86/shrink_vmul.ll
+++ b/llvm/test/CodeGen/X86/shrink_vmul.ll
@@ -449,7 +449,7 @@ define void @mul_2xi16_sext_zext(i8* nocapture readonly %a, i8* nocapture readon
; CHECK: # BB#0: # %entry
; CHECK-NEXT: movq {{.*}}(%rip), %rax
; CHECK-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; CHECK-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3]
+; CHECK-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,2,1,4,5,6,7]
; CHECK-NEXT: psrad $16, %xmm0
; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,3]
; CHECK-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
@@ -835,7 +835,7 @@ define void @mul_2xi16_varconst4(i8* nocapture readonly %a, i64 %index) {
; CHECK: # BB#0: # %entry
; CHECK-NEXT: movq {{.*}}(%rip), %rax
; CHECK-NEXT: movd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; CHECK-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3]
+; CHECK-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,2,1,4,5,6,7]
; CHECK-NEXT: psrad $16, %xmm0
; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,3]
; CHECK-NEXT: movl $32768, %ecx # imm = 0x8000
OpenPOWER on IntegriCloud