path: root/tcg/tcg.c
diff options
authorBlue Swirl <blauwirbel@gmail.com>2012-09-22 17:59:15 +0000
committerBlue Swirl <blauwirbel@gmail.com>2012-09-22 17:59:15 +0000
commit04cbbdeefdda2615b11f7890f1e61b750e83129f (patch)
treec2426674527ce95eec5ccbf4bf5cae1eec3d7ea0 /tcg/tcg.c
parentef04a8467eae31bc93b9458ad3d30a6ad1303327 (diff)
parentf4bf0b912e780978a37979f7a9fad40f99aa2241 (diff)
Merge branch 'tcg-sparc' of git://repo.or.cz/qemu/rth
* 'tcg-sparc' of git://repo.or.cz/qemu/rth: tcg-sparc: Preserve branch destinations during retranslation tcg-sparc: Fix and enable direct TB chaining. tcg-sparc: Add %g/%o registers to alloc_order tcg-sparc: Use defines for temporaries. tcg-sparc: Mask shift immediates to avoid illegal insns. tcg-sparc: Clean up cruft stemming from attempts to use global registers. tcg-sparc: Change AREG0 in generated code to %i0. tcg-sparc: Support GUEST_BASE. tcg-sparc: Fix qemu_ld/st to handle 32-bit host. tcg-sparc: Assume v9 cpu always, i.e. force v8plus in 32-bit mode. tcg-sparc: Don't MAP_FIXED on top of the program tcg-sparc: Fix ADDX opcode. tcg-sparc: Hack in qemu_ld/st64 for 32-bit. linux-user: Use memcpy in get_user/put_user.
Diffstat (limited to 'tcg/tcg.c')
1 files changed, 2 insertions, 1 deletions
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 6edf170008..b3c265013d 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -1449,7 +1449,8 @@ static void temp_allocate_frame(TCGContext *s, int temp)
TCGTemp *ts;
ts = &s->temps[temp];
-#ifndef __sparc_v9__ /* Sparc64 stack is accessed with offset of 2047 */
+#if !(defined(__sparc__) && TCG_TARGET_REG_BITS == 64)
+ /* Sparc64 stack is accessed with offset of 2047 */
s->current_frame_offset = (s->current_frame_offset +
(tcg_target_long)sizeof(tcg_target_long) - 1) &
~(sizeof(tcg_target_long) - 1);