On Sat, 27 Sep 2025, YunQiang Su via Gcc-cvs wrote: > Make -mmips16e2 imply -mips16 as the ASE requires, so users won't > be surprised even if they expect it to. Meanwhile, check if > mips_isa_rev <= 5 when -mips16 is effective and >= 2 when -mmips16e2 > is effective.
This is broken and changes the semantics. While `-mips16' changes the ISA, `-mmips16e2' only specifies the MIPS16 instruction set available for compilation, so that functions marked with `__attribute__((mips16))' will use MIPS16e2 instructions but regular MIPS code is produced otherwise. How can you achieve that with the changed semantics? If you do want MIPS16 code produced by default, then just use `-mips16' in addition to the ISA level selection as it's been for decades now, e.g. `-mips16 -mips32r2' for MIPS16e or `-mips16 -mmips16e2' for MIPS16e2. Maciej
