[Sparc] Add missing processor types: v7 and niagara

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199024 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Venkatraman Govindaraju
2014-01-11 23:56:13 +00:00
parent 8009754517
commit 50e6d23f0d
3 changed files with 15 additions and 9 deletions

View File

@ -56,6 +56,7 @@ class Proc<string Name, list<SubtargetFeature> Features>
: Processor<Name, NoItineraries, Features>; : Processor<Name, NoItineraries, Features>;
def : Proc<"generic", []>; def : Proc<"generic", []>;
def : Proc<"v7", []>;
def : Proc<"v8", []>; def : Proc<"v8", []>;
def : Proc<"supersparc", []>; def : Proc<"supersparc", []>;
def : Proc<"sparclite", []>; def : Proc<"sparclite", []>;
@ -67,7 +68,10 @@ def : Proc<"tsc701", []>;
def : Proc<"v9", [FeatureV9]>; def : Proc<"v9", [FeatureV9]>;
def : Proc<"ultrasparc", [FeatureV9, FeatureV8Deprecated]>; def : Proc<"ultrasparc", [FeatureV9, FeatureV8Deprecated]>;
def : Proc<"ultrasparc3", [FeatureV9, FeatureV8Deprecated]>; def : Proc<"ultrasparc3", [FeatureV9, FeatureV8Deprecated]>;
def : Proc<"ultrasparc3-vis", [FeatureV9, FeatureV8Deprecated, FeatureVIS]>; def : Proc<"niagara", [FeatureV9, FeatureV8Deprecated]>;
def : Proc<"niagara2", [FeatureV9, FeatureV8Deprecated]>;
def : Proc<"niagara3", [FeatureV9, FeatureV8Deprecated]>;
def : Proc<"niagara4", [FeatureV9, FeatureV8Deprecated]>;
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//

View File

@ -35,13 +35,8 @@ SparcSubtarget::SparcSubtarget(const std::string &TT, const std::string &CPU,
// Determine default and user specified characteristics // Determine default and user specified characteristics
std::string CPUName = CPU; std::string CPUName = CPU;
if (CPUName.empty()) { if (CPUName.empty())
if (is64Bit) CPUName = (is64Bit) ? "v9" : "v8";
CPUName = "v9";
else
CPUName = "v8";
}
IsV9 = CPUName == "v9";
// Parse features string. // Parse features string.
ParseSubtargetFeatures(CPUName, FS); ParseSubtargetFeatures(CPUName, FS);

View File

@ -1,5 +1,12 @@
; RUN: llc < %s -march=sparc -mattr=-v9 | FileCheck %s -check-prefix=V8 ; RUN: llc < %s -march=sparc -mattr=-v9 | FileCheck %s -check-prefix=V8
; RUN: llc < %s -march=sparc -mattr=+v9 | FileCheck %s -check-prefix=V9 ; RUN: llc < %s -march=sparc -mattr=+v9 | FileCheck %s -check-prefix=V9
; RUN: llc < %s -march=sparc -mcpu=v9 | FileCheck %s -check-prefix=V9
; RUN: llc < %s -march=sparc -mcpu=ultrasparc | FileCheck %s -check-prefix=V9
; RUN: llc < %s -march=sparc -mcpu=ultrasparc3 | FileCheck %s -check-prefix=V9
; RUN: llc < %s -march=sparc -mcpu=niagara | FileCheck %s -check-prefix=V9
; RUN: llc < %s -march=sparc -mcpu=niagara2 | FileCheck %s -check-prefix=V9
; RUN: llc < %s -march=sparc -mcpu=niagara3 | FileCheck %s -check-prefix=V9
; RUN: llc < %s -march=sparc -mcpu=niagara4 | FileCheck %s -check-prefix=V9
; RUN: llc < %s -march=sparcv9 | FileCheck %s -check-prefix=SPARC64 ; RUN: llc < %s -march=sparcv9 | FileCheck %s -check-prefix=SPARC64
declare i32 @llvm.ctpop.i32(i32) declare i32 @llvm.ctpop.i32(i32)