Based-on: 20221202053958.223890-1-richard.hender...@linaro.org ("[PATCH for-8.0 v3 00/34] tcg misc patches")
This contains two patches that exercise the register pair patches within the "tcg misc patches" patch set. Then a couple of misc cleanups, then support for the MIE2, MIE3, and POPCOUNT features. One thing to play with: the middle-end can expand ctz based on either clz or ctpop, and for z16 we now have both. I've got an idea that for s390x the most general case of the expansion would be better with clz. Which leads me to wonder if there's a better way to manage such expansions, but I haven't thought about it too much yet. r~ Richard Henderson (13): tcg/s390x: Use register pair allocation for div and mulu2 tcg/s390x: Remove TCG_REG_TB tcg/s390x: Use LARL+AGHI for odd addresses tcg/s390x: Distinguish RRF-a and RRF-c formats tcg/s390x: Distinguish RIE formats tcg/s390x: Support MIE2 multiply single instructions tcg/s390x: Support MIE2 MGRK instruction tcg/s390x: Support MIE3 logical operations tcg/s390x: Create tgen_cmp2 to simplify movcond tcg/s390x: Generalize movcond implementation tcg/s390x: Support SELGR instruction in movcond tcg/s390x: Use tgen_movcond_int in tgen_clz tcg/s390x: Implement ctpop operation tcg/s390x/tcg-target-con-set.h | 11 +- tcg/s390x/tcg-target-con-str.h | 8 +- tcg/s390x/tcg-target.h | 35 +- tcg/s390x/tcg-target.c.inc | 663 ++++++++++++++++++++------------- 4 files changed, 430 insertions(+), 287 deletions(-) -- 2.34.1