mirror of
https://github.com/dlang/dmd.git
synced 2025-04-25 20:50:41 +03:00
arguments swapped for loadFromEA() (#21040)
This commit is contained in:
parent
996de2ad3a
commit
49a7c10bdf
3 changed files with 7 additions and 5 deletions
|
@ -58,6 +58,7 @@ nothrow:
|
|||
void loadFromEA(ref code cs, reg_t reg, uint szw, uint szr)
|
||||
{
|
||||
//debug printf("loadFromEA() reg: %d, szw: %d, szr: %d\n", reg, szw, szr);
|
||||
assert(szr <= szw);
|
||||
cs.Iop = INSTR.nop;
|
||||
assert(reg != NOREG);
|
||||
if (mask(reg) & INSTR.FLOATREGS) // if floating point store
|
||||
|
|
|
@ -1297,7 +1297,7 @@ void assignaddrc(code* c)
|
|||
uint ins = c.Iop;
|
||||
if (0 && c.IFL1 != FL.unde)
|
||||
{
|
||||
printf("FL: %s ", fl_str(c.IFL1));
|
||||
printf("FL: %-8s ", fl_str(c.IFL1));
|
||||
disassemble(ins);
|
||||
}
|
||||
switch (c.IFL1)
|
||||
|
@ -1380,8 +1380,8 @@ void assignaddrc(code* c)
|
|||
}
|
||||
static if (0)
|
||||
{
|
||||
symbol_print(*s);
|
||||
printf("c: %p, x%08x\n", c, c.Iop);
|
||||
//symbol_print(*s);
|
||||
//printf("c: %p, x%08x\n", c, c.Iop);
|
||||
printf("s = %s, Soffset = %d, Para.size = %d, BPoff = %d, EBPtoESP = %d, Voffset = %d\n",
|
||||
s.Sident.ptr, cast(int)s.Soffset, cast(int)cgstate.Para.size, cast(int)cgstate.BPoff,
|
||||
cast(int)cgstate.EBPtoESP, cast(int)c.IEV1.Voffset);
|
||||
|
@ -1440,6 +1440,7 @@ void assignaddrc(code* c)
|
|||
{
|
||||
uint imm12 = field(ins,21,10); // unsigned 12 bits
|
||||
offset += imm12 << shift; // add in imm
|
||||
//printf("shift: %d offset: %llx imm12: %x\n", shift, offset, imm12);
|
||||
assert((offset & ((1 << shift) - 1)) == 0); // no misaligned access
|
||||
imm12 = cast(uint)(offset >> shift);
|
||||
assert(imm12 < 0x1000);
|
||||
|
|
|
@ -617,7 +617,7 @@ void cdmulass(ref CGstate cg, ref CodeBuilder cdb,elem* e,ref regm_t pretregs)
|
|||
{
|
||||
retregs = cg.allregs & ~earegm & ~regm2;
|
||||
reg = allocreg(cdb,retregs,tyml);
|
||||
loadFromEA(cs,reg,sz,sz == 8 ? 8 : 4);
|
||||
loadFromEA(cs,reg,sz == 8 ? 8 : 4, sz);
|
||||
cdb.gen(&cs);
|
||||
}
|
||||
getregs(cdb,retregs); // destroy these regs
|
||||
|
@ -768,7 +768,7 @@ void cdshass(ref CGstate cg, ref CodeBuilder cdb,elem* e,ref regm_t pretregs)
|
|||
{
|
||||
retregs = cg.allregs & ~earegm & ~Rshiftcntm;
|
||||
Rshiftee = allocreg(cdb,retregs,tyml);
|
||||
loadFromEA(cs,Rshiftee,sz,sz == 8 ? 8 : 4);
|
||||
loadFromEA(cs,Rshiftee,sz == 8 ? 8 : 4,sz);
|
||||
cdb.gen(&cs);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue