diff options
| author | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2016-02-16 22:14:07 +0000 |
|---|---|---|
| committer | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2016-02-16 22:14:07 +0000 |
| commit | af60a429c92c2f7d1296908d241406f943301062 (patch) | |
| tree | ce9892be177989bd0eff6af50b047b7ffb82537b /llvm/test/CodeGen/X86/vector-blend.ll | |
| parent | 132fbf5476e161646a5a8bda6033810b6efb814f (diff) | |
| download | bcm5719-llvm-af60a429c92c2f7d1296908d241406f943301062.tar.gz bcm5719-llvm-af60a429c92c2f7d1296908d241406f943301062.zip | |
[X86] Generalize logic blend of (x, -x) combine to match (-x, x).
I suspect this is what let PR26110 lie dormant for so long.
llvm-svn: 261024
Diffstat (limited to 'llvm/test/CodeGen/X86/vector-blend.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/vector-blend.ll | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/llvm/test/CodeGen/X86/vector-blend.ll b/llvm/test/CodeGen/X86/vector-blend.ll index 9cb4a3bab56..6b96f662ded 100644 --- a/llvm/test/CodeGen/X86/vector-blend.ll +++ b/llvm/test/CodeGen/X86/vector-blend.ll @@ -1011,11 +1011,8 @@ define <4 x i32> @blend_neg_logic_v4i32_2(<4 x i32> %v, <4 x i32> %c) { ; SSE2-NEXT: psrld $31, %xmm1 ; SSE2-NEXT: pslld $31, %xmm1 ; SSE2-NEXT: psrad $31, %xmm1 -; SSE2-NEXT: pxor %xmm2, %xmm2 -; SSE2-NEXT: psubd %xmm0, %xmm2 -; SSE2-NEXT: pand %xmm1, %xmm0 -; SSE2-NEXT: pandn %xmm2, %xmm1 -; SSE2-NEXT: por %xmm1, %xmm0 +; SSE2-NEXT: pxor %xmm1, %xmm0 +; SSE2-NEXT: psubd %xmm1, %xmm0 ; SSE2-NEXT: retq ; ; SSSE3-LABEL: blend_neg_logic_v4i32_2: @@ -1023,11 +1020,8 @@ define <4 x i32> @blend_neg_logic_v4i32_2(<4 x i32> %v, <4 x i32> %c) { ; SSSE3-NEXT: psrld $31, %xmm1 ; SSSE3-NEXT: pslld $31, %xmm1 ; SSSE3-NEXT: psrad $31, %xmm1 -; SSSE3-NEXT: pxor %xmm2, %xmm2 -; SSSE3-NEXT: psubd %xmm0, %xmm2 -; SSSE3-NEXT: pand %xmm1, %xmm0 -; SSSE3-NEXT: pandn %xmm2, %xmm1 -; SSSE3-NEXT: por %xmm1, %xmm0 +; SSSE3-NEXT: pxor %xmm1, %xmm0 +; SSSE3-NEXT: psubd %xmm1, %xmm0 ; SSSE3-NEXT: retq ; ; SSE41-LABEL: blend_neg_logic_v4i32_2: |

