[gcc r12-5774] RISC-V: Add implied defines of Zk, Zkn and Zks

Kito Cheng kito@gcc.gnu.org
Fri Dec 3 16:11:13 GMT 2021


https://gcc.gnu.org/g:0962bff477a3d5134cb1ac23852da694529725e0

commit r12-5774-g0962bff477a3d5134cb1ac23852da694529725e0
Author: SiYu Wu <siyu@isrc.iscas.ac.cn>
Date:   Mon Nov 22 16:19:10 2021 +0800

    RISC-V: Add implied defines of Zk, Zkn and Zks
    
    gcc/ChangeLog:
    
    2021-11-22  SiYu Wu  <siyu@isrc.iscas.ac.cn>
    
            * common/config/riscv/riscv-common.c (riscv_implied_info):
            Add K-ext related entry.
            (riscv_supported_std_ext): Add 'k'.
            * config/riscv/arch-canonicalize (CANONICAL_ORDER): Add 'k'.
            (IMPLIED_EXT): Add K-ext related entry.

Diff:
---
 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 14dc6057ecd..f352ff4ce7b 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}
 };
 
@@ -502,7 +516,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 c7df3c8a313..90dbd194801 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']
 
 #
@@ -36,6 +36,20 @@ LONG_EXT_PREFIXES = ['z', 's', 'h', 'x']
 #
 IMPLIED_EXT = {
   "d" : ["f"],
+  "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):


More information about the Gcc-cvs mailing list