On Thu, 2025-01-16 at 11:41 +0000, Maciej W. Rozycki wrote:
> On Thu, 16 Jan 2025, Jie Mei 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 >= 1 when -mmips16e2
> > is effective.
> 
>  MIPSr1 is incompatible with MIPS16e2, and the only implementation known 
> to me is MIPSr3.

The revision check adheres to the ASE manual (MIPS16e2 Application-
Specific Extension Technical Reference Manual, MD01172-2B-MIPS16e2-AFP-
01.00):

   1.1 Base Architecture Requirements
   
   The MIPS16e2 ASE requires the following base architecture support:
   
   The MIPS32 or MIPS64 Architecture: The MIPS16e2 ASE requires a
   compliant implementation of the      MIPS32 or MIPS64 Architecture.

That being said, after some brief investigation, I believe you're
right. Some MIPS16e2 instructions do not have MIPS32/64 equivalent
before MIPSr2, so implementing MIPS16e2 upon MIPSr1 is not viable.
Thanks for pointing that out.

Except for the fact that the first implementation of MIPS16e2 is based
on MIPSr3, there seems no blocker for implementing MIPS16e2 upon
MIPSr2. We'll seed a v2 patch raising the minimal revision to r2.

>   Maciej

Thanks,
Rong

Reply via email to