These loads clobbered ebx as TinyCC wanted to load the address into st0.
Unified · Split
| @@ -229,8 +229,10 @@ ST_FUNC void load(int r, SValue *sv) · 228 unmodified lines | ||
| 229 | 229 | v1.type.t = VT_INT; |
| 230 | 230 | v1.r = VT_LOCAL | VT_LVAL; |
| 231 | 231 | v1.c.ul = fc; |
| 232 | − load(r, &v1); | |
| 233 | 232 | fr = r; |
| 233 | + if (!(reg_classes[fr] & RC_INT)) | |
| 234 | + fr = get_reg(RC_INT); | |
| 235 | + load(fr, &v1); | |
| 234 | 236 | } |
| 235 | 237 | if ((ft & VT_BTYPE) == VT_FLOAT) { |
| 236 | 238 | o(0xd9); /* flds */ |