]> git.unchartedbackwaters.co.uk Git - francis/libjit.git/commitdiff
Fix a cpu vs non-cpu register problem in the floating-point
authorRhys Weatherley <rweather@southern-storm.com.au>
Sun, 30 May 2004 10:14:30 +0000 (10:14 +0000)
committerRhys Weatherley <rweather@southern-storm.com.au>
Sun, 30 May 2004 10:14:30 +0000 (10:14 +0000)
"push" operations for x86.

ChangeLog
jit/jit-rules-x86.sel

index cef811f7743ebb964387dd38bdcce530f892f1be..2d8fc2798a857f06a8592e819a012710f17de328 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,6 +16,9 @@
        "jit_insn_flush_defer_pop", to defer the popping of function
        call arguments as long as possible.
 
+       * jit/jit-rules-x86.sel: fix a cpu vs non-cpu register problem
+       in the floating-point "push" operations for x86.
+
 2004-05-29  Rhys Weatherley  <rweather@southern-storm.com.au>
 
        * jit/jit-insn.c, jit/jit-reg-alloc.c, jit/jit-reg-alloc.h,
index 609dc316917b11f050463e44a3f5e8729d81248f..f84904847ac4b58f8cd8afb8320c927087174b85 100644 (file)
@@ -874,7 +874,7 @@ JIT_OP_PUSH_FLOAT32: unary_note, stack
        [reg] -> {
                x86_alu_reg_imm(inst, X86_SUB, X86_ESP, sizeof(jit_float32));
                x86_fst_membase(inst, X86_ESP, 0, 0, 1);
-               _jit_regs_free_reg(gen, $1, 1);
+               _jit_regs_free_reg(gen, reg, 1);
        }
 
 JIT_OP_PUSH_FLOAT64: unary_note, stack
@@ -890,7 +890,7 @@ JIT_OP_PUSH_FLOAT64: unary_note, stack
        [reg] -> {
                x86_alu_reg_imm(inst, X86_SUB, X86_ESP, sizeof(jit_float64));
                x86_fst_membase(inst, X86_ESP, 0, 1, 1);
-               _jit_regs_free_reg(gen, $1, 1);
+               _jit_regs_free_reg(gen, reg, 1);
        }
 
 JIT_OP_PUSH_NFLOAT: unary_note, stack
@@ -922,7 +922,7 @@ JIT_OP_PUSH_NFLOAT: unary_note, stack
                        x86_alu_reg_imm(inst, X86_SUB, X86_ESP, sizeof(jit_float64));
                        x86_fst_membase(inst, X86_ESP, 0, 1, 1);
                }
-               _jit_regs_free_reg(gen, $1, 1);
+               _jit_regs_free_reg(gen, reg, 1);
        }
 
 JIT_OP_PUSH_STRUCT: unary_note