i386: fix loading of LLOCAL floats

These loads clobbered ebx as TinyCC wanted to load the address into st0.
master
Daniel Glöckner 2012-01-23 01:41:36 +01:00
parent 3ab269c56a
commit 9527c4949f
1 changed files with 3 additions and 1 deletions

View File

@ -229,8 +229,10 @@ ST_FUNC void load(int r, SValue *sv)
v1.type.t = VT_INT;
v1.r = VT_LOCAL | VT_LVAL;
v1.c.ul = fc;
load(r, &v1);
fr = r;
if (!(reg_classes[fr] & RC_INT))
fr = get_reg(RC_INT);
load(fr, &v1);
}
if ((ft & VT_BTYPE) == VT_FLOAT) {
o(0xd9); /* flds */