@@ -81,10 +81,11 @@ define <8 x i32> @combine_pmaddwd_concat_freeze(<8 x i16> %a0, <8 x i16> %a1) {
81
81
;
82
82
; AVX2-LABEL: combine_pmaddwd_concat_freeze:
83
83
; AVX2: # %bb.0:
84
+ ; AVX2-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
84
85
; AVX2-NEXT: vpbroadcastw {{.*#+}} xmm2 = [1,1,1,1,1,1,1,1]
85
- ; AVX2-NEXT: vpmaddwd %xmm2, %xmm0, %xmm0
86
- ; AVX2-NEXT: vpmaddwd %xmm2, %xmm1, %xmm1
87
86
; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
87
+ ; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm2, %ymm1
88
+ ; AVX2-NEXT: vpmaddwd %ymm1, %ymm0, %ymm0
88
89
; AVX2-NEXT: retq
89
90
%lo = call <4 x i32 > @llvm.x86.sse2.pmadd.wd (<8 x i16 > %a0 , <8 x i16 > <i16 1 , i16 1 , i16 1 , i16 1 , i16 1 , i16 1 , i16 1 , i16 1 >)
90
91
%hi = call <4 x i32 > @llvm.x86.sse2.pmadd.wd (<8 x i16 > %a1 , <8 x i16 > <i16 1 , i16 1 , i16 1 , i16 1 , i16 1 , i16 1 , i16 1 , i16 1 >)
@@ -227,10 +228,11 @@ define <16 x i16> @combine_pmaddubsw_concat_freeze(<16 x i8> %a0, <16 x i8> %a1)
227
228
;
228
229
; AVX2-LABEL: combine_pmaddubsw_concat_freeze:
229
230
; AVX2: # %bb.0:
231
+ ; AVX2-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
230
232
; AVX2-NEXT: vpbroadcastb {{.*#+}} xmm2 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
231
- ; AVX2-NEXT: vpmaddubsw %xmm2, %xmm0, %xmm0
232
- ; AVX2-NEXT: vpmaddubsw %xmm2, %xmm1, %xmm1
233
233
; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
234
+ ; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm2, %ymm1
235
+ ; AVX2-NEXT: vpmaddubsw %ymm1, %ymm0, %ymm0
234
236
; AVX2-NEXT: retq
235
237
%lo = call <8 x i16 > @llvm.x86.ssse3.pmadd.ub.sw.128 (<16 x i8 > %a0 , <16 x i8 > <i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 >)
236
238
%hi = call <8 x i16 > @llvm.x86.ssse3.pmadd.ub.sw.128 (<16 x i8 > %a1 , <16 x i8 > <i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 , i8 1 >)
0 commit comments