Skip to content

s390x/tcg: Implement Miscellaneous-Instruction-Extensions Facility 3 for the s390x

Goal

The emulation part of QEMU (currently TCG) for the s390x architecture lacks some facilities that were introduced with Z15 and used by GCC and LLVM with -march=z15. The goal of this reuquest is to implement the Miscellaneous-Instruction-Extensions Facility 3 for the s390x tcg frontend so that s390x user and softmmu targets will be able to handle code containing instructions of that facility.

Technical details

  1. Implement the TCG variant for the Miscellaneous-Instruction-Extensions Facility 3 containing
  • AND WITH COMPLEMENT (NCRK, NCGRK)
  • MOVE RIGHT TO LEFT
  • NAND (NNRK, NNGRK)
  • NOT EXCLUSIVE OR (NXRK, NXGRK)
  • NOR (NORK, NOGRK)
  • OR WITH COMPLEMENT (OCRK, OCGRK)
  • SELECT (SEL, SELGR)
  • SELECT HIGH (SELFHR)
  1. Enable S390_FEAT_MISC_INSTRUCTION_EXT3 in the CPU model for the QEMU_MAX model
  2. Add testcases for the TCG implementation.

Additional information

http://publibfp.dhe.ibm.com/epubs/pdf/a227832c.pdf

Edited by Christian Borntraeger
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information