1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-05 06:50:21 +02:00

S390X: Correct values of float registers saved on stack.

* lib/jit_s390x-cpu.c: Spill/reload correct callee save
	float registers.
This commit is contained in:
pcpa 2013-09-10 21:26:13 -03:00
parent 455237673b
commit 13d521bded
2 changed files with 13 additions and 8 deletions

View file

@ -1,3 +1,8 @@
2013-09-10 Paulo Andrade <pcpa@gnu.org>
* lib/jit_s390x-cpu.c: Spill/reload correct callee save
float registers.
2013-09-10 Paulo Andrade <pcpa@gnu.org> 2013-09-10 Paulo Andrade <pcpa@gnu.org>
* lib/jit_hppa-cpu.c: Correct code to call a function stored * lib/jit_hppa-cpu.c: Correct code to call a function stored

View file

@ -3285,10 +3285,10 @@ _prolog(jit_state_t *_jit, jit_node_t *i0)
SPILL(_F12, 32); SPILL(_F12, 32);
SPILL(_F13, 48); SPILL(_F13, 48);
/* Last 4 in high address */ /* Last 4 in high address */
SPILL(_F10, 128); SPILL(_F14, 128);
SPILL(_F11, 136); SPILL(_F15, 136);
SPILL(_F12, 144); SPILL(_F8, 144);
SPILL(_F13, 152); SPILL(_F9, 152);
#undef SPILL #undef SPILL
LGR(_R13_REGNO, _R15_REGNO); LGR(_R13_REGNO, _R15_REGNO);
subi(_R15_REGNO, _R15_REGNO, stack_framesize + _jitc->function->stack); subi(_R15_REGNO, _R15_REGNO, stack_framesize + _jitc->function->stack);
@ -3313,10 +3313,10 @@ _epilog(jit_state_t *_jit, jit_node_t *i0)
LOAD(_F11, 24); LOAD(_F11, 24);
LOAD(_F12, 32); LOAD(_F12, 32);
LOAD(_F13, 48); LOAD(_F13, 48);
LOAD(_F10, 128); LOAD(_F14, 128);
LOAD(_F11, 136); LOAD(_F15, 136);
LOAD(_F12, 144); LOAD(_F8, 144);
LOAD(_F13, 152); LOAD(_F9, 152);
#undef LOAD #undef LOAD
LMG(rn(gprs[regno]), _R15_REGNO, x20(offset), _R15_REGNO); LMG(rn(gprs[regno]), _R15_REGNO, x20(offset), _R15_REGNO);
BR(_R14_REGNO); BR(_R14_REGNO);