From: SiYu Wu <s...@isrc.iscas.ac.cn> --- gcc/common/config/riscv/riscv-common.c | 16 +++++++++++++++- gcc/config/riscv/arch-canonicalize | 16 +++++++++++++++- 2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/gcc/common/config/riscv/riscv-common.c b/gcc/common/config/riscv/riscv-common.c index 18c09591c42..4ed2a1f662a 100644 --- a/gcc/common/config/riscv/riscv-common.c +++ b/gcc/common/config/riscv/riscv-common.c @@ -50,6 +50,20 @@ static const riscv_implied_info_t riscv_implied_info[] = {"d", "f"}, {"f", "zicsr"}, {"d", "zicsr"}, + {"zk", "zkn"}, + {"zk", "zkr"}, + {"zk", "zkt"}, + {"zkn", "zbkb"}, + {"zkn", "zbkc"}, + {"zkn", "zbkx"}, + {"zkn", "zkne"}, + {"zkn", "zknd"}, + {"zkn", "zknh"}, + {"zks", "zbkb"}, + {"zks", "zbkc"}, + {"zks", "zbkx"}, + {"zks", "zksed"}, + {"zks", "zksh"}, {NULL, NULL} }; @@ -503,7 +517,7 @@ riscv_subset_list::lookup (const char *subset, int major_version, static const char * riscv_supported_std_ext (void) { - return "mafdqlcbjtpvn"; + return "mafdqlcbjktpvn"; } /* Parsing subset version. diff --git a/gcc/config/riscv/arch-canonicalize b/gcc/config/riscv/arch-canonicalize index e2feb7e85cd..284a0dc0073 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 = "imafdgqlcbjtpvn" +CANONICAL_ORDER = "imafdgqlcbjktpvn" LONG_EXT_PREFIXES = ['z', 's', 'h', 'x'] # @@ -38,6 +38,20 @@ IMPLIED_EXT = { "d" : ["f"], "f" : ["zicsr"], "f" : ["zifencei"], + "zk" : ["zkn"], + "zk" : ["zkr"], + "zk" : ["zkt"], + "zkn" : ["zbkb"], + "zkn" : ["zbkc"], + "zkn" : ["zbkx"], + "zkn" : ["zkne"], + "zkn" : ["zknd"], + "zkn" : ["zknh"], + "zks" : ["zbkb"], + "zks" : ["zbkc"], + "zks" : ["zbkx"], + "zks" : ["zksed"], + "zks" : ["zksh"], } def arch_canonicalize(arch): -- 2.25.1