From f7f6025bd1243b53398594cb401caa2a7e461663 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= Date: Sun, 3 Feb 2013 23:47:52 +0100 Subject: [PATCH] arm: fix conversion from float/double to signed integer with VFP The signed flag was not encoded in the instruction. --- arm-gen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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;