[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCSchedule.td PPCScheduleG3.td PPCScheduleG4.td PPCScheduleG4Plus.td PPCScheduleG5.td

Jim Laskey jlaskey at apple.com
Wed Oct 19 06:35:08 PDT 2005



Changes in directory llvm/lib/Target/PowerPC:

PPCSchedule.td updated: 1.1 -> 1.2
PPCScheduleG3.td updated: 1.2 -> 1.3
PPCScheduleG4.td updated: 1.2 -> 1.3
PPCScheduleG4Plus.td updated: 1.2 -> 1.3
PPCScheduleG5.td updated: 1.2 -> 1.3
---
Log message:

Push processor descriptions to the top of target and add command line info.


---
Diffs of the changes:  (+40 -14)

 PPCSchedule.td       |   46 ++++++++++++++++++++++++++++++++++++----------
 PPCScheduleG3.td     |    2 +-
 PPCScheduleG4.td     |    2 +-
 PPCScheduleG4Plus.td |    2 +-
 PPCScheduleG5.td     |    2 +-
 5 files changed, 40 insertions(+), 14 deletions(-)


Index: llvm/lib/Target/PowerPC/PPCSchedule.td
diff -u llvm/lib/Target/PowerPC/PPCSchedule.td:1.1 llvm/lib/Target/PowerPC/PPCSchedule.td:1.2
--- llvm/lib/Target/PowerPC/PPCSchedule.td:1.1	Tue Oct 18 11:23:40 2005
+++ llvm/lib/Target/PowerPC/PPCSchedule.td	Wed Oct 19 08:34:52 2005
@@ -7,20 +7,11 @@
 // 
 //===----------------------------------------------------------------------===//
 
-#include "../TargetSchedule.td"
-
-//===----------------------------------------------------------------------===//
-// PowerPC chips sets supported by scheduling (Apple naming)
-//
-def G3      : Processor;
-def G4      : Processor;
-def G4Plus  : Processor;
-def G5      : Processor;
+#include "../Target.td"
 
 //===----------------------------------------------------------------------===//
 // Functional units across PowerPC chips sets
 //
-def NoUnit : FuncUnit; // Instruction not supported on chip set
 def BPU    : FuncUnit; // Branch unit
 def SLU    : FuncUnit; // Store/load unit
 def SRU    : FuncUnit; // special register unit
@@ -518,3 +509,38 @@
 //    xoris      IntGeneral
 //
 
+
+//===----------------------------------------------------------------------===//
+// PowerPC Subtarget features.
+//
+ 
+def F64Bit     : SubtargetFeature<"64bit",
+                  "Should 64 bit instructions be used">;
+def F64BitRegs : SubtargetFeature<"64bitregs",
+                  "Should 64 bit registers be used">;
+def FAltivec   : SubtargetFeature<"altivec",
+                  "Should Altivec instructions be used">;
+def FGPUL      : SubtargetFeature<"gpul",
+                  "Should GPUL instructions be used">;
+def FFSQRT     : SubtargetFeature<"fsqrt",
+                  "Should the fsqrt instruction be used">; 
+
+//===----------------------------------------------------------------------===//
+// PowerPC chips sets supported
+//
+
+def : Processor<"601", G3Itineraries, []>;
+def : Processor<"602", G3Itineraries, []>;
+def : Processor<"603", G3Itineraries, []>;
+def : Processor<"604", G3Itineraries, []>;
+def : Processor<"750", G3Itineraries, []>;
+def : Processor<"7400", G4Itineraries, [FAltivec]>;
+def : Processor<"g4", G4Itineraries, [FAltivec]>;
+def : Processor<"7450", G4PlusItineraries, [FAltivec]>;
+def : Processor<"g4+", G4PlusItineraries, [FAltivec]>;
+def : Processor<"970", G5Itineraries,
+                  [FAltivec, FGPUL, FFSQRT, F64Bit, F64BitRegs]>;
+def : Processor<"g5", G5Itineraries,
+                  [FAltivec, FGPUL, FFSQRT, F64Bit, F64BitRegs]>;
+
+


Index: llvm/lib/Target/PowerPC/PPCScheduleG3.td
diff -u llvm/lib/Target/PowerPC/PPCScheduleG3.td:1.2 llvm/lib/Target/PowerPC/PPCScheduleG3.td:1.3
--- llvm/lib/Target/PowerPC/PPCScheduleG3.td:1.2	Tue Oct 18 11:59:23 2005
+++ llvm/lib/Target/PowerPC/PPCScheduleG3.td	Wed Oct 19 08:34:52 2005
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 
-def G3Itineraries : ProcessorItineraries<G3, [
+def G3Itineraries : ProcessorItineraries<[
   InstrItinData<IntGeneral  , [InstrStage<1, [IU1, IU2]>]>,
   InstrItinData<IntCompare  , [InstrStage<1, [IU1, IU2]>]>,
   InstrItinData<IntDivW     , [InstrStage<19, [IU1]>]>,


Index: llvm/lib/Target/PowerPC/PPCScheduleG4.td
diff -u llvm/lib/Target/PowerPC/PPCScheduleG4.td:1.2 llvm/lib/Target/PowerPC/PPCScheduleG4.td:1.3
--- llvm/lib/Target/PowerPC/PPCScheduleG4.td:1.2	Tue Oct 18 11:59:23 2005
+++ llvm/lib/Target/PowerPC/PPCScheduleG4.td	Wed Oct 19 08:34:52 2005
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-def G4Itineraries : ProcessorItineraries<G4, [
+def G4Itineraries : ProcessorItineraries<[
   InstrItinData<IntGeneral  , [InstrStage<1, [IU1, IU2]>]>,
   InstrItinData<IntCompare  , [InstrStage<1, [IU1, IU2]>]>,
   InstrItinData<IntDivW     , [InstrStage<19, [IU1]>]>,


Index: llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td
diff -u llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td:1.2 llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td:1.3
--- llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td:1.2	Tue Oct 18 11:59:23 2005
+++ llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td	Wed Oct 19 08:34:52 2005
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-def G4PlusItineraries : ProcessorItineraries<G4Plus, [
+def G4PlusItineraries : ProcessorItineraries<[
   InstrItinData<IntGeneral  , [InstrStage<1, [IU1, IU2, IU3, IU4]>]>,
   InstrItinData<IntCompare  , [InstrStage<1, [IU1, IU2, IU3, IU4]>]>,
   InstrItinData<IntDivW     , [InstrStage<23, [IU2]>]>,


Index: llvm/lib/Target/PowerPC/PPCScheduleG5.td
diff -u llvm/lib/Target/PowerPC/PPCScheduleG5.td:1.2 llvm/lib/Target/PowerPC/PPCScheduleG5.td:1.3
--- llvm/lib/Target/PowerPC/PPCScheduleG5.td:1.2	Tue Oct 18 11:59:23 2005
+++ llvm/lib/Target/PowerPC/PPCScheduleG5.td	Wed Oct 19 08:34:52 2005
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-def G5Itineraries : ProcessorItineraries<G5, [
+def G5Itineraries : ProcessorItineraries<[
   InstrItinData<IntGeneral  , [InstrStage<2, [IU1, IU2]>]>,
   InstrItinData<IntCompare  , [InstrStage<3, [IU1, IU2]>]>,
   InstrItinData<IntDivD     , [InstrStage<68, [IU1]>]>,






More information about the llvm-commits mailing list