tcg/i386: remove suboptimal register shifting
commit166792f7bbe2cad120b75062ff6f8f1b67366f18
authorAurelien Jarno <aurelien@aurel32.net>
Sat, 20 Oct 2012 15:31:44 +0000 (20 17:31 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Sun, 28 Oct 2012 13:54:05 +0000 (28 14:54 +0100)
tree36e0b6d14092731de6c2a6eeb61993b19ac94c95
parent50cd72148211c5e5f22ea2519d19ce024226e61f
tcg/i386: remove suboptimal register shifting

Now that CONFIG_TCG_PASS_AREG0 has been removed, it's easier to get
an optimal code for the load/store functions.

First swap the two registers used in tcg_out_tlb_load() so that the
address end-up in the second register instead of the first one. Adjust
tcg_out_qemu_ld() and tcg_out_qemu_st() to respectively call
tcg_out_qemu_ld_direct() and tcg_out_qemu_st_direct() with the correct
registers. Then replace the register shifting by direct load of the
arguments.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
tcg/i386/tcg-target.c