mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-07 04:30:18 +02:00
X86: %r12 may be used as an index register.
* lib/jit_x86-cpu.c: Correct not properly tested case of using %r12 as index register, what was causing an invalid assertion. %r12 is mapped to the "extra" JIT_R3 register, and test cases only test "standard" lightning registers.
This commit is contained in:
parent
ff73547603
commit
1bd169cfa3
2 changed files with 9 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2013-10-30 Paulo Andrade <pcpa@gnu.org>
|
||||||
|
|
||||||
|
* lib/jit_x86-cpu.c: Correct not properly tested case of using
|
||||||
|
%r12 as index register, what was causing an invalid assertion.
|
||||||
|
%r12 is mapped to the "extra" JIT_R3 register, and test cases
|
||||||
|
only test "standard" lightning registers.
|
||||||
|
|
||||||
2013-10-28 Paulo Andrade <pcpa@gnu.org>
|
2013-10-28 Paulo Andrade <pcpa@gnu.org>
|
||||||
|
|
||||||
* lib/jit_ia64.c: Minor change to force collecting the maximum
|
* lib/jit_ia64.c: Minor change to force collecting the maximum
|
||||||
|
|
|
@ -61,6 +61,7 @@
|
||||||
# define _R14_REGNO 14
|
# define _R14_REGNO 14
|
||||||
# define _R15_REGNO 15
|
# define _R15_REGNO 15
|
||||||
# define r7(reg) (reg & 7)
|
# define r7(reg) (reg & 7)
|
||||||
|
# define r8(reg) (reg & 15)
|
||||||
# define _SCL1 0x00
|
# define _SCL1 0x00
|
||||||
# define _SCL2 0x01
|
# define _SCL2 0x01
|
||||||
# define _SCL4 0x02
|
# define _SCL4 0x02
|
||||||
|
@ -701,7 +702,7 @@ _rx(jit_state_t *_jit, jit_int32_t rd, jit_int32_t md,
|
||||||
sib(ms, r7(ri), 0x05);
|
sib(ms, r7(ri), 0x05);
|
||||||
ii(md);
|
ii(md);
|
||||||
}
|
}
|
||||||
else if (r7(ri) != _RSP_REGNO) {
|
else if (r8(ri) != _RSP_REGNO) {
|
||||||
if (md == 0 && r7(rb) != _RBP_REGNO) {
|
if (md == 0 && r7(rb) != _RBP_REGNO) {
|
||||||
mrm(0x00, r7(rd), 0x04);
|
mrm(0x00, r7(rd), 0x04);
|
||||||
sib(ms, r7(ri), r7(rb));
|
sib(ms, r7(ri), r7(rb));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue