From: Daniel Glöckner Date: Sun, 3 Feb 2013 16:51:33 +0000 (+0100) Subject: arm: fix conversion from integer to float/double with VFP X-Git-Tag: release_0_9_26~40 X-Git-Url: https://repo.or.cz/w/tinycc.git/commitdiff_plain/506193724f8a1e67de9396486fb4fd090b9f61bb arm: fix conversion from integer to float/double with VFP The source register was not encoded in the instruction. --- 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*/