move fp <- sp later

This commit is contained in:
Folkert 2023-09-16 12:31:37 +02:00
parent 8021f3809c
commit 63626fe808
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C

View file

@ -385,19 +385,6 @@ impl CallConv<AArch64GeneralReg, AArch64FloatReg, AArch64Assembler> for AArch64C
if let Some(aligned_stack_size) = full_stack_size.checked_add(offset as i32) {
if aligned_stack_size > 0 {
// // mov x29, sp
// AArch64Assembler::mov_reg64_reg64(
// buf,
// AArch64GeneralReg::FP,
// AArch64GeneralReg::ZRSP,
// );
AArch64Assembler::sub_reg64_reg64_imm32(
buf,
AArch64GeneralReg::FP,
AArch64GeneralReg::ZRSP,
0,
);
// sub sp, sp, #0x10
AArch64Assembler::sub_reg64_reg64_imm32(
buf,
@ -413,6 +400,12 @@ impl CallConv<AArch64GeneralReg, AArch64FloatReg, AArch64Assembler> for AArch64C
offset -= 8;
AArch64Assembler::mov_stack32_reg64(buf, offset, AArch64GeneralReg::FP);
AArch64Assembler::mov_reg64_reg64(
buf,
AArch64GeneralReg::FP,
AArch64GeneralReg::ZRSP,
);
offset = aligned_stack_size - fn_call_stack_size;
for reg in saved_general_regs {
offset -= 8;