Browse Source

Fix a cpu vs non-cpu register problem in the floating-point


			
			
				cache-refactoring
			
			
		
Rhys Weatherley 21 years ago
parent
commit
6539bc34fb
  1. 3
      ChangeLog
  2. 6
      jit/jit-rules-x86.sel

3
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,

6
jit/jit-rules-x86.sel

@ -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

Loading…
Cancel
Save