From 9f4f7825460959fff06927560fa9c9bd962824ba Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Mon, 30 Aug 2004 02:01:22 +0000 Subject: [PATCH] Fix x86 code generation for floating-point return instructions. --- ChangeLog | 5 +++++ jit/jit-rules-x86.sel | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index e9477b1..3ee8162 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,9 @@ +2004-08-30 Rhys Weatherley + + * jit-rules-x86.sel: fix x86 code generation for floating-point + return instructions. + 2004-08-16 Rhys Weatherley * jit/jit-cpuid-x86.c (cpuid_query): use %ebx in a way that doesn't diff --git a/jit/jit-rules-x86.sel b/jit/jit-rules-x86.sel index 734cf21..2ff235a 100644 --- a/jit/jit-rules-x86.sel +++ b/jit/jit-rules-x86.sel @@ -1689,18 +1689,21 @@ JIT_OP_RETURN_LONG: unary_branch inst = jump_to_epilog(gen, inst, block); } -JIT_OP_RETURN_FLOAT32: unary_branch, stack, only +JIT_OP_RETURN_FLOAT32: unary_note, stack, only [freg] -> { + _jit_regs_free_reg(gen, reg, 1); inst = jump_to_epilog(gen, inst, block); } -JIT_OP_RETURN_FLOAT64: unary_branch, stack, only +JIT_OP_RETURN_FLOAT64: unary_note, stack, only [freg] -> { + _jit_regs_free_reg(gen, reg, 1); inst = jump_to_epilog(gen, inst, block); } -JIT_OP_RETURN_NFLOAT: unary_branch, stack, only +JIT_OP_RETURN_NFLOAT: unary_note, stack, only [freg] -> { + _jit_regs_free_reg(gen, reg, 1); inst = jump_to_epilog(gen, inst, block); } -- 2.47.3