tcg-ppc: Fix and cleanup tcg_out_tlb_check
authorRichard Henderson <rth@twiddle.net>
Thu, 29 Aug 2013 16:32:20 +0000 (09:32 -0700)
committerRichard Henderson <rth@twiddle.net>
Wed, 25 Sep 2013 14:46:31 +0000 (07:46 -0700)
commit8f50c841b374dc90ea604888ca92c37f469c428a
tree716b4e36c8dd41f8060ce8d291f9787bc20c8c02
parent5b1c985b7e4d3f430769925c1775c9e8836272df
tcg-ppc: Fix and cleanup tcg_out_tlb_check

The fix is that sparc has so many mmu modes that the last one overflowed
the 16-bit signed offset we assumed would fit.  Handle this, and check
the new assumption at compile time.

Load the tlb addend earlier for the fast path.

Remove the explicit address + addend and make use of index addressing.

Adjust constraints for qemu_ld64 such that we don't clobber the address
register or tlb addend before loading both values.

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg/ppc/tcg-target.c