@@ -59,20 +59,15 @@ define <vscale x 2 x i64> @or_and_nxv2i64_fold(<vscale x 2 x i64> %a0) {
59
59
define <vscale x 4 x i32 > @combine_vec_shl_shl (<vscale x 4 x i32 > %x ) {
60
60
; CHECK-LABEL: combine_vec_shl_shl:
61
61
; CHECK: # %bb.0:
62
- ; CHECK-NEXT: li a0, 2
63
- ; CHECK-NEXT: vsetvli a1, zero, e32, m2, ta, ma
64
- ; CHECK-NEXT: vmv.s.x v10, a0
65
- ; CHECK-NEXT: li a0, 4
66
- ; CHECK-NEXT: vmv.s.x v12, a0
67
- ; CHECK-NEXT: vsll.vv v8, v8, v10
68
- ; CHECK-NEXT: vsll.vv v8, v8, v12
62
+ ; CHECK-NEXT: vsetvli a0, zero, e32, m2, ta, ma
63
+ ; CHECK-NEXT: vsll.vi v8, v8, 6
69
64
; CHECK-NEXT: ret
70
65
%ins1 = insertelement <vscale x 4 x i32 > poison, i32 2 , i32 0
71
66
%splat1 = shufflevector <vscale x 4 x i32 > %ins1 , <vscale x 4 x i32 > poison, <vscale x 4 x i32 > zeroinitializer
72
67
%ins2 = insertelement <vscale x 4 x i32 > poison, i32 4 , i32 0
73
68
%splat2 = shufflevector <vscale x 4 x i32 > %ins2 , <vscale x 4 x i32 > poison, <vscale x 4 x i32 > zeroinitializer
74
- %v1 = shl <vscale x 4 x i32 > %x , %ins1
75
- %v2 = shl <vscale x 4 x i32 > %v1 , %ins2
69
+ %v1 = shl <vscale x 4 x i32 > %x , %splat1
70
+ %v2 = shl <vscale x 4 x i32 > %v1 , %splat2
76
71
ret <vscale x 4 x i32 > %v2
77
72
}
78
73
0 commit comments