Commit 0b7c1d897f010cf9f1848fa79db7d05273dfbf20
1 parent
a2a546b3
Clear the upper 32 bits of addr_reg in TARGET_LONG_BITS == 32 case
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5032 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
6 additions
and
0 deletions
tcg/ppc64/tcg-target.c
... | ... | @@ -649,6 +649,9 @@ static void tcg_out_qemu_ld (TCGContext *s, const TCGArg *args, int opc) |
649 | 649 | /* r0 = env->tlb_table[mem_index][index].addend + addr */ |
650 | 650 | |
651 | 651 | #else /* !CONFIG_SOFTMMU */ |
652 | +#if TARGET_LONG_BITS == 32 | |
653 | + tcg_out_rld (s, RLDICL, addr_reg, addr_reg, 0, 32); | |
654 | +#endif | |
652 | 655 | r0 = addr_reg; |
653 | 656 | #endif |
654 | 657 | |
... | ... | @@ -758,6 +761,9 @@ static void tcg_out_qemu_st (TCGContext *s, const TCGArg *args, int opc) |
758 | 761 | /* r0 = env->tlb_table[mem_index][index].addend + addr */ |
759 | 762 | |
760 | 763 | #else /* !CONFIG_SOFTMMU */ |
764 | +#if TARGET_LONG_BITS == 32 | |
765 | + tcg_out_rld (s, RLDICL, addr_reg, addr_reg, 0, 32); | |
766 | +#endif | |
761 | 767 | r1 = 4; |
762 | 768 | r0 = addr_reg; |
763 | 769 | #endif | ... | ... |