[PATCH v2 0/6] Add support for nanoMIPS architecture

"Tsing" <[email protected]> Fri, 24 Jul 2026 18:30:52 +0800
Newsgroups gmane.comp.gnu.binutils
Message-ID <[email protected]>
From: tsing <[email protected]>

This set of patches provides support for the nanomips architecture
in the Gas, BFD and Opcodes.

Cherry-picked 9a9bfa11341055cc3d8c5374d6a40634d5502176
from https://github.com/MediaTek-Labs/binutils-gdb
Author: Faraz Shahbazker <[email protected]>

The whole set of patches has been tested in the following
configurations:
        host                    target
        ----                    ------
        x86_64-linux-gnu        nanomips-mti-elf

Compile parameters: --disable-libmcheck --disable-gdb --disable-nls
                    --disable-werror --with-expat


tsing (6):
  Gas changes for nanoMIPS support.
  BFD changes for nanoMIPS support.
  Opcodes changes for nanoMIPS support.
  Readelf for nanoMIPS.
  Add nanoMIPS documentation.
  Add nanoMIPS tests.

 bfd/Makefile.am                               |    17 +
 bfd/Makefile.in                               |    20 +
 bfd/archures.c                                |     5 +
 bfd/bfd-in2.h                                 |    72 +
 bfd/config.bfd                                |    11 +
 bfd/configure                                 |     4 +
 bfd/configure.ac                              |     4 +
 bfd/cpu-nanomips.c                            |    61 +
 bfd/elf-bfd.h                                 |     1 +
 bfd/elfnn-nanomips.c                          |  1535 ++
 bfd/elfxx-nanomips.c                          |   449 +
 bfd/elfxx-nanomips.h                          |    46 +
 bfd/libbfd.h                                  |    67 +
 bfd/reloc.c                                   |   138 +
 bfd/targets.c                                 |    11 +
 binutils/doc/binutils.texi                    |     7 +
 binutils/readelf.c                            |   422 +
 binutils/testsuite/binutils-all/objdump.exp   |     3 +-
 config/mt-nanomips                            |     3 +
 configure                                     |     9 +
 configure.ac                                  |     9 +
 gas/Makefile.am                               |     2 +
 gas/Makefile.in                               |     5 +
 gas/config.in                                 |     9 +
 gas/config/obj-elf.h                          |     5 +
 gas/config/tc-nanomips.c                      | 11667 ++++++++++++++++
 gas/config/tc-nanomips.h                      |   187 +
 gas/configure                                 |    54 +
 gas/configure.ac                              |    45 +
 gas/configure.tgt                             |     5 +
 gas/doc/all.texi                              |     1 +
 gas/doc/as.texi                               |   189 +
 gas/doc/c-nanomips-aliases.texi               |  1527 ++
 gas/doc/c-nanomips-macros.texi                |  3136 +++++
 gas/doc/c-nanomips.texi                       |  1499 ++
 gas/read.c                                    |     2 +-
 gas/testsuite/gas/all/gas.exp                 |     6 +-
 gas/testsuite/gas/cfi/cfi-nanomips-1.d        |    29 +
 gas/testsuite/gas/cfi/cfi.exp                 |     5 +-
 gas/testsuite/gas/elf/elf.exp                 |     6 +
 gas/testsuite/gas/elf/section2.e-nanomips     |     8 +
 gas/testsuite/gas/nanomips/abi32-pic.d        |    94 +
 gas/testsuite/gas/nanomips/abi32-pic.s        |    38 +
 gas/testsuite/gas/nanomips/abi32.d            |    79 +
 gas/testsuite/gas/nanomips/abi32.s            |    70 +
 gas/testsuite/gas/nanomips/abs.d              |    17 +
 gas/testsuite/gas/nanomips/abs.s              |     4 +
 gas/testsuite/gas/nanomips/add.d              |    24 +
 gas/testsuite/gas/nanomips/add.s              |    13 +
 gas/testsuite/gas/nanomips/addu.d             |    23 +
 gas/testsuite/gas/nanomips/addu.s             |     9 +
 gas/testsuite/gas/nanomips/aent.d             |    13 +
 gas/testsuite/gas/nanomips/aent.s             |    16 +
 gas/testsuite/gas/nanomips/and.d              |    35 +
 gas/testsuite/gas/nanomips/and.s              |    23 +
 gas/testsuite/gas/nanomips/baddata1.l         |     3 +
 gas/testsuite/gas/nanomips/baddata1.s         |     9 +
 gas/testsuite/gas/nanomips/beq.d              |    39 +
 gas/testsuite/gas/nanomips/beq.s              |    22 +
 gas/testsuite/gas/nanomips/bge.d              |    53 +
 gas/testsuite/gas/nanomips/bge.s              |    24 +
 gas/testsuite/gas/nanomips/bgeu.d             |    44 +
 gas/testsuite/gas/nanomips/bgeu.s             |    21 +
 gas/testsuite/gas/nanomips/blt.d              |    52 +
 gas/testsuite/gas/nanomips/blt.s              |    24 +
 gas/testsuite/gas/nanomips/bltu.d             |    44 +
 gas/testsuite/gas/nanomips/bltu.s             |    21 +
 .../gas/nanomips/cp0-names-numeric.d          |    44 +
 gas/testsuite/gas/nanomips/cp0-names.d        |    43 +
 gas/testsuite/gas/nanomips/cp0-names.s        |    38 +
 .../gas/nanomips/cp0sel-names-numeric.d       |   236 +
 gas/testsuite/gas/nanomips/cp0sel-names.d     |   235 +
 gas/testsuite/gas/nanomips/cp0sel-names.s     |   236 +
 gas/testsuite/gas/nanomips/ctc.d              |    87 +
 gas/testsuite/gas/nanomips/ctc.s              |    66 +
 gas/testsuite/gas/nanomips/debug-dis.d        |    18 +
 gas/testsuite/gas/nanomips/debug-dis.s        |    12 +
 gas/testsuite/gas/nanomips/div.d              |    45 +
 gas/testsuite/gas/nanomips/div.s              |    31 +
 gas/testsuite/gas/nanomips/empty.s            |     3 +
 gas/testsuite/gas/nanomips/expr-const.d       |    11 +
 gas/testsuite/gas/nanomips/expr-const.s       |    24 +
 gas/testsuite/gas/nanomips/expr-ill.l         |     7 +
 gas/testsuite/gas/nanomips/expr-ill.s         |    20 +
 gas/testsuite/gas/nanomips/expr-sym.d         |    71 +
 gas/testsuite/gas/nanomips/expr-sym.s         |    36 +
 gas/testsuite/gas/nanomips/expr-vol.d         |    17 +
 gas/testsuite/gas/nanomips/expr-vol.s         |    17 +
 gas/testsuite/gas/nanomips/expr1.d            |    18 +
 gas/testsuite/gas/nanomips/expr1.s            |     9 +
 .../gas/nanomips/gpr-names-numeric.d          |    44 +
 gas/testsuite/gas/nanomips/gpr-names.d        |    44 +
 gas/testsuite/gas/nanomips/gpr-names.s        |    38 +
 .../gas/nanomips/hwr-names-numeric.d          |    59 +
 .../gas/nanomips/hwr-names-numeric.s          |    53 +
 .../gas/nanomips/insn-suffix-error.l          |    20 +
 .../gas/nanomips/insn-suffix-error.s          |    22 +
 gas/testsuite/gas/nanomips/isa-errors.l       |     7 +
 gas/testsuite/gas/nanomips/isa-errors.s       |     9 +
 gas/testsuite/gas/nanomips/jal.d              |    21 +
 gas/testsuite/gas/nanomips/jal.s              |    11 +
 gas/testsuite/gas/nanomips/jalr.l             |     3 +
 gas/testsuite/gas/nanomips/jalr.s             |    15 +
 gas/testsuite/gas/nanomips/la-lpic-mclarge.d  |   116 +
 gas/testsuite/gas/nanomips/la-lpic-mcmedium.d |   116 +
 gas/testsuite/gas/nanomips/la-mclarge-pcrel.d |   116 +
 gas/testsuite/gas/nanomips/la-mclarge.d       |   115 +
 gas/testsuite/gas/nanomips/la-pcrel.d         |   116 +
 gas/testsuite/gas/nanomips/la-pic-mclarge.d   |   116 +
 gas/testsuite/gas/nanomips/la-pic.d           |   156 +
 gas/testsuite/gas/nanomips/la.d               |   115 +
 gas/testsuite/gas/nanomips/la.s               |    82 +
 gas/testsuite/gas/nanomips/lb.d               |   176 +
 gas/testsuite/gas/nanomips/lb.s               |    72 +
 gas/testsuite/gas/nanomips/ld-reloc.d         |    86 +
 gas/testsuite/gas/nanomips/ld-reloc.s         |    34 +
 gas/testsuite/gas/nanomips/ld.d               |   174 +
 gas/testsuite/gas/nanomips/ld.s               |   145 +
 gas/testsuite/gas/nanomips/li.d               |    16 +
 gas/testsuite/gas/nanomips/li.s               |     9 +
 gas/testsuite/gas/nanomips/lif-pic.d          |    16 +
 gas/testsuite/gas/nanomips/lifloat-mem.d      |    20 +
 gas/testsuite/gas/nanomips/lifloat-nms.d      |    20 +
 gas/testsuite/gas/nanomips/lifloat.d          |    15 +
 gas/testsuite/gas/nanomips/lifloat.s          |     6 +
 gas/testsuite/gas/nanomips/lineno.d           |    86 +
 gas/testsuite/gas/nanomips/lineno.s           |    54 +
 gas/testsuite/gas/nanomips/linkrelax-dis.d    |    30 +
 gas/testsuite/gas/nanomips/linkrelax-dis.s    |    14 +
 gas/testsuite/gas/nanomips/linkrelax-relocs.d |    79 +
 gas/testsuite/gas/nanomips/linkrelax.d        |    17 +
 gas/testsuite/gas/nanomips/linkrelax.s        |    54 +
 gas/testsuite/gas/nanomips/mcmodel-err.l      |     3 +
 gas/testsuite/gas/nanomips/mcmodel-err.s      |     2 +
 gas/testsuite/gas/nanomips/mcmodel.l          |     0
 gas/testsuite/gas/nanomips/mcmodel.s          |     3 +
 gas/testsuite/gas/nanomips/move.d             |    14 +
 gas/testsuite/gas/nanomips/move.s             |     3 +
 gas/testsuite/gas/nanomips/mt-ase.d           |   651 +
 gas/testsuite/gas/nanomips/mt-ase.s           |   656 +
 gas/testsuite/gas/nanomips/mvh.d              |    16 +
 gas/testsuite/gas/nanomips/mvh.s              |    12 +
 gas/testsuite/gas/nanomips/nanomips-error.l   |    26 +
 gas/testsuite/gas/nanomips/nanomips-error.s   |    46 +
 .../gas/nanomips/nanomips-exc-noalias.d       |   254 +
 gas/testsuite/gas/nanomips/nanomips-exc.s     |   282 +
 gas/testsuite/gas/nanomips/nanomips-exc32.d   |   198 +
 gas/testsuite/gas/nanomips/nanomips-subset.d  |    37 +
 gas/testsuite/gas/nanomips/nanomips-subset.s  |    23 +
 gas/testsuite/gas/nanomips/nanomips.d         |  2317 +++
 gas/testsuite/gas/nanomips/nanomips.exp       |   557 +
 gas/testsuite/gas/nanomips/nanomips.l         |    10 +
 gas/testsuite/gas/nanomips/nanomips.s         |  2034 +++
 gas/testsuite/gas/nanomips/nanomips32.d       |  2309 +++
 .../gas/nanomips/[email protected]        |  2318 +++
 .../gas/nanomips/[email protected]      |  2309 +++
 .../gas/nanomips/[email protected]        |   206 +
 .../gas/nanomips/[email protected]       |   206 +
 .../gas/nanomips/[email protected]       |   206 +
 gas/testsuite/gas/nanomips/[email protected]   |   206 +
 gas/testsuite/gas/nanomips/[email protected]     |   176 +
 .../gas/nanomips/[email protected]         |   156 +
 gas/testsuite/gas/nanomips/[email protected]           |   175 +
 gas/testsuite/gas/nanomips/[email protected]  |    23 +
 gas/testsuite/gas/nanomips/[email protected]      |    21 +
 gas/testsuite/gas/nanomips/[email protected]   |    10 +
 gas/testsuite/gas/nanomips/[email protected]   |    26 +
 .../gas/nanomips/nolinkrelax-relocs.d         |    14 +
 gas/testsuite/gas/nanomips/nolinkrelax.d      |    17 +
 gas/testsuite/gas/nanomips/rol.d              |    28 +
 gas/testsuite/gas/nanomips/rol.s              |    22 +
 gas/testsuite/gas/nanomips/save-error.l       |    16 +
 gas/testsuite/gas/nanomips/save-error.s       |    42 +
 gas/testsuite/gas/nanomips/save-relocs.d      |    22 +
 gas/testsuite/gas/nanomips/save.d             |    64 +
 gas/testsuite/gas/nanomips/save.s             |    94 +
 gas/testsuite/gas/nanomips/sb.d               |   175 +
 gas/testsuite/gas/nanomips/sb.s               |    71 +
 include/dis-asm.h                             |     1 +
 include/elf/common.h                          |     1 +
 include/elf/nanomips.h                        |   211 +
 include/opcode/nanomips.h                     |  1238 ++
 ld/configure.tgt                              |     2 +
 ld/gen-doc.texi                               |     1 +
 ld/ld.texi                                    |    37 +
 opcodes/Makefile.am                           |     2 +
 opcodes/Makefile.in                           |     4 +
 opcodes/configure                             |     1 +
 opcodes/configure.ac                          |     1 +
 opcodes/disassemble.c                         |    14 +
 opcodes/disassemble.h                         |     1 +
 opcodes/nanomips-dis.c                        |  1394 ++
 opcodes/nanomips-formats.h                    |   265 +
 opcodes/nanomips-opc.c                        |   807 ++
 194 files changed, 45967 insertions(+), 5 deletions(-)
 create mode 100644 bfd/cpu-nanomips.c
 create mode 100644 bfd/elfnn-nanomips.c
 create mode 100644 bfd/elfxx-nanomips.c
 create mode 100644 bfd/elfxx-nanomips.h
 create mode 100644 config/mt-nanomips
 create mode 100644 gas/config/tc-nanomips.c
 create mode 100644 gas/config/tc-nanomips.h
 create mode 100644 gas/doc/c-nanomips-aliases.texi
 create mode 100644 gas/doc/c-nanomips-macros.texi
 create mode 100644 gas/doc/c-nanomips.texi
 create mode 100644 gas/testsuite/gas/cfi/cfi-nanomips-1.d
 create mode 100644 gas/testsuite/gas/elf/section2.e-nanomips
 create mode 100644 gas/testsuite/gas/nanomips/abi32-pic.d
 create mode 100644 gas/testsuite/gas/nanomips/abi32-pic.s
 create mode 100644 gas/testsuite/gas/nanomips/abi32.d
 create mode 100644 gas/testsuite/gas/nanomips/abi32.s
 create mode 100644 gas/testsuite/gas/nanomips/abs.d
 create mode 100644 gas/testsuite/gas/nanomips/abs.s
 create mode 100644 gas/testsuite/gas/nanomips/add.d
 create mode 100644 gas/testsuite/gas/nanomips/add.s
 create mode 100644 gas/testsuite/gas/nanomips/addu.d
 create mode 100644 gas/testsuite/gas/nanomips/addu.s
 create mode 100644 gas/testsuite/gas/nanomips/aent.d
 create mode 100644 gas/testsuite/gas/nanomips/aent.s
 create mode 100644 gas/testsuite/gas/nanomips/and.d
 create mode 100644 gas/testsuite/gas/nanomips/and.s
 create mode 100644 gas/testsuite/gas/nanomips/baddata1.l
 create mode 100644 gas/testsuite/gas/nanomips/baddata1.s
 create mode 100644 gas/testsuite/gas/nanomips/beq.d
 create mode 100644 gas/testsuite/gas/nanomips/beq.s
 create mode 100644 gas/testsuite/gas/nanomips/bge.d
 create mode 100644 gas/testsuite/gas/nanomips/bge.s
 create mode 100644 gas/testsuite/gas/nanomips/bgeu.d
 create mode 100644 gas/testsuite/gas/nanomips/bgeu.s
 create mode 100644 gas/testsuite/gas/nanomips/blt.d
 create mode 100644 gas/testsuite/gas/nanomips/blt.s
 create mode 100644 gas/testsuite/gas/nanomips/bltu.d
 create mode 100644 gas/testsuite/gas/nanomips/bltu.s
 create mode 100644 gas/testsuite/gas/nanomips/cp0-names-numeric.d
 create mode 100644 gas/testsuite/gas/nanomips/cp0-names.d
 create mode 100644 gas/testsuite/gas/nanomips/cp0-names.s
 create mode 100644 gas/testsuite/gas/nanomips/cp0sel-names-numeric.d
 create mode 100644 gas/testsuite/gas/nanomips/cp0sel-names.d
 create mode 100644 gas/testsuite/gas/nanomips/cp0sel-names.s
 create mode 100644 gas/testsuite/gas/nanomips/ctc.d
 create mode 100644 gas/testsuite/gas/nanomips/ctc.s
 create mode 100644 gas/testsuite/gas/nanomips/debug-dis.d
 create mode 100644 gas/testsuite/gas/nanomips/debug-dis.s
 create mode 100644 gas/testsuite/gas/nanomips/div.d
 create mode 100644 gas/testsuite/gas/nanomips/div.s
 create mode 100644 gas/testsuite/gas/nanomips/empty.s
 create mode 100644 gas/testsuite/gas/nanomips/expr-const.d
 create mode 100644 gas/testsuite/gas/nanomips/expr-const.s
 create mode 100644 gas/testsuite/gas/nanomips/expr-ill.l
 create mode 100644 gas/testsuite/gas/nanomips/expr-ill.s
 create mode 100644 gas/testsuite/gas/nanomips/expr-sym.d
 create mode 100644 gas/testsuite/gas/nanomips/expr-sym.s
 create mode 100644 gas/testsuite/gas/nanomips/expr-vol.d
 create mode 100644 gas/testsuite/gas/nanomips/expr-vol.s
 create mode 100644 gas/testsuite/gas/nanomips/expr1.d
 create mode 100644 gas/testsuite/gas/nanomips/expr1.s
 create mode 100644 gas/testsuite/gas/nanomips/gpr-names-numeric.d
 create mode 100644 gas/testsuite/gas/nanomips/gpr-names.d
 create mode 100644 gas/testsuite/gas/nanomips/gpr-names.s
 create mode 100644 gas/testsuite/gas/nanomips/hwr-names-numeric.d
 create mode 100644 gas/testsuite/gas/nanomips/hwr-names-numeric.s
 create mode 100644 gas/testsuite/gas/nanomips/insn-suffix-error.l
 create mode 100644 gas/testsuite/gas/nanomips/insn-suffix-error.s
 create mode 100644 gas/testsuite/gas/nanomips/isa-errors.l
 create mode 100644 gas/testsuite/gas/nanomips/isa-errors.s
 create mode 100644 gas/testsuite/gas/nanomips/jal.d
 create mode 100644 gas/testsuite/gas/nanomips/jal.s
 create mode 100644 gas/testsuite/gas/nanomips/jalr.l
 create mode 100644 gas/testsuite/gas/nanomips/jalr.s
 create mode 100644 gas/testsuite/gas/nanomips/la-lpic-mclarge.d
 create mode 100644 gas/testsuite/gas/nanomips/la-lpic-mcmedium.d
 create mode 100644 gas/testsuite/gas/nanomips/la-mclarge-pcrel.d
 create mode 100644 gas/testsuite/gas/nanomips/la-mclarge.d
 create mode 100644 gas/testsuite/gas/nanomips/la-pcrel.d
 create mode 100644 gas/testsuite/gas/nanomips/la-pic-mclarge.d
 create mode 100644 gas/testsuite/gas/nanomips/la-pic.d
 create mode 100644 gas/testsuite/gas/nanomips/la.d
 create mode 100644 gas/testsuite/gas/nanomips/la.s
 create mode 100644 gas/testsuite/gas/nanomips/lb.d
 create mode 100644 gas/testsuite/gas/nanomips/lb.s
 create mode 100644 gas/testsuite/gas/nanomips/ld-reloc.d
 create mode 100644 gas/testsuite/gas/nanomips/ld-reloc.s
 create mode 100644 gas/testsuite/gas/nanomips/ld.d
 create mode 100644 gas/testsuite/gas/nanomips/ld.s
 create mode 100644 gas/testsuite/gas/nanomips/li.d
 create mode 100644 gas/testsuite/gas/nanomips/li.s
 create mode 100644 gas/testsuite/gas/nanomips/lif-pic.d
 create mode 100644 gas/testsuite/gas/nanomips/lifloat-mem.d
 create mode 100644 gas/testsuite/gas/nanomips/lifloat-nms.d
 create mode 100644 gas/testsuite/gas/nanomips/lifloat.d
 create mode 100644 gas/testsuite/gas/nanomips/lifloat.s
 create mode 100644 gas/testsuite/gas/nanomips/lineno.d
 create mode 100644 gas/testsuite/gas/nanomips/lineno.s
 create mode 100644 gas/testsuite/gas/nanomips/linkrelax-dis.d
 create mode 100644 gas/testsuite/gas/nanomips/linkrelax-dis.s
 create mode 100644 gas/testsuite/gas/nanomips/linkrelax-relocs.d
 create mode 100644 gas/testsuite/gas/nanomips/linkrelax.d
 create mode 100644 gas/testsuite/gas/nanomips/linkrelax.s
 create mode 100644 gas/testsuite/gas/nanomips/mcmodel-err.l
 create mode 100644 gas/testsuite/gas/nanomips/mcmodel-err.s
 create mode 100644 gas/testsuite/gas/nanomips/mcmodel.l
 create mode 100644 gas/testsuite/gas/nanomips/mcmodel.s
 create mode 100644 gas/testsuite/gas/nanomips/move.d
 create mode 100644 gas/testsuite/gas/nanomips/move.s
 create mode 100644 gas/testsuite/gas/nanomips/mt-ase.d
 create mode 100644 gas/testsuite/gas/nanomips/mt-ase.s
 create mode 100644 gas/testsuite/gas/nanomips/mvh.d
 create mode 100644 gas/testsuite/gas/nanomips/mvh.s
 create mode 100644 gas/testsuite/gas/nanomips/nanomips-error.l
 create mode 100644 gas/testsuite/gas/nanomips/nanomips-error.s
 create mode 100644 gas/testsuite/gas/nanomips/nanomips-exc-noalias.d
 create mode 100644 gas/testsuite/gas/nanomips/nanomips-exc.s
 create mode 100644 gas/testsuite/gas/nanomips/nanomips-exc32.d
 create mode 100644 gas/testsuite/gas/nanomips/nanomips-subset.d
 create mode 100644 gas/testsuite/gas/nanomips/nanomips-subset.s
 create mode 100644 gas/testsuite/gas/nanomips/nanomips.d
 create mode 100644 gas/testsuite/gas/nanomips/nanomips.exp
 create mode 100644 gas/testsuite/gas/nanomips/nanomips.l
 create mode 100644 gas/testsuite/gas/nanomips/nanomips.s
 create mode 100644 gas/testsuite/gas/nanomips/nanomips32.d
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/[email protected]
 create mode 100644 gas/testsuite/gas/nanomips/nolinkrelax-relocs.d
 create mode 100644 gas/testsuite/gas/nanomips/nolinkrelax.d
 create mode 100644 gas/testsuite/gas/nanomips/rol.d
 create mode 100644 gas/testsuite/gas/nanomips/rol.s
 create mode 100644 gas/testsuite/gas/nanomips/save-error.l
 create mode 100644 gas/testsuite/gas/nanomips/save-error.s
 create mode 100644 gas/testsuite/gas/nanomips/save-relocs.d
 create mode 100644 gas/testsuite/gas/nanomips/save.d
 create mode 100644 gas/testsuite/gas/nanomips/save.s
 create mode 100644 gas/testsuite/gas/nanomips/sb.d
 create mode 100644 gas/testsuite/gas/nanomips/sb.s
 create mode 100644 include/elf/nanomips.h
 create mode 100644 include/opcode/nanomips.h
 create mode 100644 opcodes/nanomips-dis.c
 create mode 100644 opcodes/nanomips-formats.h
 create mode 100644 opcodes/nanomips-opc.c

-- 
2.39.5