First part (TCG, testing postponed) of RFC v1:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg782449.html
3 patches can still be improved for performance, but the improvement
is not yet addressed in this series. Other patches are good enough
for review.
https://gitlab.com/philmd/qemu/-/commits/mips-r5900-v2
Based-on: mips-next
Supersedes: <20210214175912.732946-1-f4bug@amsat.org>
Philippe Mathieu-Daudé (22):
target/mips/tx79: Move MFHI1 / MFLO1 opcodes to decodetree
target/mips/tx79: Move MTHI1 / MTLO1 opcodes to decodetree
target/mips/translate: Make gen_rdhwr() public
target/mips/translate: Simplify PCPYH using deposit_i64()
target/mips/tx79: Move PCPYH opcode to decodetree
target/mips/tx79: Move PCPYLD / PCPYUD opcodes to decodetree
target/mips: Remove 'C790 Multimedia Instructions' dead code
target/mips/tx79: Salvage instructions description comment
target/mips/tx79: Introduce PAND/POR/PXOR/PNOR opcodes (parallel
logic)
target/mips/tx79: Introduce PSUB* opcodes (Parallel Subtract)
target/mips/tx79: Introduce PEXTUW (Parallel Extend Upper from Word)
target/mips/tx79: Introduce PEXTL[BHW] opcodes (Parallel Extend Lower)
target/mips/tx79: Introduce PCEQ* opcodes (Parallel Compare for Equal)
target/mips/tx79: Introduce PCGT* (Parallel Compare for Greater Than)
target/mips/tx79: Introduce PPACW opcode (Parallel Pack to Word)
target/mips/tx79: Introduce PINTEH (Parallel Interleave Even Halfword)
target/mips/tx79: Introduce PEXE[HW] opcodes (Parallel Exchange Even)
target/mips/tx79: Introduce PROT3W opcode (Parallel Rotate 3 Words)
target/mips/tx79: Introduce LQ opcode (Load Quadword)
target/mips/tx79: Introduce SQ opcode (Store Quadword)
target/mips/tx79: Move RDHWR usermode kludge to trans_SQ()
target/mips: Reintroduce the R5900 CPU
target/mips/translate.h | 6 +
target/mips/tx79.decode | 79 ++++
target/mips/translate.c | 790 +---------------------------------
target/mips/tx79_translate.c | 808 +++++++++++++++++++++++++++++++++++
target/mips/txx9_translate.c | 20 +
target/mips/cpu-defs.c.inc | 59 +++
target/mips/meson.build | 5 +
7 files changed, 983 insertions(+), 784 deletions(-)
create mode 100644 target/mips/tx79.decode
create mode 100644 target/mips/tx79_translate.c
create mode 100644 target/mips/txx9_translate.c
--
2.26.2