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

PPC: Build and pass all tests in powerpcle

* lib/jit_ppc-cpu.c, lib/jit_ppc.c: Correct some endianess issues
	on the powerpc le backend.
This commit is contained in:
Paulo Andrade 2014-12-26 17:23:39 -02:00
parent a16adad0fd
commit af9df5faeb
3 changed files with 13 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2014-12-26 Paulo Andrade <pcpa@gnu.org>
* lib/jit_ppc-cpu.c, lib/jit_ppc.c: Correct some endianess issues
on the powerpc le backend.
2014-12-26 Paulo Andrade <pcpa@gnu.org>
* lib/jit_ppc-cpu.c: Add mcrxr instruction emulation,

View file

@ -26,7 +26,11 @@
# define fits_uint32_p(im) 1
# else
# define gpr_save_area 144 /* r14~r31 = 18 * 8 */
# define params_offset 48
# if if ABI_ELFv2
# define params_offset 32
# else
# define params_offset 48
# endif
# define can_sign_extend_int_p(im) \
(((im) >= 0 && (long)(im) <= 0x7fffffffL) || \
((im) < 0 && (long)(im) >= -0x80000000L))

View file

@ -279,7 +279,7 @@ _jit_arg_f(jit_state_t *_jit)
if (_jitc->function->self.argf < 13)
offset = _jitc->function->self.argf++;
else {
#if __WORDSIZE == 32
#if __WORDSIZE == 32 || __BYTE_ORDER == __LITTLE_ENDIAN
offset = _jitc->function->self.size;
#else
offset = _jitc->function->self.size + 4;
@ -502,7 +502,7 @@ _jit_pushargr_f(jit_state_t *_jit, jit_int32_t u)
#endif
}
else {
#if __WORDSIZE == 32
#if __WORDSIZE == 32 || __BYTE_ORDER == __LITTLE_ENDIAN
jit_stxi_f(_jitc->function->call.size + params_offset, JIT_SP, u);
#else
jit_stxi_f(_jitc->function->call.size + params_offset + 4,
@ -549,7 +549,7 @@ _jit_pushargi_f(jit_state_t *_jit, jit_float32_t u)
#endif
}
else {
#if __WORDSIZE == 32
#if __WORDSIZE == 32 || __BYTE_ORDER == __LITTLE_ENDIAN
jit_stxi_f(_jitc->function->call.size + params_offset, JIT_SP, regno);
#else
jit_stxi_f(_jitc->function->call.size + params_offset + 4,