From 47d23951104be6402acb8ca5ef3c9b2a1ed175d3 Mon Sep 17 00:00:00 2001 From: florian Date: Mon, 8 Jul 2024 21:53:39 +0200 Subject: [PATCH] * set operand size properly for STX* --- compiler/aarch64/cgcpu.pas | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/aarch64/cgcpu.pas b/compiler/aarch64/cgcpu.pas index 4c0ba7d9e4..31b4a635c2 100644 --- a/compiler/aarch64/cgcpu.pas +++ b/compiler/aarch64/cgcpu.pas @@ -1061,15 +1061,15 @@ implementation OS_8: list.concat(taicpu.op_reg_reg(A_UXTB,reg2,makeregsize(reg1,OS_64))); OS_S8: - list.concat(taicpu.op_reg_reg(A_SXTB,reg2,makeregsize(reg1,OS_64))); + list.concat(taicpu.op_reg_reg(A_SXTB,reg2,makeregsize(reg1,OS_32))); OS_16: list.concat(taicpu.op_reg_reg(A_UXTH,reg2,makeregsize(reg1,OS_64))); OS_S16: - list.concat(taicpu.op_reg_reg(A_SXTH,reg2,makeregsize(reg1,OS_64))); + list.concat(taicpu.op_reg_reg(A_SXTH,reg2,makeregsize(reg1,OS_32))); OS_32: list.concat(taicpu.op_reg_reg_const_const(A_UBFIZ,makeregsize(reg2,OS_64),makeregsize(reg1,OS_64),0,32)); OS_S32: - list.concat(taicpu.op_reg_reg(A_SXTW,reg2,makeregsize(reg1,OS_64))); + list.concat(taicpu.op_reg_reg(A_SXTW,reg2,makeregsize(reg1,OS_32))); else internalerror(2024070701); end;