From 506193724f8a1e67de9396486fb4fd090b9f61bb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Gl=C3=B6ckner?= Date: Sun, 3 Feb 2013 17:51:33 +0100 Subject: [PATCH] arm: fix conversion from integer to float/double with VFP The source register 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 e9b83094..37cd3041 100644 --- a/arm-gen.c +++ b/arm-gen.c @@ -1847,7 +1847,7 @@ ST_FUNC void gen_cvt_itof1(int t) #ifdef TCC_ARM_VFP r2=vfpr(vtop->r=get_reg(RC_FLOAT)); o(0xEE000A10|(r<<12)|(r2<<16)); /* fmsr */ - r2<<=12; + r2|=r2<<12; if(!(vtop->type.t & VT_UNSIGNED)) r2|=0x80; /* fuitoX -> fsituX */ o(0xEEB80A40|r2|T2CPR(t)); /* fYitoX*/ -- 2.11.4.GIT