aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Glöckner <daniel-gl@gmx.net>2013-02-03 23:47:52 +0100
committerDaniel Glöckner <daniel-gl@gmx.net>2013-02-03 23:47:52 +0100
commitf7f6025bd1243b53398594cb401caa2a7e461663 (patch)
tree0efeec57bbfde14b043bd5ae201d42eef1351326
parent506193724f8a1e67de9396486fb4fd090b9f61bb (diff)
downloadtinycc-f7f6025bd1243b53398594cb401caa2a7e461663.tar.gz
tinycc-f7f6025bd1243b53398594cb401caa2a7e461663.tar.bz2
arm: fix conversion from float/double to signed integer with VFP
The signed flag was not encoded in the instruction.
-rw-r--r--arm-gen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arm-gen.c b/arm-gen.c
index 37cd304..48b6acd 100644
--- a/arm-gen.c
+++ b/arm-gen.c
@@ -1926,7 +1926,7 @@ void gen_cvt_ftoi(int t)
#ifdef TCC_ARM_VFP
r=vfpr(gv(RC_FLOAT));
u=u?0:0x10000;
- o(0xEEBC0A40|(r<<12)|r|T2CPR(r2)); /* ftoXiY */
+ o(0xEEBC0A40|(r<<12)|r|T2CPR(r2)|u); /* ftoXiY */
r2=intr(vtop->r=get_reg(RC_INT));
o(0xEE100A10|(r<<16)|(r2<<12));
return;