Skip to content

Commit e6c8853

Browse files
committed
[AArch64] [test] Make unwind info tests actually use the right instructions
This makes them match the expected decoding of the unwind info opcodes, avoiding mismatch indications from "dumpbin -unwindinfo".
1 parent 59b36f9 commit e6c8853

File tree

3 files changed

+22
-22
lines changed

3 files changed

+22
-22
lines changed

llvm/test/MC/AArch64/seh-large-func-multi-epilog.s

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ multi_epilog:
198198
.seh_save_regp x25, 192
199199
stp x27, x28, [sp, #176]
200200
.seh_save_regp x27, 176
201-
mov x29, fp
201+
mov x29, sp
202202
.seh_set_fp
203203
.seh_endprologue
204204
.rept 30
@@ -210,13 +210,13 @@ multi_epilog:
210210
.seh_startepilogue
211211
mov sp, x29
212212
.seh_set_fp
213-
stp x27, x28, [sp, #176]
213+
ldp x27, x28, [sp, #176]
214214
.seh_save_regp x27, 176
215-
stp x25, x26, [sp, #192]
215+
ldp x25, x26, [sp, #192]
216216
.seh_save_regp x25, 192
217-
stp x23, x24, [sp, #208]
217+
ldp x23, x24, [sp, #208]
218218
.seh_save_regp x23, 208
219-
stp x21, x22, [sp, #224]
219+
ldp x21, x22, [sp, #224]
220220
.seh_save_regp x21, 224
221221
ldp x19, x20, [sp, #240]
222222
.seh_save_regp x19, 240
@@ -226,11 +226,11 @@ multi_epilog:
226226
ret
227227
// epilog2 - a subsequence at the end of prolog, can use prolog's opcodes.
228228
.seh_startepilogue
229-
stp x25, x26, [sp, #192]
229+
ldp x25, x26, [sp, #192]
230230
.seh_save_regp x25, 192
231-
stp x23, x24, [sp, #208]
231+
ldp x23, x24, [sp, #208]
232232
.seh_save_regp x23, 208
233-
stp x21, x22, [sp, #224]
233+
ldp x21, x22, [sp, #224]
234234
.seh_save_regp x21, 224
235235
ldp x19, x20, [sp, #240]
236236
.seh_save_regp x19, 240
@@ -242,9 +242,9 @@ multi_epilog:
242242
.seh_startepilogue
243243
mov sp, x29
244244
.seh_set_fp
245-
stp x23, x24, [sp, #208]
245+
ldp x23, x24, [sp, #208]
246246
.seh_save_regp x23, 208
247-
stp x21, x22, [sp, #224]
247+
ldp x21, x22, [sp, #224]
248248
.seh_save_regp x21, 224
249249
ldp x19, x20, [sp, #240]
250250
.seh_save_regp x19, 240
@@ -261,13 +261,13 @@ multi_epilog:
261261
.seh_startepilogue
262262
mov sp, x29
263263
.seh_set_fp
264-
stp x27, x28, [sp, #176]
264+
ldp x27, x28, [sp, #176]
265265
.seh_save_regp x27, 176
266-
stp x25, x26, [sp, #192]
266+
ldp x25, x26, [sp, #192]
267267
.seh_save_regp x25, 192
268-
stp x23, x24, [sp, #208]
268+
ldp x23, x24, [sp, #208]
269269
.seh_save_regp x23, 208
270-
stp x21, x22, [sp, #224]
270+
ldp x21, x22, [sp, #224]
271271
.seh_save_regp x21, 224
272272
ldp x19, x20, [sp, #240]
273273
.seh_save_regp x19, 240
@@ -277,11 +277,11 @@ multi_epilog:
277277
ret
278278
// epilog5 - same as epilog2, its start index should be: 1 + epilog2's index.
279279
.seh_startepilogue
280-
stp x25, x26, [sp, #192]
280+
ldp x25, x26, [sp, #192]
281281
.seh_save_regp x25, 192
282-
stp x23, x24, [sp, #208]
282+
ldp x23, x24, [sp, #208]
283283
.seh_save_regp x23, 208
284-
stp x21, x22, [sp, #224]
284+
ldp x21, x22, [sp, #224]
285285
.seh_save_regp x21, 224
286286
ldp x19, x20, [sp, #240]
287287
.seh_save_regp x19, 240
@@ -294,9 +294,9 @@ multi_epilog:
294294
.seh_startepilogue
295295
mov sp, x29
296296
.seh_set_fp
297-
stp x23, x24, [sp, #208]
297+
ldp x23, x24, [sp, #208]
298298
.seh_save_regp x23, 208
299-
stp x21, x22, [sp, #224]
299+
ldp x21, x22, [sp, #224]
300300
.seh_save_regp x21, 224
301301
ldp x19, x20, [sp, #240]
302302
.seh_save_regp x19, 240

llvm/test/MC/AArch64/seh-packed-epilog.s

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ func:
126126
.seh_set_fp
127127
ldp x29, x30, [sp, #16]
128128
.seh_save_fplr 16
129-
ldp x29, x30, [sp, #-48]!
129+
ldp x29, x30, [sp], #48
130130
.seh_save_fplr_x 48
131131
ldp x21, x22, [sp, #16]
132132
.seh_save_next

llvm/test/MC/AArch64/seh-packed-unwind.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -814,7 +814,7 @@ nonpacked1:
814814
// Can't be packed; can't save integer registers after float registers.
815815
stp d8, d9, [sp, #-32]!
816816
.seh_save_fregp_x d8, 32
817-
stp x19, x20, [sp, #16]!
817+
stp x19, x20, [sp, #16]
818818
.seh_save_regp x19, 16
819819
.seh_endprologue
820820
nop
@@ -932,7 +932,7 @@ nonpacked6:
932932
.seh_startepilogue
933933
mov sp, x29
934934
.seh_set_fp
935-
ldp x29, lr, [sp], #32
935+
ldp x29, lr, [sp], #16
936936
.seh_save_fplr_x 16
937937
ldr lr, [sp, #16]
938938
.seh_save_reg lr, 16

0 commit comments

Comments
 (0)