summaryrefslogtreecommitdiff
path: root/i386-gen.c
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2012-06-12 17:51:49 +0200
committerThomas Preud'homme <robotux@celest.fr>2012-06-12 17:51:49 +0200
commit9cb064c2db59fb92a3cee7c0e9fd447aec2083f3 (patch)
tree08e5102b995af057f84d71866100c1542a1b183b /i386-gen.c
parentd178eb7650ef7356ca4e6d9d64ac242dcff64811 (diff)
Imported Upstream version 0.9.26~git20120612.ad5f375
Diffstat (limited to 'i386-gen.c')
-rw-r--r--i386-gen.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/i386-gen.c b/i386-gen.c
index 686419c..6635559 100644
--- a/i386-gen.c
+++ b/i386-gen.c
@@ -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 */
@@ -1068,7 +1070,7 @@ ST_FUNC void gen_bounded_ptr_deref(void)
case 12: func = TOK___bound_ptr_indir12; break;
case 16: func = TOK___bound_ptr_indir16; break;
default:
- tcc_error("unhandled size when derefencing bounded pointer");
+ tcc_error("unhandled size when dereferencing bounded pointer");
func = 0;
break;
}