Skip to content

Commit 213edc4

Browse files
committedApr 10, 2018
[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
1 parent 8701b18 commit 213edc4

File tree

7 files changed

+26
-11
lines changed

7 files changed

+26
-11
lines changed
 

‎llvm/lib/Target/X86/X86.td

+14-5
Original file line numberDiff line numberDiff line change
@@ -421,8 +421,10 @@ def ProcIntelSKX : SubtargetFeature<"skx", "X86ProcFamily",
421421
"IntelSKX", "Intel Skylake Server processors">;
422422
def ProcIntelCNL : SubtargetFeature<"cannonlake", "X86ProcFamily",
423423
"IntelCannonlake", "Intel Cannonlake processors">;
424-
def ProcIntelICL : SubtargetFeature<"icelake", "X86ProcFamily",
425-
"IntelIcelake", "Intel Icelake processors">;
424+
def ProcIntelICL : SubtargetFeature<"icelake-client", "X86ProcFamily",
425+
"IntelIcelakeClient", "Intel Icelake processors">;
426+
def ProcIntelICX : SubtargetFeature<"icelake-server", "X86ProcFamily",
427+
"IntelIcelakeServer", "Intel Icelake Server processors">;
426428

427429
class Proc<string Name, list<SubtargetFeature> Features>
428430
: ProcessorModel<Name, GenericModel, Features>;
@@ -813,12 +815,19 @@ def ICLFeatures : ProcessorFeatures<CNLFeatures.Value, [
813815
FeatureRDPID
814816
]>;
815817

816-
class IcelakeProc<string Name> : ProcModel<Name, SkylakeServerModel,
817-
ICLFeatures.Value, [
818+
class IcelakeClientProc<string Name> : ProcModel<Name, SkylakeServerModel,
819+
ICLFeatures.Value, [
818820
ProcIntelICL,
819821
FeatureHasFastGather
820822
]>;
821-
def : IcelakeProc<"icelake">;
823+
def : IcelakeClientProc<"icelake-client">;
824+
825+
class IcelakeServerProc<string Name> : ProcModel<Name, SkylakeServerModel,
826+
ICLFeatures.Value, [
827+
ProcIntelICX,
828+
FeatureHasFastGather
829+
]>;
830+
def : IcelakeServerProc<"icelake-server">;
822831

823832
// AMD CPUs.
824833

‎llvm/lib/Target/X86/X86Subtarget.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ class X86Subtarget final : public X86GenSubtargetInfo {
6363
IntelKNL,
6464
IntelSKX,
6565
IntelCannonlake,
66-
IntelIcelake,
66+
IntelIcelakeClient,
67+
IntelIcelakeServer,
6768
};
6869

6970
protected:

‎llvm/test/CodeGen/X86/avx512vpopcntdq-schedule.ll

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
22
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=x86-64 -mattr=+avx512vpopcntdq | FileCheck %s --check-prefix=GENERIC
3-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake | FileCheck %s --check-prefix=ICELAKE
3+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-client | FileCheck %s --check-prefix=ICELAKE
4+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-server | FileCheck %s --check-prefix=ICELAKE
45

56
define void @test_vpopcntd(<16 x i32> %a0, <16 x i32> %a1, <16 x i32> *%a2, i16 %a3) {
67
; GENERIC-LABEL: test_vpopcntd:

‎llvm/test/CodeGen/X86/clwb.ll

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=clwb | FileCheck %s
55
; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=skx | FileCheck %s
66
; RUN: not llc < %s -mtriple=i686-apple-darwin -mcpu=cannonlake 2>&1 | FileCheck %s --check-prefix=CNL
7-
; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=icelake | FileCheck %s
7+
; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=icelake-client | FileCheck %s
8+
; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=icelake-server | FileCheck %s
89

910
; CNL: LLVM ERROR: Cannot select: intrinsic %llvm.x86.clwb
1011

‎llvm/test/CodeGen/X86/cpus.ll

+2-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@
4646
; 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
4747
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=skx 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
4848
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=cannonlake 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
49-
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=icelake 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
49+
; 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
50+
; 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
5051
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=atom 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
5152
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=bonnell 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty
5253
; RUN: llc < %s -o /dev/null -mtriple=x86_64-unknown-unknown -mcpu=silvermont 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ERROR --allow-empty

‎llvm/test/CodeGen/X86/rdpid-schedule.ll

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
22
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=x86-64 -mattr=+rdpid | FileCheck %s --check-prefix=CHECK --check-prefix=GENERIC
3-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake | FileCheck %s --check-prefix=CHECK --check-prefix=ICELAKE
3+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-client | FileCheck %s --check-prefix=CHECK --check-prefix=ICELAKE
4+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-server | FileCheck %s --check-prefix=CHECK --check-prefix=ICELAKE
45

56
define i32 @test_rdpid() {
67
; GENERIC-LABEL: test_rdpid:

‎llvm/test/CodeGen/X86/rtm-schedule.ll

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skylake | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=SKL
44
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skx | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=SKX
55
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=cannonlake | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=CNL
6-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=ICL
6+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-client | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=ICL
7+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=icelake-server | FileCheck %s --check-prefix=CHECK --check-prefix=SKYLAKE --check-prefix=ICL
78

89
define i32 @test_xbegin() nounwind uwtable {
910
; GENERIC-LABEL: test_xbegin:

0 commit comments

Comments
 (0)
Please sign in to comment.