tcg-ppc64: Handle long offsets better
commitb18d5d2b80ba0fd33edabae72fd7e7ad6f20316a
authorRichard Henderson <rth@twiddle.net>
Wed, 31 Jul 2013 18:36:42 +0000 (31 11:36 -0700)
committerRichard Henderson <rth@twiddle.net>
Wed, 25 Sep 2013 14:46:32 +0000 (25 07:46 -0700)
tree8feb22484a3213d44efb71af1d19e9526a9254f2
parent5e1702b0742b7cc88e85dfe76c3ba5d1432312aa
tcg-ppc64: Handle long offsets better

Previously we'd only handle 16-bit offsets from memory operand without falling
back to indexed, but it's easy to use ADDIS to handle full 32-bit offsets.

This also lets us unify code that existed inline in tcg_out_op for handling
addition of large constants.

The new R2 temporary was marked reserved for the AIX calling convention, but
the register really is call-clobbered and since tcg generated code has no use
for a TOC, it's available for use.

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