diff options
| author | Craig Topper <craig.topper@intel.com> | 2017-10-08 01:33:41 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2017-10-08 01:33:41 +0000 |
| commit | 27170fee8dd8659da736ee22d0e5e368fb1d05fd (patch) | |
| tree | 714bbdcd876ee7290aad0fe8553739642e886fc9 /llvm/test | |
| parent | f7a19db649f06654465f6a6064c2b50a202ae88f (diff) | |
| download | bcm5719-llvm-27170fee8dd8659da736ee22d0e5e368fb1d05fd.tar.gz bcm5719-llvm-27170fee8dd8659da736ee22d0e5e368fb1d05fd.zip | |
[X86] If we see an insert of a bitcast into zero vector, canonicalize it to move the bitcast to the other side of the insert.
This improves detection of zeroing of upper bits during isel.
llvm-svn: 315161
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/X86/sad.ll | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/llvm/test/CodeGen/X86/sad.ll b/llvm/test/CodeGen/X86/sad.ll index e8a55215dc8..27a220e7cd6 100644 --- a/llvm/test/CodeGen/X86/sad.ll +++ b/llvm/test/CodeGen/X86/sad.ll @@ -43,7 +43,6 @@ define i32 @sad_16i8() nounwind { ; AVX2-NEXT: # =>This Inner Loop Header: Depth=1 ; AVX2-NEXT: vmovdqu a+1024(%rax), %xmm2 ; AVX2-NEXT: vpsadbw b+1024(%rax), %xmm2, %xmm2 -; AVX2-NEXT: vmovdqa %xmm2, %xmm2 ; AVX2-NEXT: vpaddd %ymm1, %ymm2, %ymm1 ; AVX2-NEXT: addq $4, %rax ; AVX2-NEXT: jne .LBB0_1 @@ -67,7 +66,6 @@ define i32 @sad_16i8() nounwind { ; AVX512F-NEXT: # =>This Inner Loop Header: Depth=1 ; AVX512F-NEXT: vmovdqu a+1024(%rax), %xmm1 ; AVX512F-NEXT: vpsadbw b+1024(%rax), %xmm1, %xmm1 -; AVX512F-NEXT: vmovdqa %xmm1, %xmm1 ; AVX512F-NEXT: vpaddd %zmm0, %zmm1, %zmm0 ; AVX512F-NEXT: addq $4, %rax ; AVX512F-NEXT: jne .LBB0_1 @@ -93,7 +91,6 @@ define i32 @sad_16i8() nounwind { ; AVX512BW-NEXT: # =>This Inner Loop Header: Depth=1 ; AVX512BW-NEXT: vmovdqu a+1024(%rax), %xmm1 ; AVX512BW-NEXT: vpsadbw b+1024(%rax), %xmm1, %xmm1 -; AVX512BW-NEXT: vmovdqa %xmm1, %xmm1 ; AVX512BW-NEXT: vpaddd %zmm0, %zmm1, %zmm0 ; AVX512BW-NEXT: addq $4, %rax ; AVX512BW-NEXT: jne .LBB0_1 @@ -315,7 +312,6 @@ define i32 @sad_32i8() nounwind { ; AVX512F-NEXT: # =>This Inner Loop Header: Depth=1 ; AVX512F-NEXT: vmovdqa a+1024(%rax), %ymm2 ; AVX512F-NEXT: vpsadbw b+1024(%rax), %ymm2, %ymm2 -; AVX512F-NEXT: vmovdqa %ymm2, %ymm2 ; AVX512F-NEXT: vpaddd %zmm1, %zmm2, %zmm1 ; AVX512F-NEXT: addq $4, %rax ; AVX512F-NEXT: jne .LBB1_1 @@ -343,7 +339,6 @@ define i32 @sad_32i8() nounwind { ; AVX512BW-NEXT: # =>This Inner Loop Header: Depth=1 ; AVX512BW-NEXT: vmovdqa a+1024(%rax), %ymm2 ; AVX512BW-NEXT: vpsadbw b+1024(%rax), %ymm2, %ymm2 -; AVX512BW-NEXT: vmovdqa %ymm2, %ymm2 ; AVX512BW-NEXT: vpaddd %zmm1, %zmm2, %zmm1 ; AVX512BW-NEXT: addq $4, %rax ; AVX512BW-NEXT: jne .LBB1_1 |

