From: Toni Wilen Date: Sun, 8 Jul 2018 15:06:03 +0000 (+0300) Subject: JIT FACOS force round to nearest. X-Git-Tag: 4010~23 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=97c2578521cf51d157094f24976d499ba5f4791d;p=francis%2Fwinuae.git JIT FACOS force round to nearest. --- diff --git a/jit/compemu_fpp.cpp b/jit/compemu_fpp.cpp index e35de7a6..3a14920e 100644 --- a/jit/compemu_fpp.cpp +++ b/jit/compemu_fpp.cpp @@ -1186,18 +1186,16 @@ void comp_fpp_opp (uae_u32 opcode, uae_u16 extra) fneg_rr (dreg, sreg); break; case 0x1c: /* FACOS */ -#if 0 && USE_X86_FPUCW - if ((regs.fpcr & 0x30) != 0x10) { /* use round to zero */ - mov_l_ri (S1, (regs.fpcr & 0xC0) | 0x10); - fldcw_m_indexed (S1, uae_p32(x86_fpucw)); - facos_rr (dreg, sreg); - mov_l_rm (S1, uae_p32(®s.fpcr)); - and_l_ri (S1, 0xf0); /* restore control word */ - fldcw_m_indexed (S1, uae_p32(x86_fpucw)); - break; - } -#endif +#if USE_X86_FPUCW + mov_l_ri (S1, (regs.fpcr & 0xC0) | 0x00); + fldcw_m_indexed (S1, uae_p32(x86_fpucw)); facos_rr (dreg, sreg); + mov_l_rm (S1, uae_p32(®s.fpcr)); + and_l_ri (S1, 0xf0); /* restore control word */ + fldcw_m_indexed (S1, uae_p32(x86_fpucw)); +#else + facos_rr (dreg, sreg); +#endif break; case 0x1d: /* FCOS */ fcos_rr (dreg, sreg);