tcg-hppa: Fix 64-bit argument ordering

Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
Richard Henderson 2010-02-20 11:32:23 -08:00 committed by Aurelien Jarno
parent 3436332ed6
commit 3f90f252ec

View File

@ -596,7 +596,17 @@ void tcg_gen_callN(TCGContext *s, TCGv_ptr func, unsigned int flags,
real_args++; real_args++;
} }
#endif #endif
#ifdef TCG_TARGET_WORDS_BIGENDIAN /* If stack grows up, then we will be placing successive
arguments at lower addresses, which means we need to
reverse the order compared to how we would normally
treat either big or little-endian. For those arguments
that will wind up in registers, this still works for
HPPA (the only current STACK_GROWSUP target) since the
argument registers are *also* allocated in decreasing
order. If another such target is added, this logic may
have to get more complicated to differentiate between
stack arguments and register arguments. */
#if defined(TCG_TARGET_WORDS_BIGENDIAN) != defined(TCG_TARGET_STACK_GROWSUP)
*gen_opparam_ptr++ = args[i] + 1; *gen_opparam_ptr++ = args[i] + 1;
*gen_opparam_ptr++ = args[i]; *gen_opparam_ptr++ = args[i];
#else #else