Skip to content

Commit 0e3e0bf

Browse files
liliumShadetangshenglincebarobotTang-Haojin
authored
[RISCV] Add processor definition for XiangShan-KunMingHu-V2R2 (#123193)
XiangShan-KunMingHu is the third generation of Open-source high-performance RISC-V processor developed by Beijing Institute of Open Source Chip (BOSC) , and its latest version is V2R2. The KunMingHu manual is now available at https://github.com/OpenXiangShan/XiangShan-User-Guide/releases. It will be updated on the official XiangShan documentation site: https://docs.xiangshan.cc/zh-cn/latest You can find the corresponding ISA extension from the XiangShan Github repository: https://github.com/OpenXiangShan/XiangShan/blob/master/src/main/scala/xiangshan/Parameters.scala If you want to track the latest performance data of KunMingHu, please check XiangShan Biweekly: https://docs.xiangshan.cc/zh-cn/latest/blog This PR adds the processor definition for KunMingHu V2R2, developed by the XSCC team https://github.com/orgs/OpenXiangShan/teams/xscc. The scheduling model for XiangShan-KunMingHu V2R2 will be submitted in a subsequent PR. --------- Co-authored-by: Shenglin Tang <[email protected]> Co-authored-by: Xu, Zefan <[email protected]> Co-authored-by: Tang Haojin <[email protected]>
1 parent 27653bd commit 0e3e0bf

File tree

4 files changed

+102
-0
lines changed

4 files changed

+102
-0
lines changed

clang/test/Driver/riscv-cpus.c

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,78 @@
3131
// MCPU-XIANGSHAN-NANHU-SAME: "-target-feature" "+zks" "-target-feature" "+zksed" "-target-feature" "+zksh" "-target-feature" "+svinval"
3232
// MCPU-XIANGSHAN-NANHU-SAME: "-target-abi" "lp64d"
3333

34+
// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mcpu=xiangshan-kunminghu | FileCheck -check-prefix=MCPU-XIANGSHAN-KUNMINGHU %s
35+
// MCPU-XIANGSHAN-KUNMINGHU: "-nostdsysteminc" "-target-cpu" "xiangshan-kunminghu"
36+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+m"
37+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+a"
38+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+f"
39+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+d"
40+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+c"
41+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+b"
42+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+v"
43+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+h"
44+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zic64b"
45+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zicbom"
46+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zicbop"
47+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zicboz"
48+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+ziccamoa"
49+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+ziccif"
50+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zicclsm"
51+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+ziccrse"
52+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zicntr"
53+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zicond"
54+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zicsr"
55+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zihintntl"
56+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zacas"
57+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zawrs"
58+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zfa"
59+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zfh"
60+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zca"
61+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zcb"
62+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zcmop"
63+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zba"
64+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zbb"
65+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zbc"
66+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zbkb"
67+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zbkc"
68+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zbkx"
69+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zbs"
70+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zkn"
71+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zks"
72+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zvbb"
73+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zve64d"
74+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zve64f"
75+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zve64x"
76+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zvfh"
77+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zvkb"
78+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zvkt"
79+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+zvl128b"
80+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+sha"
81+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+shcounterenw"
82+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+shgatpa"
83+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+shtvala"
84+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+shvsatpa"
85+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+shvstvala"
86+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+shvstvecd"
87+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+smcsrind"
88+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+smdbltrp"
89+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+smmpm"
90+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+smnpm"
91+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+smrnmi"
92+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+smstateen"
93+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+sscofpmf"
94+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+sscsrind"
95+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+ssdbltrp"
96+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+ssnpm"
97+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+sspm"
98+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+ssstateen"
99+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+ssstrict"
100+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+sstc"
101+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+ssu64xl"
102+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+supm"
103+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-feature" "+svnapot"
104+
// MCPU-XIANGSHAN-KUNMINGHU-SAME: "-target-abi" "lp64d"
105+
34106
// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mcpu=spacemit-x60 | FileCheck -check-prefix=MCPU-SPACEMIT-X60 %s
35107
// MCPU-SPACEMIT-X60: "-nostdsysteminc" "-target-cpu" "spacemit-x60"
36108
// MCPU-SPACEMIT-X60-SAME: "-target-feature" "+m"

clang/test/Misc/target-invalid-cpu-note/riscv.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
// RISCV64-SAME: {{^}}, syntacore-scr7
4646
// RISCV64-SAME: {{^}}, tt-ascalon-d8
4747
// RISCV64-SAME: {{^}}, veyron-v1
48+
// RISCV64-SAME: {{^}}, xiangshan-kunminghu
4849
// RISCV64-SAME: {{^}}, xiangshan-nanhu
4950
// RISCV64-SAME: {{$}}
5051

@@ -95,6 +96,7 @@
9596
// TUNE-RISCV64-SAME: {{^}}, syntacore-scr7
9697
// TUNE-RISCV64-SAME: {{^}}, tt-ascalon-d8
9798
// TUNE-RISCV64-SAME: {{^}}, veyron-v1
99+
// TUNE-RISCV64-SAME: {{^}}, xiangshan-kunminghu
98100
// TUNE-RISCV64-SAME: {{^}}, xiangshan-nanhu
99101
// TUNE-RISCV64-SAME: {{^}}, generic
100102
// TUNE-RISCV64-SAME: {{^}}, generic-ooo

llvm/docs/ReleaseNotes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ Changes to the RISC-V Backend
167167
* Adds assembler support for ``.option exact``, which disables automatic compression,
168168
and branch and linker relaxation. This can be disabled with ``.option noexact``,
169169
which is also the default.
170+
* `-mcpu=xiangshan-kunminghu` was added.
170171

171172
Changes to the WebAssembly Backend
172173
----------------------------------

llvm/lib/Target/RISCV/RISCVProcessors.td

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,33 @@ def XIANGSHAN_NANHU : RISCVProcessorModel<"xiangshan-nanhu",
558558
TuneZExtWFusion,
559559
TuneShiftedZExtWFusion]>;
560560

561+
def XIANGSHAN_KUNMINGHU : RISCVProcessorModel<"xiangshan-kunminghu",
562+
NoSchedModel,
563+
!listconcat(RVA23S64Features,
564+
[FeatureStdExtZacas,
565+
FeatureStdExtZbc,
566+
FeatureStdExtZfh,
567+
FeatureStdExtZkn,
568+
FeatureStdExtZks,
569+
FeatureStdExtZvfh,
570+
FeatureStdExtSmaia,
571+
FeatureStdExtSmcsrind,
572+
FeatureStdExtSmdbltrp,
573+
FeatureStdExtSmmpm,
574+
FeatureStdExtSmnpm,
575+
FeatureStdExtSmrnmi,
576+
FeatureStdExtSmstateen,
577+
FeatureStdExtSsaia,
578+
FeatureStdExtSscsrind,
579+
FeatureStdExtSsdbltrp,
580+
FeatureStdExtSspm,
581+
FeatureStdExtSsstrict,
582+
FeatureStdExtZvl128b]),
583+
[TuneNoDefaultUnroll,
584+
TuneZExtHFusion,
585+
TuneZExtWFusion,
586+
TuneShiftedZExtWFusion]>;
587+
561588
def SPACEMIT_X60 : RISCVProcessorModel<"spacemit-x60",
562589
NoSchedModel,
563590
!listconcat(RVA22S64Features,

0 commit comments

Comments
 (0)