@@ -181,7 +181,6 @@ define i2 @vmsk_sgt_v2i8(<2 x i8> %a, <2 x i8> %b) {
181181; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
182182; CHECK-NEXT: vilvl.w $vr0, $vr0, $vr0
183183; CHECK-NEXT: vslli.d $vr0, $vr0, 56
184- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 56
185184; CHECK-NEXT: vmskltz.d $vr0, $vr0
186185; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
187186; CHECK-NEXT: ret
@@ -197,7 +196,6 @@ define i2 @vmsk_sgt_v2i16(<2 x i16> %a, <2 x i16> %b) {
197196; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
198197; CHECK-NEXT: vilvl.w $vr0, $vr0, $vr0
199198; CHECK-NEXT: vslli.d $vr0, $vr0, 48
200- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 48
201199; CHECK-NEXT: vmskltz.d $vr0, $vr0
202200; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
203201; CHECK-NEXT: ret
@@ -212,7 +210,6 @@ define i2 @vmsk_sgt_v2i32(<2 x i32> %a, <2 x i32> %b) {
212210; CHECK-NEXT: vslt.w $vr0, $vr1, $vr0
213211; CHECK-NEXT: vshuf4i.w $vr0, $vr0, 16
214212; CHECK-NEXT: vslli.d $vr0, $vr0, 32
215- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 32
216213; CHECK-NEXT: vmskltz.d $vr0, $vr0
217214; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
218215; CHECK-NEXT: ret
@@ -252,7 +249,6 @@ define i4 @vmsk_sgt_v4i8(<4 x i8> %a, <4 x i8> %b) {
252249; CHECK-NEXT: vilvl.b $vr0, $vr0, $vr0
253250; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
254251; CHECK-NEXT: vslli.w $vr0, $vr0, 24
255- ; CHECK-NEXT: vsrai.w $vr0, $vr0, 24
256252; CHECK-NEXT: vmskltz.w $vr0, $vr0
257253; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
258254; CHECK-NEXT: ret
@@ -267,7 +263,6 @@ define i4 @vmsk_sgt_v4i16(<4 x i16> %a, <4 x i16> %b) {
267263; CHECK-NEXT: vslt.h $vr0, $vr1, $vr0
268264; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
269265; CHECK-NEXT: vslli.w $vr0, $vr0, 16
270- ; CHECK-NEXT: vsrai.w $vr0, $vr0, 16
271266; CHECK-NEXT: vmskltz.w $vr0, $vr0
272267; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
273268; CHECK-NEXT: ret
@@ -306,7 +301,6 @@ define i8 @vmsk_sgt_v8i8(<8 x i8> %a, <8 x i8> %b) {
306301; CHECK-NEXT: vslt.b $vr0, $vr1, $vr0
307302; CHECK-NEXT: vilvl.b $vr0, $vr0, $vr0
308303; CHECK-NEXT: vslli.h $vr0, $vr0, 8
309- ; CHECK-NEXT: vsrai.h $vr0, $vr0, 8
310304; CHECK-NEXT: vmskltz.h $vr0, $vr0
311305; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
312306; 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>
349343; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
350344; CHECK-NEXT: vilvl.w $vr0, $vr0, $vr0
351345; CHECK-NEXT: vslli.d $vr0, $vr0, 56
352- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 56
353346; CHECK-NEXT: vmskltz.d $vr0, $vr0
354347; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
355348; 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
369362; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
370363; CHECK-NEXT: vilvl.w $vr0, $vr0, $vr0
371364; CHECK-NEXT: vslli.d $vr0, $vr0, 48
372- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 48
373365; CHECK-NEXT: vmskltz.d $vr0, $vr0
374366; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
375367; 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
388380; CHECK-NEXT: vand.v $vr0, $vr0, $vr1
389381; CHECK-NEXT: vshuf4i.w $vr0, $vr0, 16
390382; CHECK-NEXT: vslli.d $vr0, $vr0, 32
391- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 32
392383; CHECK-NEXT: vmskltz.d $vr0, $vr0
393384; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
394385; 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>
440431; CHECK-NEXT: vilvl.b $vr0, $vr0, $vr0
441432; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
442433; CHECK-NEXT: vslli.w $vr0, $vr0, 24
443- ; CHECK-NEXT: vsrai.w $vr0, $vr0, 24
444434; CHECK-NEXT: vmskltz.w $vr0, $vr0
445435; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
446436; 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
459449; CHECK-NEXT: vand.v $vr0, $vr0, $vr1
460450; CHECK-NEXT: vilvl.h $vr0, $vr0, $vr0
461451; CHECK-NEXT: vslli.w $vr0, $vr0, 16
462- ; CHECK-NEXT: vsrai.w $vr0, $vr0, 16
463452; CHECK-NEXT: vmskltz.w $vr0, $vr0
464453; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
465454; 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>
510499; CHECK-NEXT: vand.v $vr0, $vr0, $vr1
511500; CHECK-NEXT: vilvl.b $vr0, $vr0, $vr0
512501; CHECK-NEXT: vslli.h $vr0, $vr0, 8
513- ; CHECK-NEXT: vsrai.h $vr0, $vr0, 8
514502; CHECK-NEXT: vmskltz.h $vr0, $vr0
515503; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
516504; CHECK-NEXT: ret
@@ -557,7 +545,6 @@ define i16 @vmsk_trunc_i8(<16 x i8> %a) {
557545; CHECK-LABEL: vmsk_trunc_i8:
558546; CHECK: # %bb.0:
559547; CHECK-NEXT: vslli.b $vr0, $vr0, 7
560- ; CHECK-NEXT: vsrai.b $vr0, $vr0, 7
561548; CHECK-NEXT: vmskltz.b $vr0, $vr0
562549; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
563550; CHECK-NEXT: ret
@@ -570,7 +557,6 @@ define i8 @vmsk_trunc_i16(<8 x i16> %a) {
570557; CHECK-LABEL: vmsk_trunc_i16:
571558; CHECK: # %bb.0:
572559; CHECK-NEXT: vslli.h $vr0, $vr0, 15
573- ; CHECK-NEXT: vsrai.h $vr0, $vr0, 15
574560; CHECK-NEXT: vmskltz.h $vr0, $vr0
575561; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
576562; CHECK-NEXT: ret
@@ -583,7 +569,6 @@ define i4 @vmsk_trunc_i32(<4 x i32> %a) {
583569; CHECK-LABEL: vmsk_trunc_i32:
584570; CHECK: # %bb.0:
585571; CHECK-NEXT: vslli.w $vr0, $vr0, 31
586- ; CHECK-NEXT: vsrai.w $vr0, $vr0, 31
587572; CHECK-NEXT: vmskltz.w $vr0, $vr0
588573; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
589574; CHECK-NEXT: ret
@@ -596,7 +581,6 @@ define i2 @vmsk_trunc_i64(<2 x i64> %a) {
596581; CHECK-LABEL: vmsk_trunc_i64:
597582; CHECK: # %bb.0:
598583; CHECK-NEXT: vslli.d $vr0, $vr0, 63
599- ; CHECK-NEXT: vsrai.d $vr0, $vr0, 63
600584; CHECK-NEXT: vmskltz.d $vr0, $vr0
601585; CHECK-NEXT: vpickve2gr.hu $a0, $vr0, 0
602586; CHECK-NEXT: ret
0 commit comments