tcg-ppc64: Allow constant first argument to sub
Using SUBFIC for 16-bit signed constants.
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg-ppc64: Improve constant add and sub ops.
Improve constant addition -- previously we'd emit useless addi with 0.Use new constraints to force the driver to pull full 64-bit constantsinto a register.
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>...
tcg-ppc64: Rearrange integer constant constraints
We'll need a zero, and Z makes more sense for that. Make sure wehave a full compliment of signed and unsigned 16 and 32-bit tests.
tcg-ppc64: Cleanup tcg_out_movi
The test for using movi32 was sub-optimal for TCG_TYPE_I32, comparinga signed 32-bit quantity against an unsigned 32-bit quantity.
When possible, use addi+oris for 32-bit unsigned constants. Otherwise,standardize on addi+oris+ori instead of addis+ori+rldicl....
tcg-ppc64: Fix setcond_i32
We weren't ignoring the high 32 bits during a NE comparison.
tcg-ppc64: Introduce and use TAI and SAI
tcg-ppc64: Introduce and use tcg_out_shri64
tcg-ppc64: Introduce and use tcg_out_shli64
tcg-ppc64: Introduce and use tcg_out_ext32u
tcg-ppc64: Introduce and use tcg_out_rlw
View revisions
Also available in: Atom