@@ -181,7 +181,6 @@ define i2 @vmsk_sgt_v2i8(<2 x i8> %a, <2 x i8> %b) {
181
181
; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
182
182
; CHECK-NEXT: vilvl.w $vr0, $vr0, $vr0
183
183
; CHECK-NEXT: vslli.d $vr0, $vr0, 56
184
- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 56
185
184
; CHECK-NEXT: vmskltz.d $vr0, $vr0
186
185
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
187
186
; CHECK-NEXT: ret
@@ -197,7 +196,6 @@ define i2 @vmsk_sgt_v2i16(<2 x i16> %a, <2 x i16> %b) {
197
196
; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
198
197
; CHECK-NEXT: vilvl.w $vr0, $vr0, $vr0
199
198
; CHECK-NEXT: vslli.d $vr0, $vr0, 48
200
- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 48
201
199
; CHECK-NEXT: vmskltz.d $vr0, $vr0
202
200
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
203
201
; CHECK-NEXT: ret
@@ -212,7 +210,6 @@ define i2 @vmsk_sgt_v2i32(<2 x i32> %a, <2 x i32> %b) {
212
210
; CHECK-NEXT: vslt.w $vr0, $vr1, $vr0
213
211
; CHECK-NEXT: vshuf4i.w $vr0, $vr0, 16
214
212
; CHECK-NEXT: vslli.d $vr0, $vr0, 32
215
- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 32
216
213
; CHECK-NEXT: vmskltz.d $vr0, $vr0
217
214
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
218
215
; CHECK-NEXT: ret
@@ -252,7 +249,6 @@ define i4 @vmsk_sgt_v4i8(<4 x i8> %a, <4 x i8> %b) {
252
249
; CHECK-NEXT: vilvl.b $vr0, $vr0, $vr0
253
250
; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
254
251
; CHECK-NEXT: vslli.w $vr0, $vr0, 24
255
- ; CHECK-NEXT: vsrai.w $vr0, $vr0, 24
256
252
; CHECK-NEXT: vmskltz.w $vr0, $vr0
257
253
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
258
254
; CHECK-NEXT: ret
@@ -267,7 +263,6 @@ define i4 @vmsk_sgt_v4i16(<4 x i16> %a, <4 x i16> %b) {
267
263
; CHECK-NEXT: vslt.h $vr0, $vr1, $vr0
268
264
; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
269
265
; CHECK-NEXT: vslli.w $vr0, $vr0, 16
270
- ; CHECK-NEXT: vsrai.w $vr0, $vr0, 16
271
266
; CHECK-NEXT: vmskltz.w $vr0, $vr0
272
267
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
273
268
; CHECK-NEXT: ret
@@ -306,7 +301,6 @@ define i8 @vmsk_sgt_v8i8(<8 x i8> %a, <8 x i8> %b) {
306
301
; CHECK-NEXT: vslt.b $vr0, $vr1, $vr0
307
302
; CHECK-NEXT: vilvl.b $vr0, $vr0, $vr0
308
303
; CHECK-NEXT: vslli.h $vr0, $vr0, 8
309
- ; CHECK-NEXT: vsrai.h $vr0, $vr0, 8
310
304
; CHECK-NEXT: vmskltz.h $vr0, $vr0
311
305
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
312
306
; CHECK-NEXT: ret
@@ -349,7 +343,6 @@ define i2 @vmsk_sgt_and_sgt_v2i8(<2 x i8> %a, <2 x i8> %b, <2 x i8> %c, <2 x i8>
349
343
; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
350
344
; CHECK-NEXT: vilvl.w $vr0, $vr0, $vr0
351
345
; CHECK-NEXT: vslli.d $vr0, $vr0, 56
352
- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 56
353
346
; CHECK-NEXT: vmskltz.d $vr0, $vr0
354
347
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
355
348
; CHECK-NEXT: ret
@@ -369,7 +362,6 @@ define i2 @vmsk_sgt_and_sgt_v2i16(<2 x i16> %a, <2 x i16> %b, <2 x i16> %c, <2 x
369
362
; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
370
363
; CHECK-NEXT: vilvl.w $vr0, $vr0, $vr0
371
364
; CHECK-NEXT: vslli.d $vr0, $vr0, 48
372
- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 48
373
365
; CHECK-NEXT: vmskltz.d $vr0, $vr0
374
366
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
375
367
; CHECK-NEXT: ret
@@ -388,7 +380,6 @@ define i2 @vmsk_sgt_and_sgt_v2i32(<2 x i32> %a, <2 x i32> %b, <2 x i32> %c, <2 x
388
380
; CHECK-NEXT: vand.v $vr0, $vr0, $vr1
389
381
; CHECK-NEXT: vshuf4i.w $vr0, $vr0, 16
390
382
; CHECK-NEXT: vslli.d $vr0, $vr0, 32
391
- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 32
392
383
; CHECK-NEXT: vmskltz.d $vr0, $vr0
393
384
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
394
385
; CHECK-NEXT: ret
@@ -440,7 +431,6 @@ define i4 @vmsk_sgt_and_sgt_v4i8(<4 x i8> %a, <4 x i8> %b, <4 x i8> %c, <4 x i8>
440
431
; CHECK-NEXT: vilvl.b $vr0, $vr0, $vr0
441
432
; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
442
433
; CHECK-NEXT: vslli.w $vr0, $vr0, 24
443
- ; CHECK-NEXT: vsrai.w $vr0, $vr0, 24
444
434
; CHECK-NEXT: vmskltz.w $vr0, $vr0
445
435
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
446
436
; CHECK-NEXT: ret
@@ -459,7 +449,6 @@ define i4 @vmsk_sgt_and_sgt_v4i16(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c, <4 x
459
449
; CHECK-NEXT: vand.v $vr0, $vr0, $vr1
460
450
; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
461
451
; CHECK-NEXT: vslli.w $vr0, $vr0, 16
462
- ; CHECK-NEXT: vsrai.w $vr0, $vr0, 16
463
452
; CHECK-NEXT: vmskltz.w $vr0, $vr0
464
453
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
465
454
; CHECK-NEXT: ret
@@ -510,7 +499,6 @@ define i8 @vmsk_sgt_and_sgt_v8i8(<8 x i8> %a, <8 x i8> %b, <8 x i8> %c, <8 x i8>
510
499
; CHECK-NEXT: vand.v $vr0, $vr0, $vr1
511
500
; CHECK-NEXT: vilvl.b $vr0, $vr0, $vr0
512
501
; CHECK-NEXT: vslli.h $vr0, $vr0, 8
513
- ; CHECK-NEXT: vsrai.h $vr0, $vr0, 8
514
502
; CHECK-NEXT: vmskltz.h $vr0, $vr0
515
503
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
516
504
; CHECK-NEXT: ret
@@ -557,7 +545,6 @@ define i16 @vmsk_trunc_i8(<16 x i8> %a) {
557
545
; CHECK-LABEL: vmsk_trunc_i8:
558
546
; CHECK: # %bb.0:
559
547
; CHECK-NEXT: vslli.b $vr0, $vr0, 7
560
- ; CHECK-NEXT: vsrai.b $vr0, $vr0, 7
561
548
; CHECK-NEXT: vmskltz.b $vr0, $vr0
562
549
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
563
550
; CHECK-NEXT: ret
@@ -570,7 +557,6 @@ define i8 @vmsk_trunc_i16(<8 x i16> %a) {
570
557
; CHECK-LABEL: vmsk_trunc_i16:
571
558
; CHECK: # %bb.0:
572
559
; CHECK-NEXT: vslli.h $vr0, $vr0, 15
573
- ; CHECK-NEXT: vsrai.h $vr0, $vr0, 15
574
560
; CHECK-NEXT: vmskltz.h $vr0, $vr0
575
561
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
576
562
; CHECK-NEXT: ret
@@ -583,7 +569,6 @@ define i4 @vmsk_trunc_i32(<4 x i32> %a) {
583
569
; CHECK-LABEL: vmsk_trunc_i32:
584
570
; CHECK: # %bb.0:
585
571
; CHECK-NEXT: vslli.w $vr0, $vr0, 31
586
- ; CHECK-NEXT: vsrai.w $vr0, $vr0, 31
587
572
; CHECK-NEXT: vmskltz.w $vr0, $vr0
588
573
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
589
574
; CHECK-NEXT: ret
@@ -596,7 +581,6 @@ define i2 @vmsk_trunc_i64(<2 x i64> %a) {
596
581
; CHECK-LABEL: vmsk_trunc_i64:
597
582
; CHECK: # %bb.0:
598
583
; CHECK-NEXT: vslli.d $vr0, $vr0, 63
599
- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 63
600
584
; CHECK-NEXT: vmskltz.d $vr0, $vr0
601
585
; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
602
586
; CHECK-NEXT: ret
0 commit comments