@@ -2094,14 +2094,14 @@ for.end: ; preds = %for.body.preheader,
2094
2094
define <16 x i32 > @pr52561 (<16 x i32 > %a , <16 x i32 > %b ) "min-legal-vector-width" ="256" "prefer-vector-width" ="256" nounwind {
2095
2095
; X64-LABEL: pr52561:
2096
2096
; X64: # %bb.0:
2097
- ; X64-NEXT: vpaddd %ymm3, %ymm1, %ymm1
2098
2097
; X64-NEXT: vpaddd %ymm2, %ymm0, %ymm0
2098
+ ; X64-NEXT: vpaddd %ymm3, %ymm1, %ymm1
2099
2099
; X64-NEXT: vpbroadcastd {{.*#+}} ymm2 = [112,112,112,112,112,112,112,112]
2100
- ; X64-NEXT: vpaddd %ymm2, %ymm0, %ymm0
2101
2100
; X64-NEXT: vpaddd %ymm2, %ymm1, %ymm1
2101
+ ; X64-NEXT: vpaddd %ymm2, %ymm0, %ymm0
2102
+ ; X64-NEXT: vmovd {{.*#+}} xmm2 = [65535,0,0,0,0,0,0,0]
2103
+ ; X64-NEXT: vpand %ymm2, %ymm0, %ymm0
2102
2104
; X64-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm1, %ymm1
2103
- ; X64-NEXT: vpxor %xmm2, %xmm2, %xmm2
2104
- ; X64-NEXT: vmovsh %xmm0, %xmm2, %xmm0
2105
2105
; X64-NEXT: retq
2106
2106
;
2107
2107
; X86-LABEL: pr52561:
@@ -2113,11 +2113,11 @@ define <16 x i32> @pr52561(<16 x i32> %a, <16 x i32> %b) "min-legal-vector-width
2113
2113
; X86-NEXT: vpaddd %ymm2, %ymm0, %ymm0
2114
2114
; X86-NEXT: vpaddd 8(%ebp), %ymm1, %ymm1
2115
2115
; X86-NEXT: vpbroadcastd {{.*#+}} ymm2 = [112,112,112,112,112,112,112,112]
2116
- ; X86-NEXT: vpaddd %ymm2, %ymm0, %ymm0
2117
2116
; X86-NEXT: vpaddd %ymm2, %ymm1, %ymm1
2117
+ ; X86-NEXT: vpaddd %ymm2, %ymm0, %ymm0
2118
+ ; X86-NEXT: vmovd {{.*#+}} xmm2 = [65535,0,0,0,0,0,0,0]
2119
+ ; X86-NEXT: vpand %ymm2, %ymm0, %ymm0
2118
2120
; X86-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}, %ymm1, %ymm1
2119
- ; X86-NEXT: vpxor %xmm2, %xmm2, %xmm2
2120
- ; X86-NEXT: vmovsh %xmm0, %xmm2, %xmm0
2121
2121
; X86-NEXT: movl %ebp, %esp
2122
2122
; X86-NEXT: popl %ebp
2123
2123
; X86-NEXT: retl
@@ -2139,9 +2139,9 @@ define <8 x i16> @pr59628_xmm(i16 %arg) {
2139
2139
; X86-LABEL: pr59628_xmm:
2140
2140
; X86: # %bb.0:
2141
2141
; X86-NEXT: movzwl {{[0-9]+}}(%esp), %eax
2142
- ; X86-NEXT: vxorps %xmm0, %xmm0, %xmm0
2142
+ ; X86-NEXT: vpxor %xmm0, %xmm0, %xmm0
2143
2143
; X86-NEXT: vpbroadcastw %eax, %xmm1
2144
- ; X86-NEXT: vmovsh %xmm1, % xmm0, % xmm0
2144
+ ; X86-NEXT: vpblendw {{.*#+}} xmm0 = xmm1[0], xmm0[1,2,3,4,5,6,7]
2145
2145
; X86-NEXT: vpcmpneqw {{\.?LCPI[0-9]+_[0-9]+}}, %xmm1, %k1
2146
2146
; X86-NEXT: vmovdqu16 %xmm0, %xmm0 {%k1} {z}
2147
2147
; X86-NEXT: retl
0 commit comments