qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] MIPS decodetree conversion
@ 2022-10-24 15:23 Jiaxun Yang
  2022-10-24 15:23 ` [PATCH 1/6] target/mips: Introduce register access helper functions Jiaxun Yang
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Jiaxun Yang @ 2022-10-24 15:23 UTC (permalink / raw)
  To: qemu-devel; +Cc: f4bug, richard.henderson, Jiaxun Yang

Currently only MIPS I to MIPS Release 5 arithmatic functions are converted.
Old decoding functions are perserved in codebase for now due to dependencies
from microMIPS/nanoMIPS translation code. Will remove them after dealing with
release 6.

Both instruction encoding and test cases are generated form MIPS's internal
architecture validation tools so they are gureented to be correct.

Note:
There are some checkpatch warning/error on test cases but I'm not going to
touch them as they are generated code.

Thanks.

RFC->v1:
 - Tidy up test cases
 - Convert TX79 as well

- Jiaxun
Jiaxun Yang (6):
  target/mips: Introduce register access helper functions
  target/mips: Convert legacy arithmatic instructions to decodetree
  tests/tcg/mips: Add mips32 arithmatic instruction test cases
  target/mips: Split Loongson extention translation into standalone file
  target/mips: Move all tx79 instructions to decodetree
  target/mips: Make MXU decoder standalone

 target/mips/tcg/insn_trans/trans_arith.c.inc  |  352 +++
 target/mips/tcg/legacy.decode                 |   62 +
 target/mips/tcg/loongson_translate.c          | 1290 +++++++++++
 target/mips/tcg/meson.build                   |    2 +
 target/mips/tcg/mxu_translate.c               |   98 +-
 target/mips/tcg/translate.c                   | 1917 ++---------------
 target/mips/tcg/translate.h                   |   60 +
 target/mips/tcg/tx79.decode                   |   14 +
 target/mips/tcg/tx79_translate.c              |  205 +-
 tests/tcg/mips/include/test_utils_32.h        |   75 +
 .../tcg/mips/user/isa/mips32/arithmatic/add.c |   99 +
 .../mips/user/isa/mips32/arithmatic/addi.c    |   70 +
 .../mips/user/isa/mips32/arithmatic/addiu.c   |   90 +
 .../mips/user/isa/mips32/arithmatic/addu.c    |  125 ++
 .../tcg/mips/user/isa/mips32/arithmatic/div.c |   81 +
 .../mips/user/isa/mips32/arithmatic/divu.c    |   78 +
 .../mips/user/isa/mips32/arithmatic/madd.c    |   79 +
 .../mips/user/isa/mips32/arithmatic/maddu.c   |   78 +
 .../mips/user/isa/mips32/arithmatic/msub.c    |   78 +
 .../mips/user/isa/mips32/arithmatic/msubu.c   |   78 +
 .../tcg/mips/user/isa/mips32/arithmatic/mul.c |   78 +
 .../mips/user/isa/mips32/arithmatic/mult.c    |   78 +
 .../mips/user/isa/mips32/arithmatic/multu.c   |   78 +
 .../tcg/mips/user/isa/mips32/arithmatic/slt.c |   61 +
 .../mips/user/isa/mips32/arithmatic/slti.c    |   48 +
 .../mips/user/isa/mips32/arithmatic/sltiu.c   |   48 +
 .../mips/user/isa/mips32/arithmatic/sltu.c    |   61 +
 .../tcg/mips/user/isa/mips32/arithmatic/sub.c |  104 +
 .../mips/user/isa/mips32/arithmatic/subu.c    |  108 +
 29 files changed, 3865 insertions(+), 1730 deletions(-)
 create mode 100644 target/mips/tcg/insn_trans/trans_arith.c.inc
 create mode 100644 target/mips/tcg/legacy.decode
 create mode 100644 target/mips/tcg/loongson_translate.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/add.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/addi.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/addiu.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/addu.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/div.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/divu.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/madd.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/maddu.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/msub.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/msubu.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/mul.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/mult.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/multu.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/slt.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/slti.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/sltiu.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/sltu.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/sub.c
 create mode 100644 tests/tcg/mips/user/isa/mips32/arithmatic/subu.c

-- 
2.34.1



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-10-24 22:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-24 15:23 [PATCH 0/6] MIPS decodetree conversion Jiaxun Yang
2022-10-24 15:23 ` [PATCH 1/6] target/mips: Introduce register access helper functions Jiaxun Yang
2022-10-24 22:47   ` Richard Henderson
2022-10-24 15:23 ` [PATCH 2/6] target/mips: Convert legacy arithmatic instructions to decodetree Jiaxun Yang
2022-10-24 15:23 ` [PATCH 3/6] tests/tcg/mips: Add mips32 arithmatic instruction test cases Jiaxun Yang
2022-10-24 15:23 ` [PATCH 4/6] target/mips: Split Loongson extention translation into standalone file Jiaxun Yang
2022-10-24 15:23 ` [PATCH 5/6] target/mips: Move all tx79 instructions to decodetree Jiaxun Yang
2022-10-24 15:23 ` [PATCH 6/6] target/mips: Make MXU decoder standalone Jiaxun Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).