mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
[X86] Support -march=rocketlake
Reviewed By: skan, craig.topper, MaskRay Differential Revision: https://reviews.llvm.org/D100085
This commit is contained in:
parent
3b34c914bc
commit
63f931ee5f
@ -88,6 +88,7 @@ X86_CPU_SUBTYPE(INTEL_COREI7_COOPERLAKE, "cooperlake")
|
||||
X86_CPU_SUBTYPE(INTEL_COREI7_SAPPHIRERAPIDS, "sapphirerapids")
|
||||
X86_CPU_SUBTYPE(INTEL_COREI7_ALDERLAKE, "alderlake")
|
||||
X86_CPU_SUBTYPE(AMDFAM19H_ZNVER3, "znver3")
|
||||
X86_CPU_SUBTYPE(INTEL_COREI7_ROCKETLAKE, "rocketlake")
|
||||
#undef X86_CPU_SUBTYPE
|
||||
|
||||
|
||||
|
@ -98,6 +98,7 @@ enum CPUKind {
|
||||
CK_Cooperlake,
|
||||
CK_Cannonlake,
|
||||
CK_IcelakeClient,
|
||||
CK_Rocketlake,
|
||||
CK_IcelakeServer,
|
||||
CK_Tigerlake,
|
||||
CK_SapphireRapids,
|
||||
|
@ -708,6 +708,13 @@ getIntelProcessorTypeAndSubtype(unsigned Family, unsigned Model,
|
||||
*Subtype = X86::INTEL_COREI7_SKYLAKE;
|
||||
break;
|
||||
|
||||
// Rocketlake:
|
||||
case 0xa7:
|
||||
CPU = "rocketlake";
|
||||
*Type = X86::INTEL_COREI7;
|
||||
*Subtype = X86::INTEL_COREI7_ROCKETLAKE;
|
||||
break;
|
||||
|
||||
// Skylake Xeon:
|
||||
case 0x55:
|
||||
*Type = X86::INTEL_COREI7;
|
||||
|
@ -194,6 +194,7 @@ constexpr FeatureBitset FeaturesICLClient =
|
||||
FeaturesCannonlake | FeatureAVX512BITALG | FeatureAVX512VBMI2 |
|
||||
FeatureAVX512VNNI | FeatureAVX512VPOPCNTDQ | FeatureGFNI | FeatureRDPID |
|
||||
FeatureVAES | FeatureVPCLMULQDQ;
|
||||
constexpr FeatureBitset FeaturesRocketlake = FeaturesICLClient & ~FeatureSGX;
|
||||
constexpr FeatureBitset FeaturesICLServer =
|
||||
FeaturesICLClient | FeatureCLWB | FeaturePCONFIG | FeatureWBNOINVD;
|
||||
constexpr FeatureBitset FeaturesTigerlake =
|
||||
@ -356,6 +357,8 @@ constexpr ProcInfo Processors[] = {
|
||||
{ {"cannonlake"}, CK_Cannonlake, FEATURE_AVX512VBMI, FeaturesCannonlake },
|
||||
// Icelake client microarchitecture based processors.
|
||||
{ {"icelake-client"}, CK_IcelakeClient, FEATURE_AVX512VBMI2, FeaturesICLClient },
|
||||
// Rocketlake microarchitecture based processors.
|
||||
{ {"rocketlake"}, CK_Rocketlake, FEATURE_AVX512VBMI2, FeaturesRocketlake },
|
||||
// Icelake server microarchitecture based processors.
|
||||
{ {"icelake-server"}, CK_IcelakeServer, FEATURE_AVX512VBMI2, FeaturesICLServer },
|
||||
// Tigerlake microarchitecture based processors.
|
||||
|
@ -653,8 +653,7 @@ def ProcessorFeatures {
|
||||
list<SubtargetFeature> SKLAdditionalFeatures = [FeatureAES,
|
||||
FeatureXSAVEC,
|
||||
FeatureXSAVES,
|
||||
FeatureCLFLUSHOPT,
|
||||
FeatureSGX];
|
||||
FeatureCLFLUSHOPT];
|
||||
list<SubtargetFeature> SKLTuning = [FeatureHasFastGather,
|
||||
FeatureMacroFusion,
|
||||
FeatureSlow3OpsLEA,
|
||||
@ -754,7 +753,7 @@ def ProcessorFeatures {
|
||||
list<SubtargetFeature> ICXFeatures =
|
||||
!listconcat(ICLFeatures, ICXAdditionalFeatures);
|
||||
|
||||
//Tigerlake
|
||||
// Tigerlake
|
||||
list<SubtargetFeature> TGLAdditionalFeatures = [FeatureVP2INTERSECT,
|
||||
FeatureCLWB,
|
||||
FeatureMOVDIRI,
|
||||
@ -764,7 +763,7 @@ def ProcessorFeatures {
|
||||
list<SubtargetFeature> TGLFeatures =
|
||||
!listconcat(ICLFeatures, TGLAdditionalFeatures );
|
||||
|
||||
//Sapphirerapids
|
||||
// Sapphirerapids
|
||||
list<SubtargetFeature> SPRAdditionalFeatures = [FeatureAMXTILE,
|
||||
FeatureAMXINT8,
|
||||
FeatureAMXBF16,
|
||||
@ -846,8 +845,7 @@ def ProcessorFeatures {
|
||||
|
||||
// Goldmont Plus
|
||||
list<SubtargetFeature> GLPAdditionalFeatures = [FeaturePTWRITE,
|
||||
FeatureRDPID,
|
||||
FeatureSGX];
|
||||
FeatureRDPID];
|
||||
list<SubtargetFeature> GLPTuning = [FeatureUseGLMDivSqrtCosts,
|
||||
FeatureSlowTwoMemOps,
|
||||
FeatureSlowLEA,
|
||||
@ -1308,6 +1306,8 @@ def : ProcModel<"cannonlake", SkylakeServerModel,
|
||||
ProcessorFeatures.CNLFeatures, ProcessorFeatures.CNLTuning>;
|
||||
def : ProcModel<"icelake-client", SkylakeServerModel,
|
||||
ProcessorFeatures.ICLFeatures, ProcessorFeatures.ICLTuning>;
|
||||
def : ProcModel<"rocketlake", SkylakeServerModel,
|
||||
ProcessorFeatures.ICLFeatures, ProcessorFeatures.ICLTuning>;
|
||||
def : ProcModel<"icelake-server", SkylakeServerModel,
|
||||
ProcessorFeatures.ICXFeatures, ProcessorFeatures.ICXTuning>;
|
||||
def : ProcModel<"tigerlake", SkylakeServerModel,
|
||||
|
@ -38,6 +38,7 @@
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=cooperlake 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=cannonlake 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=icelake-client 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=rocketlake 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=icelake-server 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=tigerlake 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=sapphirerapids 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
|
Loading…
Reference in New Issue
Block a user