From 451e80a333a78ae38f6eeb821cba20dfb4bf629e Mon Sep 17 00:00:00 2001 From: SarahW Date: Sat, 11 May 2019 11:45:08 +0100 Subject: [PATCH] Fall back to interpreter version of FADD if x87 rounding mode is not nearest. Fixes software rendering in Battlezone. --- src/codegen_ops_fpu_arith.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/codegen_ops_fpu_arith.c b/src/codegen_ops_fpu_arith.c index 3f05802..e3bfb28 100644 --- a/src/codegen_ops_fpu_arith.c +++ b/src/codegen_ops_fpu_arith.c @@ -274,6 +274,8 @@ uint32_t ropFADD ## name(codeblock_t *block, ir_data_t *ir, uint8_t opcode, uint { \ x86seg *target_seg; \ \ + if ((cpu_state.npxc >> 10) & 3) \ + return 0; \ uop_FP_ENTER(ir); \ uop_MOV_IMM(ir, IREG_oldpc, cpu_state.oldpc); \ op_pc--; \