Move isLoadFrom/StoreToStackSlot from MRegisterInfo to TargetInstrInfo,a far more...
[oota-llvm.git] / lib / Target / Alpha / Alpha.td
index 61b552b2883177a03237454a4fd0649fc26c8611..3c783618463219f0f0f1b6bef31498ad55bb05a1 100644 (file)
@@ -16,6 +16,15 @@ include "../Target.td"
 
 //Alpha is little endian
 
+//===----------------------------------------------------------------------===//
+// Subtarget Features
+//===----------------------------------------------------------------------===//
+
+def FeatureCIX : SubtargetFeature<"CIX", "HasCT", "true",
+                                  "Enable CIX extentions">;
+def FeatureFIX : SubtargetFeature<"FIX", "HasF2I", "true",
+                                  "Enable FIX extentions">;
+
 //===----------------------------------------------------------------------===//
 // Register File Description
 //===----------------------------------------------------------------------===//
@@ -29,13 +38,26 @@ include "AlphaRegisterInfo.td"
 include "AlphaInstrInfo.td"
 
 def AlphaInstrInfo : InstrInfo {
-  let PHIInst = PHI;
-
   // Define how we want to layout our target-specific information field.
  // let TSFlagsFields = [];
  // let TSFlagsShifts = [];
 }
 
+//===----------------------------------------------------------------------===//
+// Alpha Processor Definitions
+//===----------------------------------------------------------------------===//
+
+def : Processor<"generic", NoItineraries, []>;
+def : Processor<"pca56"  , NoItineraries, []>;
+def : Processor<"ev56"   , NoItineraries, []>;
+def : Processor<"ev6"    , NoItineraries, [FeatureFIX]>;
+def : Processor<"ev67"   , NoItineraries, [FeatureFIX, FeatureCIX]>;
+
+//===----------------------------------------------------------------------===//
+// The Alpha Target
+//===----------------------------------------------------------------------===//
+
+
 def Alpha : Target {
   // Pointers on Alpha are 64-bits in size.
   let PointerType = i64;
@@ -46,7 +68,7 @@ def Alpha : Target {
        //Frame pointer
 //     R15, 
        //return address
-       R26, 
+//     R26, 
        //Stack Pointer
 //     R30,
          F2, F3, F4, F5, F6, F7, F8, F9];