diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/subvector-broadcast.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/subvector-broadcast.ll | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/llvm/test/CodeGen/X86/subvector-broadcast.ll b/llvm/test/CodeGen/X86/subvector-broadcast.ll index bcb7d14f953..00cd4df0938 100644 --- a/llvm/test/CodeGen/X86/subvector-broadcast.ll +++ b/llvm/test/CodeGen/X86/subvector-broadcast.ll @@ -916,21 +916,22 @@ define void @fallback_broadcast_v4i64_to_v8i64(<4 x i64> %a, <8 x i64> %b) { ; X32-AVX1-LABEL: fallback_broadcast_v4i64_to_v8i64: ; X32-AVX1: # %bb.0: # %entry ; X32-AVX1-NEXT: vextractf128 $1, %ymm0, %xmm3 -; X32-AVX1-NEXT: vmovdqa {{.*#+}} ymm4 = [1,0,2,0,3,0,4,0] -; X32-AVX1-NEXT: vextractf128 $1, %ymm4, %xmm5 -; X32-AVX1-NEXT: vpaddq %xmm5, %xmm3, %xmm3 -; X32-AVX1-NEXT: vpaddq %xmm4, %xmm0, %xmm0 +; X32-AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [3,0,4,0] +; X32-AVX1-NEXT: vpaddq %xmm4, %xmm3, %xmm3 +; X32-AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [1,0,2,0] +; X32-AVX1-NEXT: vpaddq %xmm5, %xmm0, %xmm0 ; X32-AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm0, %ymm0 -; X32-AVX1-NEXT: vextractf128 $1, %ymm2, %xmm3 -; X32-AVX1-NEXT: vpaddq %xmm5, %xmm3, %xmm3 -; X32-AVX1-NEXT: vpaddq %xmm4, %xmm2, %xmm2 -; X32-AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm2 -; X32-AVX1-NEXT: vextractf128 $1, %ymm1, %xmm3 -; X32-AVX1-NEXT: vpaddq %xmm5, %xmm3, %xmm3 -; X32-AVX1-NEXT: vpaddq %xmm4, %xmm1, %xmm1 -; X32-AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm1 -; X32-AVX1-NEXT: vandps %ymm4, %ymm1, %ymm1 -; X32-AVX1-NEXT: vandps %ymm4, %ymm2, %ymm2 +; X32-AVX1-NEXT: vmovaps {{.*#+}} ymm3 = [1,0,2,0,3,0,4,0] +; X32-AVX1-NEXT: vextractf128 $1, %ymm2, %xmm6 +; X32-AVX1-NEXT: vpaddq %xmm4, %xmm6, %xmm6 +; X32-AVX1-NEXT: vpaddq %xmm5, %xmm2, %xmm2 +; X32-AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm2, %ymm2 +; X32-AVX1-NEXT: vextractf128 $1, %ymm1, %xmm6 +; X32-AVX1-NEXT: vpaddq %xmm4, %xmm6, %xmm4 +; X32-AVX1-NEXT: vpaddq %xmm5, %xmm1, %xmm1 +; X32-AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm1, %ymm1 +; X32-AVX1-NEXT: vandps %ymm3, %ymm1, %ymm1 +; X32-AVX1-NEXT: vandps %ymm3, %ymm2, %ymm2 ; X32-AVX1-NEXT: vmovups %ymm0, ga4 ; X32-AVX1-NEXT: vmovups %ymm2, gb4+32 ; X32-AVX1-NEXT: vmovups %ymm1, gb4 |

