qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH 0/3] MIPS decodetree conversion attempt


From: Jiaxun Yang
Subject: [RFC PATCH 0/3] MIPS decodetree conversion attempt
Date: Wed, 21 Sep 2022 13:41:02 +0100

Hi,

This is my attempt of converting MIPS translation code into decodetree.

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.

Thanks.

- Jiaxun

Jiaxun Yang (3):
  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/tcg/insn_trans/trans_arith.c.inc  | 352 ++++++++++++++++++
 target/mips/tcg/legacy.decode                 |  62 +++
 target/mips/tcg/meson.build                   |   1 +
 target/mips/tcg/translate.c                   | 143 ++++++-
 target/mips/tcg/translate.h                   |  54 +++
 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 ++++++
 25 files changed, 2206 insertions(+), 1 deletion(-)
 create mode 100644 target/mips/tcg/insn_trans/trans_arith.c.inc
 create mode 100644 target/mips/tcg/legacy.decode
 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]