Since v2: - Fix translator_ld() calls - Add support for 48-bit nanoMIPS opcodes - Convert Load Immediate opcode ---
Prepare buildsys to decode micro/nanoMIPS opcodes using the decodetree script. Simplify gen_lsa/dsa() and convert micro/nanoMIPS LSA opcode to decodetree. Philippe Mathieu-Daudé (16): target/mips: Extract gen_base_index_addr() helper target/mips: Extract generic gen_lx() helper target/mips: Convert Octeon LX instructions to decodetree target/mips: Call translator_ld() in translate_insn() callees target/mips: Have gen_[d]lsa() callers add 1 to shift amount argument target/mips: Decode LSA shift amount using decodetree function target/mips: Introduce decode tree bindings for MIPS16e ASE target/mips: Introduce decode tree bindings for microMIPS ISA scripts/decodetree: Add support for 48-bit instructions target/mips: Introduce decode tree bindings for nanoMIPS ISA target/mips: Convert microMIPS LSA opcode to decodetree target/mips: Convert nanoMIPS LSA opcode to decodetree target/mips: Add gen_li() helper target/mips: Convert microMIPS LI opcode to decodetree target/mips: Convert MIPS16e LI opcodes to decodetree target/mips: Convert nanoMIPS LI opcodes to decodetree target/mips/tcg/translate.h | 10 +++ target/mips/tcg/micromips16.decode | 20 ++++++ target/mips/tcg/micromips32.decode | 19 +++++ target/mips/tcg/mips16e_16.decode | 17 +++++ target/mips/tcg/mips16e_32.decode | 18 +++++ target/mips/tcg/msa.decode | 3 +- target/mips/tcg/nanomips16.decode | 16 +++++ target/mips/tcg/nanomips32.decode | 14 ++++ target/mips/tcg/nanomips48.decode | 16 +++++ target/mips/tcg/octeon.decode | 8 +++ target/mips/tcg/rel6.decode | 4 +- target/mips/tcg/comput_translate.c | 21 ++++++ target/mips/tcg/micromips_translate.c | 43 ++++++++++++ target/mips/tcg/mips16e_translate.c | 28 ++++++++ target/mips/tcg/nanomips_translate.c | 43 ++++++++++++ target/mips/tcg/octeon_translate.c | 12 ++++ target/mips/tcg/rel6_translate.c | 5 ++ target/mips/tcg/translate.c | 84 +++++++++-------------- target/mips/tcg/translate_addr_const.c | 4 +- target/mips/tcg/micromips_translate.c.inc | 29 ++++---- target/mips/tcg/mips16e_translate.c.inc | 24 +++---- target/mips/tcg/nanomips_translate.c.inc | 54 +++++++-------- scripts/decodetree.py | 4 ++ target/mips/tcg/meson.build | 11 +++ 24 files changed, 392 insertions(+), 115 deletions(-) create mode 100644 target/mips/tcg/micromips16.decode create mode 100644 target/mips/tcg/micromips32.decode create mode 100644 target/mips/tcg/mips16e_16.decode create mode 100644 target/mips/tcg/mips16e_32.decode create mode 100644 target/mips/tcg/nanomips16.decode create mode 100644 target/mips/tcg/nanomips32.decode create mode 100644 target/mips/tcg/nanomips48.decode create mode 100644 target/mips/tcg/comput_translate.c create mode 100644 target/mips/tcg/micromips_translate.c create mode 100644 target/mips/tcg/mips16e_translate.c create mode 100644 target/mips/tcg/nanomips_translate.c -- 2.45.2