[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 0/3] MIPS decodetree conversion attempt
From: |
Jiaxun Yang |
Subject: |
Re: [RFC PATCH 0/3] MIPS decodetree conversion attempt |
Date: |
Mon, 26 Sep 2022 15:44:18 +0100 |
> 2022年9月21日 13:41,Jiaxun Yang <jiaxun.yang@flygoat.com> 写道:
>
> 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.
A kindly ping :-)
Will send v1 tomorrow if no objection.
Thanks
- Jiaxun
>
> 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
>
---
Jiaxun Yang