[Sparc] Add missing processor types: v7 and niagara
authorVenkatraman Govindaraju <venkatra@cs.wisc.edu>
Sat, 11 Jan 2014 23:56:13 +0000 (23:56 +0000)
committerVenkatraman Govindaraju <venkatra@cs.wisc.edu>
Sat, 11 Jan 2014 23:56:13 +0000 (23:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199024 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/Sparc.td
lib/Target/Sparc/SparcSubtarget.cpp
test/CodeGen/SPARC/ctpop.ll

index 2cace099b14acdbffdf20be5d8f5324b22af0930..9f6992de2f132a8aa282a59b44a141dc93fc7c59 100644 (file)
@@ -56,6 +56,7 @@ class Proc<string Name, list<SubtargetFeature> Features>
  : 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]>;
 
 
 //===----------------------------------------------------------------------===//
index 7d09d0e3f7dbd372c199a05ca055d51fe2aaf090..7032d7f3fb0919bcaee377b7b2441d30cb89bb67 100644 (file)
@@ -35,13 +35,8 @@ SparcSubtarget::SparcSubtarget(const std::string &TT, const std::string &CPU,
 
   // 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 89c95ede4d1bc56783b8d5222e67322b02dcab57..665b44b8f674d271151dfc378d4352c2c385e69c 100644 (file)
@@ -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)