Based-on: <[email protected]>
("[PATCH v3 00/66] Unaligned access for user-only")
Important points:
* Support unaligned accesses.
* Drop requirement for 256MB alignment of code_gen_buffer.
* Improvements to tcg_out_movi:
- Have a tb-relative register for mips64, reducing the
code size for most pointers,
- Try a few 3-insn sequences,
- Drop everything else into a constant pool.
r~
Richard Henderson (16):
tcg/mips: Support unaligned access for user-only
tcg/mips: Support unaligned access for softmmu
tcg/mips: Drop inline markers
tcg/mips: Move TCG_AREG0 to S8
tcg/mips: Move TCG_GUEST_BASE_REG to S7
tcg/mips: Unify TCG_GUEST_BASE_REG tests
tcg/mips: Allow JAL to be out of range in tcg_out_bswap_subr
tcg/mips: Unset TCG_TARGET_HAS_direct_jump
tcg/mips: Drop special alignment for code_gen_buffer
tcg/mips: Create and use TCG_REG_TB
tcg/mips: Split out tcg_out_movi_one
tcg/mips: Split out tcg_out_movi_two
tcg/mips: Use the constant pool for 64-bit constants
tcg/mips: Aggressively use the constant pool for n64 calls
tcg/mips: Try tb-relative addresses in tcg_out_movi
tcg/mips: Try three insns with shift and add in tcg_out_movi
tcg/mips/tcg-target.h | 17 +-
tcg/region.c | 91 -----
tcg/mips/tcg-target.c.inc | 730 +++++++++++++++++++++++++++++++-------
3 files changed, 604 insertions(+), 234 deletions(-)
--
2.25.1