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

Reply via email to