@@ -142,147 +142,6 @@ entry:
142142 ret i32 %2
143143}
144144
145- define i32 @xmsk_eq_allones_i8 (<32 x i8 > %a ) {
146- ; CHECK-LABEL: xmsk_eq_allones_i8:
147- ; CHECK: # %bb.0: # %entry
148- ; CHECK-NEXT: addi.d $sp, $sp, -64
149- ; CHECK-NEXT: .cfi_def_cfa_offset 64
150- ; CHECK-NEXT: st.d $ra, $sp, 56 # 8-byte Folded Spill
151- ; CHECK-NEXT: st.d $fp, $sp, 48 # 8-byte Folded Spill
152- ; CHECK-NEXT: .cfi_offset 1, -8
153- ; CHECK-NEXT: .cfi_offset 22, -16
154- ; CHECK-NEXT: addi.d $fp, $sp, 64
155- ; CHECK-NEXT: .cfi_def_cfa 22, 0
156- ; CHECK-NEXT: bstrins.d $sp, $zero, 4, 0
157- ; CHECK-NEXT: xvseqi.b $xr0, $xr0, -1
158- ; CHECK-NEXT: xvst $xr0, $sp, 0
159- ; CHECK-NEXT: vpickve2gr.b $a0, $vr0, 0
160- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 1
161- ; CHECK-NEXT: andi $a1, $a1, 1
162- ; CHECK-NEXT: bstrins.d $a0, $a1, 63, 1
163- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 2
164- ; CHECK-NEXT: bstrins.d $a0, $a1, 2, 2
165- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 3
166- ; CHECK-NEXT: bstrins.d $a0, $a1, 3, 3
167- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 4
168- ; CHECK-NEXT: bstrins.d $a0, $a1, 4, 4
169- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 5
170- ; CHECK-NEXT: bstrins.d $a0, $a1, 5, 5
171- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 6
172- ; CHECK-NEXT: andi $a1, $a1, 1
173- ; CHECK-NEXT: slli.d $a1, $a1, 6
174- ; CHECK-NEXT: or $a0, $a0, $a1
175- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 7
176- ; CHECK-NEXT: andi $a1, $a1, 1
177- ; CHECK-NEXT: slli.d $a1, $a1, 7
178- ; CHECK-NEXT: or $a0, $a0, $a1
179- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 8
180- ; CHECK-NEXT: andi $a1, $a1, 1
181- ; CHECK-NEXT: slli.d $a1, $a1, 8
182- ; CHECK-NEXT: or $a0, $a0, $a1
183- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 9
184- ; CHECK-NEXT: andi $a1, $a1, 1
185- ; CHECK-NEXT: slli.d $a1, $a1, 9
186- ; CHECK-NEXT: or $a0, $a0, $a1
187- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 10
188- ; CHECK-NEXT: andi $a1, $a1, 1
189- ; CHECK-NEXT: slli.d $a1, $a1, 10
190- ; CHECK-NEXT: or $a0, $a0, $a1
191- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 11
192- ; CHECK-NEXT: andi $a1, $a1, 1
193- ; CHECK-NEXT: slli.d $a1, $a1, 11
194- ; CHECK-NEXT: or $a0, $a0, $a1
195- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 12
196- ; CHECK-NEXT: andi $a1, $a1, 1
197- ; CHECK-NEXT: slli.d $a1, $a1, 12
198- ; CHECK-NEXT: or $a0, $a0, $a1
199- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 13
200- ; CHECK-NEXT: andi $a1, $a1, 1
201- ; CHECK-NEXT: slli.d $a1, $a1, 13
202- ; CHECK-NEXT: or $a0, $a0, $a1
203- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 14
204- ; CHECK-NEXT: andi $a1, $a1, 1
205- ; CHECK-NEXT: slli.d $a1, $a1, 14
206- ; CHECK-NEXT: or $a0, $a0, $a1
207- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 15
208- ; CHECK-NEXT: andi $a1, $a1, 1
209- ; CHECK-NEXT: ld.bu $a2, $sp, 16
210- ; CHECK-NEXT: slli.d $a1, $a1, 15
211- ; CHECK-NEXT: or $a0, $a0, $a1
212- ; CHECK-NEXT: ld.bu $a1, $sp, 17
213- ; CHECK-NEXT: andi $a2, $a2, 1
214- ; CHECK-NEXT: slli.d $a2, $a2, 16
215- ; CHECK-NEXT: or $a0, $a0, $a2
216- ; CHECK-NEXT: andi $a1, $a1, 1
217- ; CHECK-NEXT: ld.bu $a2, $sp, 18
218- ; CHECK-NEXT: slli.d $a1, $a1, 17
219- ; CHECK-NEXT: or $a0, $a0, $a1
220- ; CHECK-NEXT: ld.bu $a1, $sp, 19
221- ; CHECK-NEXT: andi $a2, $a2, 1
222- ; CHECK-NEXT: slli.d $a2, $a2, 18
223- ; CHECK-NEXT: or $a0, $a0, $a2
224- ; CHECK-NEXT: andi $a1, $a1, 1
225- ; CHECK-NEXT: ld.bu $a2, $sp, 20
226- ; CHECK-NEXT: slli.d $a1, $a1, 19
227- ; CHECK-NEXT: or $a0, $a0, $a1
228- ; CHECK-NEXT: ld.bu $a1, $sp, 21
229- ; CHECK-NEXT: andi $a2, $a2, 1
230- ; CHECK-NEXT: slli.d $a2, $a2, 20
231- ; CHECK-NEXT: or $a0, $a0, $a2
232- ; CHECK-NEXT: andi $a1, $a1, 1
233- ; CHECK-NEXT: ld.bu $a2, $sp, 22
234- ; CHECK-NEXT: slli.d $a1, $a1, 21
235- ; CHECK-NEXT: or $a0, $a0, $a1
236- ; CHECK-NEXT: ld.bu $a1, $sp, 23
237- ; CHECK-NEXT: andi $a2, $a2, 1
238- ; CHECK-NEXT: slli.d $a2, $a2, 22
239- ; CHECK-NEXT: or $a0, $a0, $a2
240- ; CHECK-NEXT: andi $a1, $a1, 1
241- ; CHECK-NEXT: ld.bu $a2, $sp, 24
242- ; CHECK-NEXT: slli.d $a1, $a1, 23
243- ; CHECK-NEXT: or $a0, $a0, $a1
244- ; CHECK-NEXT: ld.bu $a1, $sp, 25
245- ; CHECK-NEXT: andi $a2, $a2, 1
246- ; CHECK-NEXT: slli.d $a2, $a2, 24
247- ; CHECK-NEXT: or $a0, $a0, $a2
248- ; CHECK-NEXT: andi $a1, $a1, 1
249- ; CHECK-NEXT: ld.bu $a2, $sp, 26
250- ; CHECK-NEXT: slli.d $a1, $a1, 25
251- ; CHECK-NEXT: or $a0, $a0, $a1
252- ; CHECK-NEXT: ld.bu $a1, $sp, 27
253- ; CHECK-NEXT: andi $a2, $a2, 1
254- ; CHECK-NEXT: slli.d $a2, $a2, 26
255- ; CHECK-NEXT: or $a0, $a0, $a2
256- ; CHECK-NEXT: andi $a1, $a1, 1
257- ; CHECK-NEXT: ld.bu $a2, $sp, 28
258- ; CHECK-NEXT: slli.d $a1, $a1, 27
259- ; CHECK-NEXT: or $a0, $a0, $a1
260- ; CHECK-NEXT: ld.bu $a1, $sp, 29
261- ; CHECK-NEXT: andi $a2, $a2, 1
262- ; CHECK-NEXT: slli.d $a2, $a2, 28
263- ; CHECK-NEXT: or $a0, $a0, $a2
264- ; CHECK-NEXT: andi $a1, $a1, 1
265- ; CHECK-NEXT: ld.bu $a2, $sp, 30
266- ; CHECK-NEXT: slli.d $a1, $a1, 29
267- ; CHECK-NEXT: or $a0, $a0, $a1
268- ; CHECK-NEXT: ld.b $a1, $sp, 31
269- ; CHECK-NEXT: andi $a2, $a2, 1
270- ; CHECK-NEXT: slli.d $a2, $a2, 30
271- ; CHECK-NEXT: or $a0, $a0, $a2
272- ; CHECK-NEXT: slli.d $a1, $a1, 31
273- ; CHECK-NEXT: or $a0, $a0, $a1
274- ; CHECK-NEXT: bstrpick.d $a0, $a0, 31, 0
275- ; CHECK-NEXT: addi.d $sp, $fp, -64
276- ; CHECK-NEXT: ld.d $fp, $sp, 48 # 8-byte Folded Reload
277- ; CHECK-NEXT: ld.d $ra, $sp, 56 # 8-byte Folded Reload
278- ; CHECK-NEXT: addi.d $sp, $sp, 64
279- ; CHECK-NEXT: ret
280- entry:
281- %1 = icmp eq <32 x i8 > %a , splat (i8 -1 )
282- %2 = bitcast <32 x i1 > %1 to i32
283- ret i32 %2
284- }
285-
286145define i32 @xmsk_sgt_allones_i8 (<32 x i8 > %a ) {
287146; CHECK-LABEL: xmsk_sgt_allones_i8:
288147; CHECK: # %bb.0: # %entry
@@ -1262,145 +1121,3 @@ entry:
12621121 %2 = bitcast <32 x i1 > %1 to i32
12631122 ret i32 %2
12641123}
1265-
1266- define i32 @xmsk_ne_allones_i8 (<32 x i8 > %a ) {
1267- ; CHECK-LABEL: xmsk_ne_allones_i8:
1268- ; CHECK: # %bb.0: # %entry
1269- ; CHECK-NEXT: addi.d $sp, $sp, -64
1270- ; CHECK-NEXT: .cfi_def_cfa_offset 64
1271- ; CHECK-NEXT: st.d $ra, $sp, 56 # 8-byte Folded Spill
1272- ; CHECK-NEXT: st.d $fp, $sp, 48 # 8-byte Folded Spill
1273- ; CHECK-NEXT: .cfi_offset 1, -8
1274- ; CHECK-NEXT: .cfi_offset 22, -16
1275- ; CHECK-NEXT: addi.d $fp, $sp, 64
1276- ; CHECK-NEXT: .cfi_def_cfa 22, 0
1277- ; CHECK-NEXT: bstrins.d $sp, $zero, 4, 0
1278- ; CHECK-NEXT: xvseqi.b $xr0, $xr0, -1
1279- ; CHECK-NEXT: xvxori.b $xr0, $xr0, 255
1280- ; CHECK-NEXT: xvst $xr0, $sp, 0
1281- ; CHECK-NEXT: vpickve2gr.b $a0, $vr0, 0
1282- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 1
1283- ; CHECK-NEXT: andi $a1, $a1, 1
1284- ; CHECK-NEXT: bstrins.d $a0, $a1, 63, 1
1285- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 2
1286- ; CHECK-NEXT: bstrins.d $a0, $a1, 2, 2
1287- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 3
1288- ; CHECK-NEXT: bstrins.d $a0, $a1, 3, 3
1289- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 4
1290- ; CHECK-NEXT: bstrins.d $a0, $a1, 4, 4
1291- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 5
1292- ; CHECK-NEXT: bstrins.d $a0, $a1, 5, 5
1293- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 6
1294- ; CHECK-NEXT: andi $a1, $a1, 1
1295- ; CHECK-NEXT: slli.d $a1, $a1, 6
1296- ; CHECK-NEXT: or $a0, $a0, $a1
1297- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 7
1298- ; CHECK-NEXT: andi $a1, $a1, 1
1299- ; CHECK-NEXT: slli.d $a1, $a1, 7
1300- ; CHECK-NEXT: or $a0, $a0, $a1
1301- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 8
1302- ; CHECK-NEXT: andi $a1, $a1, 1
1303- ; CHECK-NEXT: slli.d $a1, $a1, 8
1304- ; CHECK-NEXT: or $a0, $a0, $a1
1305- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 9
1306- ; CHECK-NEXT: andi $a1, $a1, 1
1307- ; CHECK-NEXT: slli.d $a1, $a1, 9
1308- ; CHECK-NEXT: or $a0, $a0, $a1
1309- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 10
1310- ; CHECK-NEXT: andi $a1, $a1, 1
1311- ; CHECK-NEXT: slli.d $a1, $a1, 10
1312- ; CHECK-NEXT: or $a0, $a0, $a1
1313- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 11
1314- ; CHECK-NEXT: andi $a1, $a1, 1
1315- ; CHECK-NEXT: slli.d $a1, $a1, 11
1316- ; CHECK-NEXT: or $a0, $a0, $a1
1317- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 12
1318- ; CHECK-NEXT: andi $a1, $a1, 1
1319- ; CHECK-NEXT: slli.d $a1, $a1, 12
1320- ; CHECK-NEXT: or $a0, $a0, $a1
1321- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 13
1322- ; CHECK-NEXT: andi $a1, $a1, 1
1323- ; CHECK-NEXT: slli.d $a1, $a1, 13
1324- ; CHECK-NEXT: or $a0, $a0, $a1
1325- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 14
1326- ; CHECK-NEXT: andi $a1, $a1, 1
1327- ; CHECK-NEXT: slli.d $a1, $a1, 14
1328- ; CHECK-NEXT: or $a0, $a0, $a1
1329- ; CHECK-NEXT: vpickve2gr.b $a1, $vr0, 15
1330- ; CHECK-NEXT: andi $a1, $a1, 1
1331- ; CHECK-NEXT: ld.bu $a2, $sp, 16
1332- ; CHECK-NEXT: slli.d $a1, $a1, 15
1333- ; CHECK-NEXT: or $a0, $a0, $a1
1334- ; CHECK-NEXT: ld.bu $a1, $sp, 17
1335- ; CHECK-NEXT: andi $a2, $a2, 1
1336- ; CHECK-NEXT: slli.d $a2, $a2, 16
1337- ; CHECK-NEXT: or $a0, $a0, $a2
1338- ; CHECK-NEXT: andi $a1, $a1, 1
1339- ; CHECK-NEXT: ld.bu $a2, $sp, 18
1340- ; CHECK-NEXT: slli.d $a1, $a1, 17
1341- ; CHECK-NEXT: or $a0, $a0, $a1
1342- ; CHECK-NEXT: ld.bu $a1, $sp, 19
1343- ; CHECK-NEXT: andi $a2, $a2, 1
1344- ; CHECK-NEXT: slli.d $a2, $a2, 18
1345- ; CHECK-NEXT: or $a0, $a0, $a2
1346- ; CHECK-NEXT: andi $a1, $a1, 1
1347- ; CHECK-NEXT: ld.bu $a2, $sp, 20
1348- ; CHECK-NEXT: slli.d $a1, $a1, 19
1349- ; CHECK-NEXT: or $a0, $a0, $a1
1350- ; CHECK-NEXT: ld.bu $a1, $sp, 21
1351- ; CHECK-NEXT: andi $a2, $a2, 1
1352- ; CHECK-NEXT: slli.d $a2, $a2, 20
1353- ; CHECK-NEXT: or $a0, $a0, $a2
1354- ; CHECK-NEXT: andi $a1, $a1, 1
1355- ; CHECK-NEXT: ld.bu $a2, $sp, 22
1356- ; CHECK-NEXT: slli.d $a1, $a1, 21
1357- ; CHECK-NEXT: or $a0, $a0, $a1
1358- ; CHECK-NEXT: ld.bu $a1, $sp, 23
1359- ; CHECK-NEXT: andi $a2, $a2, 1
1360- ; CHECK-NEXT: slli.d $a2, $a2, 22
1361- ; CHECK-NEXT: or $a0, $a0, $a2
1362- ; CHECK-NEXT: andi $a1, $a1, 1
1363- ; CHECK-NEXT: ld.bu $a2, $sp, 24
1364- ; CHECK-NEXT: slli.d $a1, $a1, 23
1365- ; CHECK-NEXT: or $a0, $a0, $a1
1366- ; CHECK-NEXT: ld.bu $a1, $sp, 25
1367- ; CHECK-NEXT: andi $a2, $a2, 1
1368- ; CHECK-NEXT: slli.d $a2, $a2, 24
1369- ; CHECK-NEXT: or $a0, $a0, $a2
1370- ; CHECK-NEXT: andi $a1, $a1, 1
1371- ; CHECK-NEXT: ld.bu $a2, $sp, 26
1372- ; CHECK-NEXT: slli.d $a1, $a1, 25
1373- ; CHECK-NEXT: or $a0, $a0, $a1
1374- ; CHECK-NEXT: ld.bu $a1, $sp, 27
1375- ; CHECK-NEXT: andi $a2, $a2, 1
1376- ; CHECK-NEXT: slli.d $a2, $a2, 26
1377- ; CHECK-NEXT: or $a0, $a0, $a2
1378- ; CHECK-NEXT: andi $a1, $a1, 1
1379- ; CHECK-NEXT: ld.bu $a2, $sp, 28
1380- ; CHECK-NEXT: slli.d $a1, $a1, 27
1381- ; CHECK-NEXT: or $a0, $a0, $a1
1382- ; CHECK-NEXT: ld.bu $a1, $sp, 29
1383- ; CHECK-NEXT: andi $a2, $a2, 1
1384- ; CHECK-NEXT: slli.d $a2, $a2, 28
1385- ; CHECK-NEXT: or $a0, $a0, $a2
1386- ; CHECK-NEXT: andi $a1, $a1, 1
1387- ; CHECK-NEXT: ld.bu $a2, $sp, 30
1388- ; CHECK-NEXT: slli.d $a1, $a1, 29
1389- ; CHECK-NEXT: or $a0, $a0, $a1
1390- ; CHECK-NEXT: ld.b $a1, $sp, 31
1391- ; CHECK-NEXT: andi $a2, $a2, 1
1392- ; CHECK-NEXT: slli.d $a2, $a2, 30
1393- ; CHECK-NEXT: or $a0, $a0, $a2
1394- ; CHECK-NEXT: slli.d $a1, $a1, 31
1395- ; CHECK-NEXT: or $a0, $a0, $a1
1396- ; CHECK-NEXT: bstrpick.d $a0, $a0, 31, 0
1397- ; CHECK-NEXT: addi.d $sp, $fp, -64
1398- ; CHECK-NEXT: ld.d $fp, $sp, 48 # 8-byte Folded Reload
1399- ; CHECK-NEXT: ld.d $ra, $sp, 56 # 8-byte Folded Reload
1400- ; CHECK-NEXT: addi.d $sp, $sp, 64
1401- ; CHECK-NEXT: ret
1402- entry:
1403- %1 = icmp ne <32 x i8 > %a , splat (i8 -1 )
1404- %2 = bitcast <32 x i1 > %1 to i32
1405- ret i32 %2
1406- }
0 commit comments