70 lines
2.9 KiB
Diff
70 lines
2.9 KiB
Diff
|
Pull in r199024 from upstream llvm trunk (by Venkatraman Govindaraju):
|
||
|
|
||
|
[Sparc] Add missing processor types: v7 and niagara
|
||
|
|
||
|
Introduced here: http://svn.freebsd.org/changeset/base/262261
|
||
|
|
||
|
Index: lib/Target/Sparc/Sparc.td
|
||
|
===================================================================
|
||
|
--- lib/Target/Sparc/Sparc.td
|
||
|
+++ lib/Target/Sparc/Sparc.td
|
||
|
@@ -56,6 +56,7 @@ class Proc<string Name, list<SubtargetFeature> Fea
|
||
|
: Processor<Name, NoItineraries, Features>;
|
||
|
|
||
|
def : Proc<"generic", []>;
|
||
|
+def : Proc<"v7", []>;
|
||
|
def : Proc<"v8", []>;
|
||
|
def : Proc<"supersparc", []>;
|
||
|
def : Proc<"sparclite", []>;
|
||
|
@@ -67,7 +68,10 @@ def : Proc<"tsc701", []>;
|
||
|
def : Proc<"v9", [FeatureV9]>;
|
||
|
def : Proc<"ultrasparc", [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]>;
|
||
|
|
||
|
def SparcAsmWriter : AsmWriter {
|
||
|
string AsmWriterClassName = "InstPrinter";
|
||
|
Index: lib/Target/Sparc/SparcSubtarget.cpp
|
||
|
===================================================================
|
||
|
--- lib/Target/Sparc/SparcSubtarget.cpp
|
||
|
+++ lib/Target/Sparc/SparcSubtarget.cpp
|
||
|
@@ -35,13 +35,8 @@ SparcSubtarget::SparcSubtarget(const std::string &
|
||
|
|
||
|
// Determine default and user specified characteristics
|
||
|
std::string CPUName = CPU;
|
||
|
- if (CPUName.empty()) {
|
||
|
- if (is64Bit)
|
||
|
- CPUName = "v9";
|
||
|
- else
|
||
|
- CPUName = "v8";
|
||
|
- }
|
||
|
- IsV9 = CPUName == "v9";
|
||
|
+ if (CPUName.empty())
|
||
|
+ CPUName = (is64Bit) ? "v9" : "v8";
|
||
|
|
||
|
// Parse features string.
|
||
|
ParseSubtargetFeatures(CPUName, FS);
|
||
|
Index: test/CodeGen/SPARC/ctpop.ll
|
||
|
===================================================================
|
||
|
--- test/CodeGen/SPARC/ctpop.ll
|
||
|
+++ test/CodeGen/SPARC/ctpop.ll
|
||
|
@@ -1,6 +1,13 @@
|
||
|
; 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=sparcv9 | FileCheck %s -check-prefix=SPARC64
|
||
|
+; 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
|
||
|
|
||
|
declare i32 @llvm.ctpop.i32(i32)
|
||
|
|