forked from OSchip/llvm-project
[X86] Add cascade lake arch in X86 target.
This is skylake-avx512 with the addition of avx512vnni ISA. Patch by Jianping Chen Differential Revision: https://reviews.llvm.org/D54785 llvm-svn: 347681
This commit is contained in:
parent
e3459295ee
commit
5fb34b5498
|
@ -102,6 +102,7 @@ X86_CPU_SUBTYPE_COMPAT("icelake-server", INTEL_COREI7_ICELAKE_SERVER, "icelake-s
|
|||
// Entries below this are not in libgcc/compiler-rt.
|
||||
X86_CPU_SUBTYPE ("core2", INTEL_CORE2_65)
|
||||
X86_CPU_SUBTYPE ("penryn", INTEL_CORE2_45)
|
||||
X86_CPU_SUBTYPE ("cascadelake", INTEL_COREI7_CASCADELAKE)
|
||||
X86_CPU_SUBTYPE ("k6", AMDPENTIUM_K6)
|
||||
X86_CPU_SUBTYPE ("k6-2", AMDPENTIUM_K62)
|
||||
X86_CPU_SUBTYPE ("k6-3", AMDPENTIUM_K63)
|
||||
|
|
|
@ -702,6 +702,12 @@ getIntelProcessorTypeAndSubtype(unsigned Family, unsigned Model,
|
|||
break;
|
||||
}
|
||||
|
||||
if (Features2 & (1 << (X86::FEATURE_AVX512VNNI - 32))) {
|
||||
*Type = X86::INTEL_COREI7;
|
||||
*Subtype = X86::INTEL_COREI7_CASCADELAKE;
|
||||
break;
|
||||
}
|
||||
|
||||
if (Features & (1 << X86::FEATURE_AVX512VL)) {
|
||||
*Type = X86::INTEL_COREI7;
|
||||
*Subtype = X86::INTEL_COREI7_SKYLAKE_AVX512;
|
||||
|
|
|
@ -883,6 +883,17 @@ class SkylakeServerProc<string Name> : ProcModel<Name, SkylakeServerModel,
|
|||
def : SkylakeServerProc<"skylake-avx512">;
|
||||
def : SkylakeServerProc<"skx">; // Legacy alias.
|
||||
|
||||
def CLXFeatures : ProcessorFeatures<SKXFeatures.Value, [
|
||||
FeatureVNNI
|
||||
]>;
|
||||
|
||||
class CascadelakeProc<string Name> : ProcModel<Name, SkylakeServerModel,
|
||||
CLXFeatures.Value, [
|
||||
FeatureHasFastGather,
|
||||
FeaturePOPCNTFalseDeps
|
||||
]>;
|
||||
def : CascadelakeProc<"cascadelake">;
|
||||
|
||||
def CNLFeatures : ProcessorFeatures<SKLFeatures.Value, [
|
||||
FeatureAVX512,
|
||||
FeatureCDI,
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=skylake 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=skx 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=cascadelake 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=icelake-server 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
|
|
Loading…
Reference in New Issue