Skip to content

Commit dbdf843

Browse files
asi-scdnpetrov-scaaa-scel-sc
authored
[RISCV] Add Syntacore SCR7 processor definition (#108406)
Syntacore SCR7 is a high-performance Linux-capable RISC-V processor core. The core has rv64imafdcv_zba_zbb_zbc_zbs_zkn march. Overview: https://syntacore.com/products/scr7 Scheduling model will be added in a subsequent PR. --------- Co-authored-by: Dmitrii Petrov <[email protected]> Co-authored-by: Anton Afanasyev <[email protected]> Co-authored-by: Elena Lepilkina <[email protected]>
1 parent feac761 commit dbdf843

File tree

4 files changed

+48
-0
lines changed

4 files changed

+48
-0
lines changed

clang/test/Driver/riscv-cpus.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,3 +502,29 @@
502502

503503
// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mtune=syntacore-scr5-rv64 | FileCheck -check-prefix=MTUNE-SYNTACORE-SCR5-RV64 %s
504504
// MTUNE-SYNTACORE-SCR5-RV64: "-tune-cpu" "syntacore-scr5-rv64"
505+
506+
// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mcpu=syntacore-scr7 | FileCheck -check-prefix=MCPU-SYNTACORE-SCR7 %s
507+
// MCPU-SYNTACORE-SCR7: "-target-cpu" "syntacore-scr7"
508+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+m"
509+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+a"
510+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+f"
511+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+d"
512+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+c"
513+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+v"
514+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zicsr"
515+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zifencei"
516+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zba"
517+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zbb"
518+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zbc"
519+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zbkb"
520+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zbkc"
521+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zbkx"
522+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zbs"
523+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zkn"
524+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zknd"
525+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zkne"
526+
// MCPU-SYNTACORE-SCR7-SAME: "-target-feature" "+zknh"
527+
// MCPU-SYNTACORE-SCR7-SAME: "-target-abi" "lp64d"
528+
529+
// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mtune=syntacore-scr7 | FileCheck -check-prefix=MTUNE-SYNTACORE-SCR7 %s
530+
// MTUNE-SYNTACORE-SCR7: "-tune-cpu" "syntacore-scr7"

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
// RISCV64-SAME: {{^}}, syntacore-scr3-rv64
4141
// RISCV64-SAME: {{^}}, syntacore-scr4-rv64
4242
// RISCV64-SAME: {{^}}, syntacore-scr5-rv64
43+
// RISCV64-SAME: {{^}}, syntacore-scr7
4344
// RISCV64-SAME: {{^}}, veyron-v1
4445
// RISCV64-SAME: {{^}}, xiangshan-nanhu
4546
// RISCV64-SAME: {{$}}
@@ -85,6 +86,7 @@
8586
// TUNE-RISCV64-SAME: {{^}}, syntacore-scr3-rv64
8687
// TUNE-RISCV64-SAME: {{^}}, syntacore-scr4-rv64
8788
// TUNE-RISCV64-SAME: {{^}}, syntacore-scr5-rv64
89+
// TUNE-RISCV64-SAME: {{^}}, syntacore-scr7
8890
// TUNE-RISCV64-SAME: {{^}}, veyron-v1
8991
// TUNE-RISCV64-SAME: {{^}}, xiangshan-nanhu
9092
// TUNE-RISCV64-SAME: {{^}}, generic

llvm/docs/ReleaseNotes.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ Changes to the RISC-V Backend
123123
largely untested.
124124
* The ``Zvbc32e`` and ``Zvkgs`` extensions are now supported experimentally.
125125
* Added ``Smctr`` and ``Ssctr`` extensions.
126+
* ``-mcpu=syntacore-scr7`` was added.
126127

127128
Changes to the WebAssembly Backend
128129
----------------------------------

llvm/lib/Target/RISCV/RISCVProcessors.td

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,25 @@ def SYNTACORE_SCR5_RV64 : RISCVProcessorModel<"syntacore-scr5-rv64",
383383
FeatureStdExtC],
384384
[TuneNoDefaultUnroll, FeaturePostRAScheduler]>;
385385

386+
def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7",
387+
NoSchedModel,
388+
[Feature64Bit,
389+
FeatureStdExtI,
390+
FeatureStdExtZicsr,
391+
FeatureStdExtZifencei,
392+
FeatureStdExtM,
393+
FeatureStdExtA,
394+
FeatureStdExtF,
395+
FeatureStdExtD,
396+
FeatureStdExtC,
397+
FeatureStdExtV,
398+
FeatureStdExtZba,
399+
FeatureStdExtZbb,
400+
FeatureStdExtZbc,
401+
FeatureStdExtZbs,
402+
FeatureStdExtZkn],
403+
[TuneNoDefaultUnroll, FeaturePostRAScheduler]>;
404+
386405
def VENTANA_VEYRON_V1 : RISCVProcessorModel<"veyron-v1",
387406
NoSchedModel,
388407
[Feature64Bit,

0 commit comments

Comments
 (0)