@@ -64,13 +64,14 @@ body: |
6464
6565 ; CHECK-LABEL: name: test_ms1
6666 ; CHECK: liveins: $w1, $w2, $x0
67- ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
68- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
69- ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY $w2
70- ; CHECK: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY1]](s32)
71- ; CHECK: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY2]](s32)
72- ; CHECK: G_MEMSET [[COPY]](p0), [[TRUNC]](s8), [[ZEXT]](s64), 1 :: (store (s8) into %ir.dst)
73- ; CHECK: RET_ReallyLR
67+ ; CHECK-NEXT: {{ $}}
68+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
69+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
70+ ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $w2
71+ ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY1]](s32)
72+ ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY2]](s32)
73+ ; CHECK-NEXT: G_MEMSET [[COPY]](p0), [[TRUNC]](s8), [[ZEXT]](s64), 1 :: (store (s8) into %ir.dst)
74+ ; CHECK-NEXT: RET_ReallyLR
7475 %0:_(p0) = COPY $x0
7576 %1:_(s32) = COPY $w1
7677 %2:_(s32) = COPY $w2
@@ -90,17 +91,18 @@ body: |
9091
9192 ; CHECK-LABEL: name: test_ms2_const
9293 ; CHECK: liveins: $w1, $x0
93- ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
94- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
95- ; CHECK: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY1]](s32)
96- ; CHECK: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[TRUNC]](s8)
97- ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 72340172838076673
98- ; CHECK: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[ZEXT]], [[C]]
99- ; CHECK: G_STORE [[MUL]](s64), [[COPY]](p0) :: (store (s64) into %ir.dst, align 1)
100- ; CHECK: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
101- ; CHECK: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
102- ; CHECK: G_STORE [[MUL]](s64), [[PTR_ADD]](p0) :: (store (s64) into %ir.dst + 8, align 1)
103- ; CHECK: RET_ReallyLR
94+ ; CHECK-NEXT: {{ $}}
95+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
96+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
97+ ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY1]](s32)
98+ ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[TRUNC]](s8)
99+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 72340172838076673
100+ ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[ZEXT]], [[C]]
101+ ; CHECK-NEXT: G_STORE [[MUL]](s64), [[COPY]](p0) :: (store (s64) into %ir.dst, align 1)
102+ ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
103+ ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
104+ ; CHECK-NEXT: G_STORE [[MUL]](s64), [[PTR_ADD]](p0) :: (store (s64) into %ir.dst + 8, align 1)
105+ ; CHECK-NEXT: RET_ReallyLR
104106 %0:_(p0) = COPY $x0
105107 %1:_(s32) = COPY $w1
106108 %3:_(s64) = G_CONSTANT i64 16
@@ -119,20 +121,21 @@ body: |
119121
120122 ; CHECK-LABEL: name: test_zero_const
121123 ; CHECK: liveins: $w1, $x0
122- ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
123- ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0
124- ; CHECK: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s64>) = G_BUILD_VECTOR [[C]](s64), [[C]](s64)
125- ; CHECK: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[COPY]](p0) :: (store (<2 x s64>) into %ir.dst, align 1)
126- ; CHECK: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 16
127- ; CHECK: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
128- ; CHECK: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD]](p0) :: (store (<2 x s64>) into %ir.dst + 16, align 1)
129- ; CHECK: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 32
130- ; CHECK: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C2]](s64)
131- ; CHECK: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD1]](p0) :: (store (<2 x s64>) into %ir.dst + 32, align 1)
132- ; CHECK: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 48
133- ; CHECK: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C3]](s64)
134- ; CHECK: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD2]](p0) :: (store (<2 x s64>) into %ir.dst + 48, align 1)
135- ; CHECK: RET_ReallyLR
124+ ; CHECK-NEXT: {{ $}}
125+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
126+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0
127+ ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s64>) = G_BUILD_VECTOR [[C]](s64), [[C]](s64)
128+ ; CHECK-NEXT: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[COPY]](p0) :: (store (<2 x s64>) into %ir.dst, align 1)
129+ ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 16
130+ ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
131+ ; CHECK-NEXT: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD]](p0) :: (store (<2 x s64>) into %ir.dst + 16, align 1)
132+ ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 32
133+ ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C2]](s64)
134+ ; CHECK-NEXT: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD1]](p0) :: (store (<2 x s64>) into %ir.dst + 32, align 1)
135+ ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 48
136+ ; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C3]](s64)
137+ ; CHECK-NEXT: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD2]](p0) :: (store (<2 x s64>) into %ir.dst + 48, align 1)
138+ ; CHECK-NEXT: RET_ReallyLR
136139 %0:_(p0) = COPY $x0
137140 %1:_(s32) = G_CONSTANT i32 0
138141 %3:_(s64) = G_CONSTANT i64 64
@@ -152,13 +155,14 @@ body: |
152155
153156 ; CHECK-LABEL: name: test_ms3_const_both
154157 ; CHECK: liveins: $x0
155- ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
156- ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4629771061636907072
157- ; CHECK: G_STORE [[C]](s64), [[COPY]](p0) :: (store (s64) into %ir.dst, align 1)
158- ; CHECK: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
159- ; CHECK: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
160- ; CHECK: G_STORE [[C]](s64), [[PTR_ADD]](p0) :: (store (s64) into %ir.dst + 8, align 1)
161- ; CHECK: RET_ReallyLR
158+ ; CHECK-NEXT: {{ $}}
159+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
160+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4629771061636907072
161+ ; CHECK-NEXT: G_STORE [[C]](s64), [[COPY]](p0) :: (store (s64) into %ir.dst, align 1)
162+ ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
163+ ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
164+ ; CHECK-NEXT: G_STORE [[C]](s64), [[PTR_ADD]](p0) :: (store (s64) into %ir.dst + 8, align 1)
165+ ; CHECK-NEXT: RET_ReallyLR
162166 %0:_(p0) = COPY $x0
163167 %1:_(s8) = G_CONSTANT i8 64
164168 %2:_(s64) = G_CONSTANT i64 16
@@ -176,24 +180,25 @@ body: |
176180
177181 ; CHECK-LABEL: name: test_ms_vector
178182 ; CHECK: liveins: $w1, $x0
179- ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
180- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
181- ; CHECK: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY1]](s32)
182- ; CHECK: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[TRUNC]](s8)
183- ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 72340172838076673
184- ; CHECK: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[ZEXT]], [[C]]
185- ; CHECK: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s64>) = G_BUILD_VECTOR [[MUL]](s64), [[MUL]](s64)
186- ; CHECK: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[COPY]](p0) :: (store (<2 x s64>) into %ir.dst, align 1)
187- ; CHECK: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 16
188- ; CHECK: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
189- ; CHECK: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD]](p0) :: (store (<2 x s64>) into %ir.dst + 16, align 1)
190- ; CHECK: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 32
191- ; CHECK: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C2]](s64)
192- ; CHECK: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD1]](p0) :: (store (<2 x s64>) into %ir.dst + 32, align 1)
193- ; CHECK: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 44
194- ; CHECK: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C3]](s64)
195- ; CHECK: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD2]](p0) :: (store (<2 x s64>) into %ir.dst + 44, align 1)
196- ; CHECK: RET_ReallyLR
183+ ; CHECK-NEXT: {{ $}}
184+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
185+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
186+ ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY1]](s32)
187+ ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[TRUNC]](s8)
188+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 72340172838076673
189+ ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[ZEXT]], [[C]]
190+ ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<2 x s64>) = G_BUILD_VECTOR [[MUL]](s64), [[MUL]](s64)
191+ ; CHECK-NEXT: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[COPY]](p0) :: (store (<2 x s64>) into %ir.dst, align 1)
192+ ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 16
193+ ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
194+ ; CHECK-NEXT: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD]](p0) :: (store (<2 x s64>) into %ir.dst + 16, align 1)
195+ ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 32
196+ ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C2]](s64)
197+ ; CHECK-NEXT: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD1]](p0) :: (store (<2 x s64>) into %ir.dst + 32, align 1)
198+ ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 44
199+ ; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C3]](s64)
200+ ; CHECK-NEXT: G_STORE [[BUILD_VECTOR]](<2 x s64>), [[PTR_ADD2]](p0) :: (store (<2 x s64>) into %ir.dst + 44, align 1)
201+ ; CHECK-NEXT: RET_ReallyLR
197202 %0:_(p0) = COPY $x0
198203 %1:_(s32) = COPY $w1
199204 %3:_(s64) = G_CONSTANT i64 60
@@ -212,17 +217,18 @@ body: |
212217
213218 ; CHECK-LABEL: name: test_ms4_const_both_unaligned
214219 ; CHECK: liveins: $x0
215- ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
216- ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4629771061636907072
217- ; CHECK: G_STORE [[C]](s64), [[COPY]](p0) :: (store (s64) into %ir.dst, align 1)
218- ; CHECK: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
219- ; CHECK: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
220- ; CHECK: G_STORE [[C]](s64), [[PTR_ADD]](p0) :: (store (s64) into %ir.dst + 8, align 1)
221- ; CHECK: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[C]](s64)
222- ; CHECK: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 16
223- ; CHECK: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C2]](s64)
224- ; CHECK: G_STORE [[TRUNC]](s16), [[PTR_ADD1]](p0) :: (store (s16) into %ir.dst + 16, align 1)
225- ; CHECK: RET_ReallyLR
220+ ; CHECK-NEXT: {{ $}}
221+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
222+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4629771061636907072
223+ ; CHECK-NEXT: G_STORE [[C]](s64), [[COPY]](p0) :: (store (s64) into %ir.dst, align 1)
224+ ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
225+ ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
226+ ; CHECK-NEXT: G_STORE [[C]](s64), [[PTR_ADD]](p0) :: (store (s64) into %ir.dst + 8, align 1)
227+ ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[C]](s64)
228+ ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 16
229+ ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C2]](s64)
230+ ; CHECK-NEXT: G_STORE [[TRUNC]](s16), [[PTR_ADD1]](p0) :: (store (s16) into %ir.dst + 16, align 1)
231+ ; CHECK-NEXT: RET_ReallyLR
226232 %0:_(p0) = COPY $x0
227233 %1:_(s8) = G_CONSTANT i8 64
228234 %2:_(s64) = G_CONSTANT i64 18
@@ -239,17 +245,18 @@ body: |
239245 liveins: $w1, $x0
240246 ; CHECK-LABEL: name: minsize
241247 ; CHECK: liveins: $w1, $x0
242- ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
243- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
244- ; CHECK: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY1]](s32)
245- ; CHECK: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[TRUNC]](s8)
246- ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 72340172838076673
247- ; CHECK: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[ZEXT]], [[C]]
248- ; CHECK: G_STORE [[MUL]](s64), [[COPY]](p0) :: (store (s64) into %ir.dst, align 1)
249- ; CHECK: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
250- ; CHECK: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
251- ; CHECK: G_STORE [[MUL]](s64), [[PTR_ADD]](p0) :: (store (s64) into %ir.dst + 8, align 1)
252- ; CHECK: RET_ReallyLR
248+ ; CHECK-NEXT: {{ $}}
249+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0
250+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
251+ ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s8) = G_TRUNC [[COPY1]](s32)
252+ ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[TRUNC]](s8)
253+ ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 72340172838076673
254+ ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[ZEXT]], [[C]]
255+ ; CHECK-NEXT: G_STORE [[MUL]](s64), [[COPY]](p0) :: (store (s64) into %ir.dst, align 1)
256+ ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8
257+ ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C1]](s64)
258+ ; CHECK-NEXT: G_STORE [[MUL]](s64), [[PTR_ADD]](p0) :: (store (s64) into %ir.dst + 8, align 1)
259+ ; CHECK-NEXT: RET_ReallyLR
253260 %0:_(p0) = COPY $x0
254261 %1:_(s32) = COPY $w1
255262 %3:_(s64) = G_CONSTANT i64 16
0 commit comments