From 49198f29838a83c0b013c39439d1c94d646361f7 Mon Sep 17 00:00:00 2001 From: Walter Bright Date: Mon, 17 Mar 2025 16:15:32 -0700 Subject: [PATCH] overlooked necessary sign extension (#21021) --- compiler/src/dmd/backend/arm/cod1.d | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/src/dmd/backend/arm/cod1.d b/compiler/src/dmd/backend/arm/cod1.d index f55a173280..3b95699046 100644 --- a/compiler/src/dmd/backend/arm/cod1.d +++ b/compiler/src/dmd/backend/arm/cod1.d @@ -35,6 +35,7 @@ import dmd.backend.oper; import dmd.backend.rtlsym; import dmd.backend.ty; import dmd.backend.type; +import dmd.backend.arm.cod2 : tyToExtend; import dmd.backend.arm.cod3 : COND, genBranch, conditionCode, gentstreg; import dmd.backend.arm.instr; import dmd.backend.arm.cod3 : loadFloatRegConst; @@ -1104,7 +1105,7 @@ void getlvalue(ref CodeBuilder cdb,ref code pcs,elem* e,regm_t keepmsk,RM rm = R } pcs.IEV1.Vsym = s; pcs.IEV1.Voffset = e.Voffset; - //pcs.Sextend = tyToExtend(ty); only need to worry about this if pcs.index is set + pcs.Sextend = cast(ubyte)tyToExtend(ty); // sign or zero extension if (sz == 1) { s.Sflags |= GTbyte;