forked from OSchip/llvm-project
[X86] Split up -march=icelake to -client & -server
Reviewers: craig.topper, zvi, echristo Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D45055 llvm-svn: 329742
This commit is contained in:
parent
8701b18a25
commit
213edc4a15
|
@ -421,8 +421,10 @@ def ProcIntelSKX : SubtargetFeature<"skx", "X86ProcFamily",
|
|||
"IntelSKX", "Intel Skylake Server processors">;
|
||||
def ProcIntelCNL : SubtargetFeature<"cannonlake", "X86ProcFamily",
|
||||
"IntelCannonlake", "Intel Cannonlake processors">;
|
||||
def ProcIntelICL : SubtargetFeature<"icelake", "X86ProcFamily",
|
||||
"IntelIcelake", "Intel Icelake processors">;
|
||||
def ProcIntelICL : SubtargetFeature<"icelake-client", "X86ProcFamily",
|
||||
"IntelIcelakeClient", "Intel Icelake processors">;
|
||||
def ProcIntelICX : SubtargetFeature<"icelake-server", "X86ProcFamily",
|
||||
"IntelIcelakeServer", "Intel Icelake Server processors">;
|
||||
|
||||
class Proc<string Name, list<SubtargetFeature> Features>
|
||||
: ProcessorModel<Name, GenericModel, Features>;
|
||||
|
@ -813,12 +815,19 @@ def ICLFeatures : ProcessorFeatures<CNLFeatures.Value, [
|
|||
FeatureRDPID
|
||||
]>;
|
||||
|
||||
class IcelakeProc<string Name> : ProcModel<Name, SkylakeServerModel,
|
||||
ICLFeatures.Value, [
|
||||
class IcelakeClientProc<string Name> : ProcModel<Name, SkylakeServerModel,
|
||||
ICLFeatures.Value, [
|
||||
ProcIntelICL,
|
||||
FeatureHasFastGather
|
||||
]>;
|
||||
def : IcelakeProc<"icelake">;
|
||||
def : IcelakeClientProc<"icelake-client">;
|
||||
|
||||
class IcelakeServerProc<string Name> : ProcModel<Name, SkylakeServerModel,
|
||||
ICLFeatures.Value, [
|
||||
ProcIntelICX,
|
||||
FeatureHasFastGather
|
||||
]>;
|
||||
def : IcelakeServerProc<"icelake-server">;
|
||||
|
||||
// AMD CPUs.
|
||||
|
||||
|
|
|
@ -63,7 +63,8 @@ public:
|
|||
IntelKNL,
|
||||
IntelSKX,
|
||||
IntelCannonlake,
|
||||
IntelIcelake,
|
||||
IntelIcelakeClient,
|
||||
IntelIcelakeServer,
|
||||
};
|
||||
|
||||
protected:
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=x86-64 -mattr=+avx512vpopcntdq | FileCheck %s --check-prefix=GENERIC
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake | FileCheck %s --check-prefix=ICELAKE
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-client | FileCheck %s --check-prefix=ICELAKE
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-server | FileCheck %s --check-prefix=ICELAKE
|
||||
|
||||
define void @test_vpopcntd(<16 x i32> %a0, <16 x i32> %a1, <16 x i32> *%a2, i16 %a3) {
|
||||
; GENERIC-LABEL: test_vpopcntd:
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=clwb | FileCheck %s
|
||||
; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=skx | FileCheck %s
|
||||
; RUN: not llc < %s -mtriple=i686-apple-darwin -mcpu=cannonlake 2>&1 | FileCheck %s --check-prefix=CNL
|
||||
; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=icelake | FileCheck %s
|
||||
; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=icelake-client | FileCheck %s
|
||||
; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=icelake-server | FileCheck %s
|
||||
|
||||
; CNL: LLVM ERROR: Cannot select: intrinsic %llvm.x86.clwb
|
||||
|
||||
|
|
|
@ -46,7 +46,8 @@
|
|||
; 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=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 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
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=atom 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=bonnell 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=silvermont 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=x86-64 -mattr=+rdpid | FileCheck %s --check-prefix=CHECK --check-prefix=GENERIC
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake | FileCheck %s --check-prefix=CHECK --check-prefix=ICELAKE
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-client | FileCheck %s --check-prefix=CHECK --check-prefix=ICELAKE
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-server | FileCheck %s --check-prefix=CHECK --check-prefix=ICELAKE
|
||||
|
||||
define i32 @test_rdpid() {
|
||||
; GENERIC-LABEL: test_rdpid:
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skylake | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=SKL
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skx | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=SKX
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=cannonlake | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=CNL
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=ICL
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-client | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=ICL
|
||||
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-server | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=ICL
|
||||
|
||||
define i32 @test_xbegin() nounwind uwtable {
|
||||
; GENERIC-LABEL: test_xbegin:
|
||||
|
|
Loading…
Reference in New Issue