On Thu, Nov 16, 2023 at 2:32 AM Patrick O'Neill <patr...@rivosinc.com> wrote:
>
> Does relax mean no longer enforcing the canonical order of extensions?

Yes, we've discussed that a long time ago, but we just didn't have
enough people to moving that forward:

https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/14

> Patrick
>
> On 11/14/23 17:52, Kito Cheng wrote:
>
> LGTM, and BTW...I am thinking we could relax the canonical order
> during parsing, did you have interesting and time working on that
> item?
>
> On Wed, Nov 15, 2023 at 9:35 AM Patrick O'Neill <patr...@rivosinc.com> wrote:
>
> Passing in a base extension in non-canonical order (i, e, g) causes GCC
> to ICE:
> xgcc: error: '-march=rv64ge': ISA string is not in canonical order. 'e'
> xgcc: internal compiler error: in add, at 
> common/config/riscv/riscv-common.cc:671
> ...
>
> This is fixed by skipping to the next extension when a non-canonical
> order is detected.
>
> gcc/ChangeLog:
>
>         * common/config/riscv/riscv-common.cc
>         (riscv_subset_list::parse_std_ext): Emit an error and skip to
>         the next extension when a non-canonical ordering is detected.

Reply via email to