MediaTek Hoping To Bring nanoMIPS


Designed for embedded devices, nanoMIPS is a variable lengths instruction set architecture (ISA) offering high performance in substantially reduced code size. 

The nanoMIPS architecture that was announced by MIPS in 2018 for embedded devices to lower power consumption and yield smaller code footprints was announced for the MIPS I7200 but since then there hasn't been much of nanoMIPS. However, MediaTek is now looking to contribute upstream the compiler support for this processor ISA into GCC. 

The MIPS architecture itself is now abandoned upstream to focus on RISC-V. MIPS Technologies formerly tried unsuccessfully (never finished) to get nanoMIPS support into the upstream GCC compiler but rather relying on their out-of-tree toolchain. MediaTek though is now working on nanoMIPS compiler support. MediaTek engineers haven't mentioned why in 2021 they are working on nanoMIPS support for upstream GCC, but presumably it's due to still relying on that ISA within the control processors of their modems. 

Sent out on Sunday was this initial patch series for nanoMIPS for the GNU Compiler Collect. Paired with MediaTek's out-of-tree newlib/binutils/gold code, it's enough to yield a working nanomips-elf toolchain. The code itself is still tentative along with some open design questions over the MIPS vs. nanoMIPS code sharing in GCC, but we'll see now if there is enough effort to get the support upstreamed even with the waning interest in (nano)MIPS.

The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems.