This version differs from the patch set I posted 2 weeks ago in that the andi bugfix is split out separately, a typo in the add2/sub2 patch is fixed, and a long forgotten patch to implement direct branches between TBs was merged.
In addition to my own testing, Thomas Huth was kind enough to do a quick check against the bug he originally reported to me. r~ The following changes since commit 450445d543a33fdb1d18a18ab7669a33dc1ca7ae: tcg: Fix tcg_reg_alloc_mov vs no-op truncation (2014-05-14 09:56:13 -0700) are available in the git repository at: git://github.com/rth7680/qemu.git tags/pull-tcg-s390-20140515 for you to fetch changes up to a10c64e0df3acbefdee1b2b837f76f05b0231aae: tcg-s390: Implement direct chaining of TBs (2014-05-15 09:22:32 -0700) ---------------------------------------------------------------- tcg/s390 updates ---------------------------------------------------------------- Richard Henderson (11): tcg-s390: Fix off-by-one in wraparound andi tcg-s390: Convert to TCGMemOp tcg-s390: Integrate endianness into TCGMemOp tcg-s390: Convert to new ldst opcodes tcg-s390: Move ldst helpers out of line tcg-s390: Use more risbg in the tlb sequence tcg-s390: Implement tcg_register_jit tcg-s390: Allow immediate operands to add2 and sub2 tcg-s390: Improve setcond tcg-s390: Don't force -march=z990 tcg-s390: Implement direct chaining of TBs configure | 4 +- include/exec/exec-all.h | 9 + tcg/s390/tcg-target.c | 752 ++++++++++++++++++++++++++++-------------------- tcg/s390/tcg-target.h | 2 +- 4 files changed, 455 insertions(+), 312 deletions(-)