Neither K nor J is an extension that exists, and so it doesn't make sense to mandate any particular ordering. The better change would be to delete the letters `k' and `j' from that string, so that we aren't enforcing constraints that don't serve a useful purpose.
cf. https://github.com/riscv/riscv-isa-manual/commit/f5f9c27010b69a015958ffebe1ac5a34f8776dff On Sat, Apr 23, 2022 at 10:26 PM Tsukasa OI via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > This commit fixes canonical extension order to follow the RISC-V ISA > Manual draft-20210402-1271737 or later. > > gcc/ChangeLog: > > * common/config/riscv/riscv-common.cc (riscv_supported_std_ext): > Fix "K" extension prefix to be placed before "J". > --- > gcc/common/config/riscv/riscv-common.cc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/common/config/riscv/riscv-common.cc > b/gcc/common/config/riscv/riscv-common.cc > index 1501242e296..0b0ec2c4ec5 100644 > --- a/gcc/common/config/riscv/riscv-common.cc > +++ b/gcc/common/config/riscv/riscv-common.cc > @@ -594,7 +594,7 @@ riscv_subset_list::lookup (const char *subset, int > major_version, > static const char * > riscv_supported_std_ext (void) > { > - return "mafdqlcbjktpvn"; > + return "mafdqlcbkjtpvn"; > } > > /* Parsing subset version. > -- > 2.32.0 >