@@ -596,23 +596,15 @@ define i4 @convert_to_bitmask_4xi8(<4 x i8> %vec) {
596
596
; CHECK-GI-NEXT: mov.b v1[3], w8
597
597
; CHECK-GI-NEXT: cmeq.8b v0, v0, v1
598
598
; CHECK-GI-NEXT: mvn.8b v0, v0
599
- ; CHECK-GI-NEXT: umov.b w8, v0[0]
600
- ; CHECK-GI-NEXT: umov.b w9, v0[1]
601
- ; CHECK-GI-NEXT: fmov s1, w8
602
- ; CHECK-GI-NEXT: umov.b w8, v0[2]
603
- ; CHECK-GI-NEXT: mov.s v1[1], w9
604
- ; CHECK-GI-NEXT: umov.b w9, v0[3]
605
- ; CHECK-GI-NEXT: mov.s v1[2], w8
606
- ; CHECK-GI-NEXT: mov.s v1[3], w9
607
- ; CHECK-GI-NEXT: mov.s w8, v1[1]
608
- ; CHECK-GI-NEXT: mov.s w9, v1[2]
609
- ; CHECK-GI-NEXT: fmov w11, s1
610
- ; CHECK-GI-NEXT: mov.s w10, v1[3]
599
+ ; CHECK-GI-NEXT: umov.b w8, v0[1]
600
+ ; CHECK-GI-NEXT: umov.b w9, v0[0]
601
+ ; CHECK-GI-NEXT: umov.b w10, v0[2]
602
+ ; CHECK-GI-NEXT: umov.b w11, v0[3]
611
603
; CHECK-GI-NEXT: and w8, w8, #0x1
612
- ; CHECK-GI-NEXT: bfi w11 , w8, #1, #31
613
- ; CHECK-GI-NEXT: and w8, w9 , #0x1
614
- ; CHECK-GI-NEXT: and w9, w10, #0x1
615
- ; CHECK-GI-NEXT: orr w8 , w11, w8, lsl #2
604
+ ; CHECK-GI-NEXT: bfi w9 , w8, #1, #31
605
+ ; CHECK-GI-NEXT: and w8, w10 , #0x1
606
+ ; CHECK-GI-NEXT: orr w8, w9, w8, lsl #2
607
+ ; CHECK-GI-NEXT: and w9 , w11, #0x1
616
608
; CHECK-GI-NEXT: orr w8, w8, w9, lsl #3
617
609
; CHECK-GI-NEXT: strb w8, [sp, #15]
618
610
; CHECK-GI-NEXT: and w0, w8, #0xff
@@ -871,28 +863,19 @@ define i6 @no_combine_illegal_num_elements(<6 x i32> %vec) {
871
863
; CHECK-GI-NEXT: cmtst.4s v1, v1, v1
872
864
; CHECK-GI-NEXT: mov.s w8, v1[1]
873
865
; CHECK-GI-NEXT: mov.s w9, v1[2]
866
+ ; CHECK-GI-NEXT: fmov w11, s1
874
867
; CHECK-GI-NEXT: mov.s w10, v1[3]
875
- ; CHECK-GI-NEXT: mov.h v1[1], w8
876
- ; CHECK-GI-NEXT: mov.s w8, v0[1]
877
- ; CHECK-GI-NEXT: mov.h v1[2], w9
878
- ; CHECK-GI-NEXT: mov.h v1[3], w10
879
- ; CHECK-GI-NEXT: mov.h v1[4], v0[0]
880
- ; CHECK-GI-NEXT: mov.h v1[5], w8
881
- ; CHECK-GI-NEXT: umov.h w8, v1[1]
882
- ; CHECK-GI-NEXT: umov.h w9, v1[0]
883
- ; CHECK-GI-NEXT: umov.h w10, v1[2]
884
- ; CHECK-GI-NEXT: umov.h w11, v1[3]
885
868
; CHECK-GI-NEXT: and w8, w8, #0x1
886
- ; CHECK-GI-NEXT: bfi w9, w8, #1, #31
887
- ; CHECK-GI-NEXT: and w8, w10, #0x1
888
- ; CHECK-GI-NEXT: umov.h w10, v1[4]
889
- ; CHECK-GI-NEXT: orr w8, w9, w8, lsl #2
890
- ; CHECK-GI-NEXT: and w9, w11, #0x1
891
- ; CHECK-GI-NEXT: umov.h w11, v1[5]
892
- ; CHECK-GI-NEXT: orr w8, w8, w9, lsl #3
869
+ ; CHECK-GI-NEXT: bfi w11, w8, #1, #31
870
+ ; CHECK-GI-NEXT: and w8, w9, #0x1
893
871
; CHECK-GI-NEXT: and w9, w10, #0x1
872
+ ; CHECK-GI-NEXT: mov.s w10, v0[1]
873
+ ; CHECK-GI-NEXT: orr w8, w11, w8, lsl #2
874
+ ; CHECK-GI-NEXT: orr w8, w8, w9, lsl #3
875
+ ; CHECK-GI-NEXT: fmov w9, s0
876
+ ; CHECK-GI-NEXT: and w9, w9, #0x1
894
877
; CHECK-GI-NEXT: orr w8, w8, w9, lsl #4
895
- ; CHECK-GI-NEXT: and w9, w11 , #0x1
878
+ ; CHECK-GI-NEXT: and w9, w10 , #0x1
896
879
; CHECK-GI-NEXT: orr w8, w8, w9, lsl #5
897
880
; CHECK-GI-NEXT: and w8, w8, #0x3f
898
881
; CHECK-GI-NEXT: strb w8, [sp, #15]
0 commit comments