Canonical order for z-prefixed extension are rely on the canonical order of single letter extension, however we didn't put i into the list before, so when we put zicsr or zifencei it will got exception.
gcc/ChangeLog: * config/riscv/arch-canonicalize (CANONICAL_ORDER): Add `i` to CANONICAL_ORDER. --- gcc/config/riscv/arch-canonicalize | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/riscv/arch-canonicalize b/gcc/config/riscv/arch-canonicalize index ea95a0693f3..c7df3c8a313 100755 --- a/gcc/config/riscv/arch-canonicalize +++ b/gcc/config/riscv/arch-canonicalize @@ -28,7 +28,7 @@ import itertools from functools import reduce -CANONICAL_ORDER = "mafdgqlcbjtpvn" +CANONICAL_ORDER = "imafdgqlcbjtpvn" LONG_EXT_PREFIXES = ['z', 's', 'h', 'x'] # -- 2.33.0