mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 12:26:52 +08:00
[RISCV] Add sifive-p450 CPU. (#75760)
This is an out of order core with no vector unit. More information: https://www.sifive.com/cores/performance-p450-470 Scheduler model and other tuning will come in separate patches.
This commit is contained in:
@@ -222,6 +222,27 @@
|
||||
// MCPU-SIFIVE-X280-SAME: "-target-feature" "+zvl512b" "-target-feature" "+zvl64b"
|
||||
// MCPU-SIFIVE-X280-SAME: "-target-abi" "lp64d"
|
||||
|
||||
// RUN: %clang -target riscv64 -### -c %s 2>&1 -mcpu=sifive-p450 | FileCheck -check-prefix=MCPU-SIFIVE-P450 %s
|
||||
// MCPU-SIFIVE-P450: "-nostdsysteminc" "-target-cpu" "sifive-p450"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+m"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+a"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+f"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+d"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+c"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zicbom"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zicbop"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zicboz"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zicsr"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zifencei"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zihintntl"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zihintpause"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zihpm"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zfhmin"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zba"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zbb"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-feature" "+zbs"
|
||||
// MCPU-SIFIVE-P450-SAME: "-target-abi" "lp64d"
|
||||
//
|
||||
// Check failed cases
|
||||
|
||||
// RUN: not %clang --target=riscv32 -### -c %s 2>&1 -mcpu=generic-rv321 | FileCheck -check-prefix=FAIL-MCPU-NAME %s
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
// RUN: not %clang_cc1 -triple riscv64 -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix RISCV64
|
||||
// RISCV64: error: unknown target CPU 'not-a-cpu'
|
||||
// RISCV64-NEXT: note: valid target CPU values are: generic-rv64, rocket-rv64, sifive-s21, sifive-s51, sifive-s54, sifive-s76, sifive-u54, sifive-u74, sifive-x280, veyron-v1, xiangshan-nanhu{{$}}
|
||||
// RISCV64-NEXT: note: valid target CPU values are: generic-rv64, rocket-rv64, sifive-p450, sifive-s21, sifive-s51, sifive-s54, sifive-s76, sifive-u54, sifive-u74, sifive-x280, veyron-v1, xiangshan-nanhu{{$}}
|
||||
|
||||
// RUN: not %clang_cc1 -triple riscv32 -tune-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix TUNE-RISCV32
|
||||
// TUNE-RISCV32: error: unknown target CPU 'not-a-cpu'
|
||||
@@ -93,4 +93,4 @@
|
||||
|
||||
// RUN: not %clang_cc1 -triple riscv64 -tune-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix TUNE-RISCV64
|
||||
// TUNE-RISCV64: error: unknown target CPU 'not-a-cpu'
|
||||
// TUNE-RISCV64-NEXT: note: valid target CPU values are: generic-rv64, rocket-rv64, sifive-s21, sifive-s51, sifive-s54, sifive-s76, sifive-u54, sifive-u74, sifive-x280, veyron-v1, xiangshan-nanhu, generic, rocket, sifive-7-series{{$}}
|
||||
// TUNE-RISCV64-NEXT: note: valid target CPU values are: generic-rv64, rocket-rv64, sifive-p450, sifive-s21, sifive-s51, sifive-s54, sifive-s76, sifive-u54, sifive-u74, sifive-x280, veyron-v1, xiangshan-nanhu, generic, rocket, sifive-7-series{{$}}
|
||||
|
||||
@@ -216,6 +216,25 @@ def SIFIVE_X280 : RISCVProcessorModel<"sifive-x280", SiFive7Model,
|
||||
[TuneSiFive7,
|
||||
TuneDLenFactor2]>;
|
||||
|
||||
def SIFIVE_P450 : RISCVProcessorModel<"sifive-p450", NoSchedModel,
|
||||
[Feature64Bit,
|
||||
FeatureStdExtZifencei,
|
||||
FeatureStdExtM,
|
||||
FeatureStdExtA,
|
||||
FeatureStdExtF,
|
||||
FeatureStdExtD,
|
||||
FeatureStdExtC,
|
||||
FeatureStdExtZicbop,
|
||||
FeatureStdExtZicbom,
|
||||
FeatureStdExtZicboz,
|
||||
FeatureStdExtZihintntl,
|
||||
FeatureStdExtZihintpause,
|
||||
FeatureStdExtZihpm,
|
||||
FeatureStdExtZba,
|
||||
FeatureStdExtZbb,
|
||||
FeatureStdExtZbs,
|
||||
FeatureStdExtZfhmin]>;
|
||||
|
||||
def SYNTACORE_SCR1_BASE : RISCVProcessorModel<"syntacore-scr1-base",
|
||||
SyntacoreSCR1Model,
|
||||
[Feature32Bit,
|
||||
|
||||
Reference in New Issue
Block a user