On Thu, 20 Apr 2023, Jiaxun Yang wrote: > This is a perfect example, strictly speaking VZ extension is a addition of MIPS Release 5, > LLVM is doing nothing wrong. > In reality we are happy to run MIPS Release 2 Kernel on Release 5 CPUs, so GAS decided > to allow it live with any MIPS level. It wasn't "decided" for GAS (or libopcodes to be exact), it just happened by chance (or call it sloppiness if you prefer). There used to be effort outstanding to clean up ISA opcode assignment in GNU binutils for R3 to R5, but following the collapse of IMG/MTI it has never happened. Cf. e.g. binutils commit 9785fc2a4d22 ("MIPS: Fix XPA base and Virtualization ASE instruction handling"), and as I recall there was a discussion on the binutils mailing list covering these matters too. Maciej