@@ -155,28 +155,21 @@ define <16 x i16> @combine_pmaddubsw_concat(<16 x i8> %a0, <16 x i8> %a1, <16 x
155
155
ret <16 x i16 > %3
156
156
}
157
157
158
- ; TODO: Missing SimplifyDemandedVectorElts support
159
158
define <8 x i16 > @combine_pmaddubsw_demandedelts (<16 x i8 > %a0 , <16 x i8 > %a1 ) {
160
159
; SSE-LABEL: combine_pmaddubsw_demandedelts:
161
160
; SSE: # %bb.0:
162
- ; SSE-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,7,8,8,8,8,8,8,8,8]
163
- ; SSE-NEXT: pshufb {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,7,15,15,15,15,15,15,15,15]
164
161
; SSE-NEXT: pmaddubsw %xmm1, %xmm0
165
162
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
166
163
; SSE-NEXT: retq
167
164
;
168
165
; AVX1-LABEL: combine_pmaddubsw_demandedelts:
169
166
; AVX1: # %bb.0:
170
- ; AVX1-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,7,8,8,8,8,8,8,8,8]
171
- ; AVX1-NEXT: vpshufb {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,7,15,15,15,15,15,15,15,15]
172
167
; AVX1-NEXT: vpmaddubsw %xmm1, %xmm0, %xmm0
173
168
; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
174
169
; AVX1-NEXT: retq
175
170
;
176
171
; AVX2-LABEL: combine_pmaddubsw_demandedelts:
177
172
; AVX2: # %bb.0:
178
- ; AVX2-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,7,8,8,8,8,8,8,8,8]
179
- ; AVX2-NEXT: vpshufb {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6,7,15,15,15,15,15,15,15,15]
180
173
; AVX2-NEXT: vpmaddubsw %xmm1, %xmm0, %xmm0
181
174
; AVX2-NEXT: vpbroadcastd %xmm0, %xmm0
182
175
; AVX2-NEXT: retq
0 commit comments