overlooked necessary sign extension (#21021)

This commit is contained in:
Walter Bright 2025-03-17 16:15:32 -07:00 committed by GitHub
parent a4cbc08f5b
commit 49198f2983
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -35,6 +35,7 @@ import dmd.backend.oper;
import dmd.backend.rtlsym; import dmd.backend.rtlsym;
import dmd.backend.ty; import dmd.backend.ty;
import dmd.backend.type; import dmd.backend.type;
import dmd.backend.arm.cod2 : tyToExtend;
import dmd.backend.arm.cod3 : COND, genBranch, conditionCode, gentstreg; import dmd.backend.arm.cod3 : COND, genBranch, conditionCode, gentstreg;
import dmd.backend.arm.instr; import dmd.backend.arm.instr;
import dmd.backend.arm.cod3 : loadFloatRegConst; 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.Vsym = s;
pcs.IEV1.Voffset = e.Voffset; 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) if (sz == 1)
{ {
s.Sflags |= GTbyte; s.Sflags |= GTbyte;