@@ -154,11 +154,9 @@ define <32 x i16> @fold_pmulh_512() {
154
154
155
155
define <8 x i16 > @elts_pmulh_128 (<8 x i16 > %a0 , <8 x i16 > %a1 ) {
156
156
; CHECK-LABEL: @elts_pmulh_128(
157
- ; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x i16> [[A0:%.*]], <8 x i16> poison, <8 x i32> <i32 0, i32 1, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2>
158
- ; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <8 x i16> [[A1:%.*]], <8 x i16> poison, <8 x i32> <i32 0, i32 1, i32 3, i32 2, i32 5, i32 4, i32 7, i32 6>
159
- ; CHECK-NEXT: [[TMP3:%.*]] = call <8 x i16> @llvm.x86.ssse3.pmul.hr.sw.128(<8 x i16> [[TMP1]], <8 x i16> [[TMP2]])
160
- ; CHECK-NEXT: [[TMP4:%.*]] = shufflevector <8 x i16> [[TMP3]], <8 x i16> poison, <8 x i32> zeroinitializer
161
- ; CHECK-NEXT: ret <8 x i16> [[TMP4]]
157
+ ; CHECK-NEXT: [[TMP1:%.*]] = call <8 x i16> @llvm.x86.ssse3.pmul.hr.sw.128(<8 x i16> [[A0:%.*]], <8 x i16> [[A1:%.*]])
158
+ ; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <8 x i16> [[TMP1]], <8 x i16> poison, <8 x i32> zeroinitializer
159
+ ; CHECK-NEXT: ret <8 x i16> [[TMP2]]
162
160
;
163
161
%1 = shufflevector <8 x i16 > %a0 , <8 x i16 > undef , <8 x i32 > <i32 0 , i32 1 , i32 7 , i32 6 , i32 5 , i32 4 , i32 3 , i32 2 >
164
162
%2 = shufflevector <8 x i16 > %a1 , <8 x i16 > undef , <8 x i32 > <i32 0 , i32 1 , i32 3 , i32 2 , i32 5 , i32 4 , i32 7 , i32 6 >
@@ -169,11 +167,9 @@ define <8 x i16> @elts_pmulh_128(<8 x i16> %a0, <8 x i16> %a1) {
169
167
170
168
define <16 x i16 > @elts_pmulh_256 (<16 x i16 > %a0 , <16 x i16 > %a1 ) {
171
169
; CHECK-LABEL: @elts_pmulh_256(
172
- ; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i16> [[A0:%.*]], <16 x i16> poison, <16 x i32> <i32 0, i32 1, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
173
- ; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <16 x i16> [[A1:%.*]], <16 x i16> poison, <16 x i32> <i32 0, i32 1, i32 3, i32 2, i32 5, i32 4, i32 7, i32 6, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
174
- ; CHECK-NEXT: [[TMP3:%.*]] = call <16 x i16> @llvm.x86.avx2.pmul.hr.sw(<16 x i16> [[TMP1]], <16 x i16> [[TMP2]])
175
- ; CHECK-NEXT: [[TMP4:%.*]] = shufflevector <16 x i16> [[TMP3]], <16 x i16> poison, <16 x i32> zeroinitializer
176
- ; CHECK-NEXT: ret <16 x i16> [[TMP4]]
170
+ ; CHECK-NEXT: [[TMP1:%.*]] = call <16 x i16> @llvm.x86.avx2.pmul.hr.sw(<16 x i16> [[A0:%.*]], <16 x i16> [[A1:%.*]])
171
+ ; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <16 x i16> [[TMP1]], <16 x i16> poison, <16 x i32> zeroinitializer
172
+ ; CHECK-NEXT: ret <16 x i16> [[TMP2]]
177
173
;
178
174
%1 = shufflevector <16 x i16 > %a0 , <16 x i16 > undef , <16 x i32 > <i32 0 , i32 1 , i32 7 , i32 6 , i32 5 , i32 4 , i32 3 , i32 2 , i32 8 , i32 9 , i32 10 , i32 11 , i32 12 , i32 13 , i32 14 , i32 15 >
179
175
%2 = shufflevector <16 x i16 > %a1 , <16 x i16 > undef , <16 x i32 > <i32 0 , i32 1 , i32 3 , i32 2 , i32 5 , i32 4 , i32 7 , i32 6 , i32 8 , i32 9 , i32 10 , i32 11 , i32 12 , i32 13 , i32 14 , i32 15 >
@@ -184,11 +180,9 @@ define <16 x i16> @elts_pmulh_256(<16 x i16> %a0, <16 x i16> %a1) {
184
180
185
181
define <32 x i16 > @elts_pmulh_512 (<32 x i16 > %a0 , <32 x i16 > %a1 ) {
186
182
; CHECK-LABEL: @elts_pmulh_512(
187
- ; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i16> [[A0:%.*]], <32 x i16> poison, <32 x i32> <i32 0, i32 1, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
188
- ; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <32 x i16> [[A1:%.*]], <32 x i16> poison, <32 x i32> <i32 0, i32 1, i32 3, i32 2, i32 5, i32 4, i32 7, i32 6, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
189
- ; CHECK-NEXT: [[TMP3:%.*]] = call <32 x i16> @llvm.x86.avx512.pmul.hr.sw.512(<32 x i16> [[TMP1]], <32 x i16> [[TMP2]])
190
- ; CHECK-NEXT: [[TMP4:%.*]] = shufflevector <32 x i16> [[TMP3]], <32 x i16> poison, <32 x i32> zeroinitializer
191
- ; CHECK-NEXT: ret <32 x i16> [[TMP4]]
183
+ ; CHECK-NEXT: [[TMP1:%.*]] = call <32 x i16> @llvm.x86.avx512.pmul.hr.sw.512(<32 x i16> [[A0:%.*]], <32 x i16> [[A1:%.*]])
184
+ ; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <32 x i16> [[TMP1]], <32 x i16> poison, <32 x i32> zeroinitializer
185
+ ; CHECK-NEXT: ret <32 x i16> [[TMP2]]
192
186
;
193
187
%1 = shufflevector <32 x i16 > %a0 , <32 x i16 > undef , <32 x i32 > <i32 0 , i32 1 , i32 7 , i32 6 , i32 5 , i32 4 , i32 3 , i32 2 , i32 8 , i32 9 , i32 10 , i32 11 , i32 12 , i32 13 , i32 14 , i32 15 , i32 16 , i32 17 , i32 18 , i32 19 , i32 20 , i32 21 , i32 22 , i32 23 , i32 24 , i32 25 , i32 26 , i32 27 , i32 28 , i32 29 , i32 30 , i32 31 >
194
188
%2 = shufflevector <32 x i16 > %a1 , <32 x i16 > undef , <32 x i32 > <i32 0 , i32 1 , i32 3 , i32 2 , i32 5 , i32 4 , i32 7 , i32 6 , i32 8 , i32 9 , i32 10 , i32 11 , i32 12 , i32 13 , i32 14 , i32 15 , i32 16 , i32 17 , i32 18 , i32 19 , i32 20 , i32 21 , i32 22 , i32 23 , i32 24 , i32 25 , i32 26 , i32 27 , i32 28 , i32 29 , i32 30 , i32 31 >
0 commit comments