mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 12:19:53 +00:00
Fix LLVM's handling and detection of skylake and cannonlake CPUs
Summary: - Rename `"skylake"` == SkylakeServerProc to `"skylake-avx512"` - Change `"skylake"` to denote SkylakeClientProc - Fix the detection of cpu family 6 and model 94 to be SkylakeClientProc instead of SkylakeServerProc - Remove the `"cnl"` for CannonLake Reviewers: craig.topper, delena Subscribers: zansari, echristo, qcolombet, RKSimon, spatel, DavidKreitzer, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D17090 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261482 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
745f68cc1a
commit
1c5b38d20f
@ -373,6 +373,7 @@ StringRef sys::getHostCPUName() {
|
|||||||
|
|
||||||
// Skylake:
|
// Skylake:
|
||||||
case 78:
|
case 78:
|
||||||
|
return "skylake-avx512";
|
||||||
case 94:
|
case 94:
|
||||||
return "skylake";
|
return "skylake";
|
||||||
|
|
||||||
|
@ -474,7 +474,7 @@ def SKLFeatures : ProcessorFeatures<BDWFeatures.Value, [
|
|||||||
// FIXME: define SKL model
|
// FIXME: define SKL model
|
||||||
class SkylakeClientProc<string Name> : ProcModel<Name, HaswellModel,
|
class SkylakeClientProc<string Name> : ProcModel<Name, HaswellModel,
|
||||||
SKLFeatures.Value, []>;
|
SKLFeatures.Value, []>;
|
||||||
def : SkylakeClientProc<"skl">;
|
def : SkylakeClientProc<"skylake">;
|
||||||
|
|
||||||
// FIXME: define KNL model
|
// FIXME: define KNL model
|
||||||
class KnightsLandingProc<string Name> : ProcModel<Name, HaswellModel,
|
class KnightsLandingProc<string Name> : ProcModel<Name, HaswellModel,
|
||||||
@ -508,7 +508,7 @@ def SKXFeatures : ProcessorFeatures<SKLFeatures.Value, [
|
|||||||
// FIXME: define SKX model
|
// FIXME: define SKX model
|
||||||
class SkylakeServerProc<string Name> : ProcModel<Name, HaswellModel,
|
class SkylakeServerProc<string Name> : ProcModel<Name, HaswellModel,
|
||||||
SKXFeatures.Value, []>;
|
SKXFeatures.Value, []>;
|
||||||
def : SkylakeServerProc<"skylake">;
|
def : SkylakeServerProc<"skylake-avx512">;
|
||||||
def : SkylakeServerProc<"skx">; // Legacy alias.
|
def : SkylakeServerProc<"skx">; // Legacy alias.
|
||||||
|
|
||||||
def CNLFeatures : ProcessorFeatures<SKXFeatures.Value, [
|
def CNLFeatures : ProcessorFeatures<SKXFeatures.Value, [
|
||||||
@ -520,7 +520,6 @@ def CNLFeatures : ProcessorFeatures<SKXFeatures.Value, [
|
|||||||
class CannonlakeProc<string Name> : ProcModel<Name, HaswellModel,
|
class CannonlakeProc<string Name> : ProcModel<Name, HaswellModel,
|
||||||
CNLFeatures.Value, []>;
|
CNLFeatures.Value, []>;
|
||||||
def : CannonlakeProc<"cannonlake">;
|
def : CannonlakeProc<"cannonlake">;
|
||||||
def : CannonlakeProc<"cnl">;
|
|
||||||
|
|
||||||
// AMD CPUs.
|
// AMD CPUs.
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
; RUN: llc < %s -mtriple=i386-unknown-unknown -mcpu=haswell 2>&1 | FileCheck %s --check-prefix=FAST
|
; RUN: llc < %s -mtriple=i386-unknown-unknown -mcpu=haswell 2>&1 | FileCheck %s --check-prefix=FAST
|
||||||
; RUN: llc < %s -mtriple=i386-unknown-unknown -mcpu=broadwell 2>&1 | FileCheck %s --check-prefix=FAST
|
; RUN: llc < %s -mtriple=i386-unknown-unknown -mcpu=broadwell 2>&1 | FileCheck %s --check-prefix=FAST
|
||||||
; RUN: llc < %s -mtriple=i386-unknown-unknown -mcpu=knl 2>&1 | FileCheck %s --check-prefix=FAST
|
; RUN: llc < %s -mtriple=i386-unknown-unknown -mcpu=knl 2>&1 | FileCheck %s --check-prefix=FAST
|
||||||
; RUN: llc < %s -mtriple=i386-unknown-unknown -mcpu=skylake 2>&1 | FileCheck %s --check-prefix=FAST
|
; RUN: llc < %s -mtriple=i386-unknown-unknown -mcpu=skylake-avx512 2>&1 | FileCheck %s --check-prefix=FAST
|
||||||
|
|
||||||
; AMD chips with slow unaligned memory accesses
|
; AMD chips with slow unaligned memory accesses
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user