@@ -2187,29 +2187,28 @@ define <16 x i8> @non_splat_minus_one_divisor_1(<16 x i8> %A) {
2187
2187
; SSE41-NEXT: pxor %xmm0, %xmm0
2188
2188
; SSE41-NEXT: pxor %xmm3, %xmm3
2189
2189
; SSE41-NEXT: pcmpgtb %xmm1, %xmm3
2190
- ; SSE41-NEXT: pmovzxbw {{.*#+}} xmm4 = xmm3[0],zero,xmm3[1],zero,xmm3[2],zero,xmm3[3],zero,xmm3[4],zero,xmm3[5],zero,xmm3[6],zero,xmm3[7],zero
2191
2190
; SSE41-NEXT: punpckhbw {{.*#+}} xmm3 = xmm3[8],xmm0[8],xmm3[9],xmm0[9],xmm3[10],xmm0[10],xmm3[11],xmm0[11],xmm3[12],xmm0[12],xmm3[13],xmm0[13],xmm3[14],xmm0[14],xmm3[15],xmm0[15]
2192
2191
; SSE41-NEXT: pmullw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm3 # [256,2,2,2,2,128,2,128]
2193
2192
; SSE41-NEXT: psrlw $8, %xmm3
2194
- ; SSE41-NEXT: paddw %xmm4, %xmm4
2195
- ; SSE41-NEXT: pmovsxbw %xmm1, %xmm2
2196
- ; SSE41-NEXT: pblendw {{.*#+}} xmm2 = xmm2[0,1],xmm4[2],xmm2[3,4,5],xmm4[6],xmm2[7]
2193
+ ; SSE41-NEXT: pmovsxbw %xmm1, %xmm0
2194
+ ; SSE41-NEXT: pmovzxbw {{.*#+}} xmm2 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[4],zero,xmm1[5],zero,xmm1[6],zero,xmm1[7],zero
2195
+ ; SSE41-NEXT: paddw %xmm2, %xmm2
2196
+ ; SSE41-NEXT: pblendw {{.*#+}} xmm2 = xmm0[0,1],xmm2[2],xmm0[3,4,5],xmm2[6],xmm0[7]
2197
2197
; SSE41-NEXT: psrlw $8, %xmm2
2198
2198
; SSE41-NEXT: packuswb %xmm3, %xmm2
2199
2199
; SSE41-NEXT: paddb %xmm1, %xmm2
2200
2200
; SSE41-NEXT: movdqa %xmm2, %xmm0
2201
2201
; SSE41-NEXT: punpckhbw {{.*#+}} xmm0 = xmm0[8],xmm2[8],xmm0[9],xmm2[9],xmm0[10],xmm2[10],xmm0[11],xmm2[11],xmm0[12],xmm2[12],xmm0[13],xmm2[13],xmm0[14],xmm2[14],xmm0[15],xmm2[15]
2202
2202
; SSE41-NEXT: psraw $8, %xmm0
2203
2203
; SSE41-NEXT: movdqa %xmm0, %xmm3
2204
- ; SSE41-NEXT: paddw %xmm0, %xmm3
2205
- ; SSE41-NEXT: psllw $7, %xmm0
2206
- ; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3,4],xmm3[5],xmm0[6],xmm3[7]
2207
- ; SSE41-NEXT: psrlw $8, %xmm0
2204
+ ; SSE41-NEXT: psllw $7, %xmm3
2205
+ ; SSE41-NEXT: pblendw {{.*#+}} xmm3 = xmm3[0,1,2,3,4],xmm0[5],xmm3[6],xmm0[7]
2206
+ ; SSE41-NEXT: psrlw $8, %xmm3
2208
2207
; SSE41-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
2209
2208
; SSE41-NEXT: psraw $8, %xmm2
2210
2209
; SSE41-NEXT: psllw $7, %xmm2
2211
2210
; SSE41-NEXT: psrlw $8, %xmm2
2212
- ; SSE41-NEXT: packuswb %xmm0 , %xmm2
2211
+ ; SSE41-NEXT: packuswb %xmm3 , %xmm2
2213
2212
; SSE41-NEXT: movaps {{.*#+}} xmm0 = [0,0,255,0,0,0,255,0,0,255,255,255,255,255,255,255]
2214
2213
; SSE41-NEXT: pblendvb %xmm0, %xmm2, %xmm1
2215
2214
; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [255,255,0,255,255,255,0,255,255,0,0,0,0,255,0,255]
@@ -2225,18 +2224,17 @@ define <16 x i8> @non_splat_minus_one_divisor_1(<16 x i8> %A) {
2225
2224
; AVX1-NEXT: vpunpckhbw {{.*#+}} xmm1 = xmm2[8],xmm1[8],xmm2[9],xmm1[9],xmm2[10],xmm1[10],xmm2[11],xmm1[11],xmm2[12],xmm1[12],xmm2[13],xmm1[13],xmm2[14],xmm1[14],xmm2[15],xmm1[15]
2226
2225
; AVX1-NEXT: vpmullw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm1 # [256,2,2,2,2,128,2,128]
2227
2226
; AVX1-NEXT: vpsrlw $8, %xmm1, %xmm1
2228
- ; AVX1-NEXT: vpmovzxbw {{.*#+}} xmm2 = xmm2[0],zero,xmm2[1],zero,xmm2[2],zero,xmm2[3],zero,xmm2[4],zero,xmm2[5],zero,xmm2[6],zero,xmm2[7],zero
2229
- ; AVX1-NEXT: vpaddw %xmm2, %xmm2, %xmm2
2230
- ; AVX1-NEXT: vpmovsxbw %xmm0 , %xmm3
2231
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm3 [0,1],xmm2 [2],xmm3 [3,4,5],xmm2 [6],xmm3 [7]
2227
+ ; AVX1-NEXT: vpmovsxbw %xmm0, % xmm2
2228
+ ; AVX1-NEXT: vpmovzxbw {{.*#+}} xmm3 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
2229
+ ; AVX1-NEXT: vpaddw %xmm3, %xmm3 , %xmm3
2230
+ ; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm2 [0,1],xmm3 [2],xmm2 [3,4,5],xmm3 [6],xmm2 [7]
2232
2231
; AVX1-NEXT: vpsrlw $8, %xmm2, %xmm2
2233
2232
; AVX1-NEXT: vpackuswb %xmm1, %xmm2, %xmm1
2234
2233
; AVX1-NEXT: vpaddb %xmm1, %xmm0, %xmm1
2235
2234
; AVX1-NEXT: vpunpckhbw {{.*#+}} xmm2 = xmm1[8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15]
2236
2235
; AVX1-NEXT: vpsraw $8, %xmm2, %xmm2
2237
- ; AVX1-NEXT: vpaddw %xmm2, %xmm2, %xmm3
2238
- ; AVX1-NEXT: vpsllw $7, %xmm2, %xmm2
2239
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm2[0,1,2,3,4],xmm3[5],xmm2[6],xmm3[7]
2236
+ ; AVX1-NEXT: vpsllw $7, %xmm2, %xmm3
2237
+ ; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm3[0,1,2,3,4],xmm2[5],xmm3[6],xmm2[7]
2240
2238
; AVX1-NEXT: vpsrlw $8, %xmm2, %xmm2
2241
2239
; AVX1-NEXT: vpunpcklbw {{.*#+}} xmm1 = xmm1[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
2242
2240
; AVX1-NEXT: vpsraw $8, %xmm1, %xmm1
0 commit comments