The intent here is to remove several move insns putting the function arguments into the proper place. I'm hoping that this will solve the skylake regression with spec2006, as seen with the ool softmmu patch set.
Emilio, all of this is present on my tcg-next-for-4.0 branch. r~ Richard Henderson (12): tcg: Add preferred_reg argument to tcg_reg_alloc tcg: Add preferred_reg argument to temp_load tcg: Add preferred_reg argument to temp_sync tcg: Add preferred_reg argument to tcg_reg_alloc_do_movi tcg: Add output_pref to TCGOp tcg: Improve register allocation for matching constraints tcg: Dump register preference info with liveness tcg: Reindent parts of liveness_pass_1 tcg: Rename and adjust liveness_pass_1 helpers tcg: Split out more subroutines from liveness_pass_1 tcg: Add TCG_OPF_BB_EXIT tcg: Record register preferences during liveness tcg/tcg-opc.h | 7 +- tcg/tcg.h | 20 +- tcg/tcg.c | 527 +++++++++++++++++++++++++++++++++++++------------- 3 files changed, 405 insertions(+), 149 deletions(-) -- 2.17.2