1 //===- Alpha.td - Describe the Alpha Target Machine --------*- tablegen -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
13 // Get the target-independent interfaces which we are implementing...
15 include "llvm/Target/Target.td"
17 //Alpha is little endian
19 //===----------------------------------------------------------------------===//
21 //===----------------------------------------------------------------------===//
23 def FeatureCIX : SubtargetFeature<"cix", "HasCT", "true",
24 "Enable CIX extentions">;
26 //===----------------------------------------------------------------------===//
27 // Register File Description
28 //===----------------------------------------------------------------------===//
30 include "AlphaRegisterInfo.td"
32 //===----------------------------------------------------------------------===//
33 // Calling Convention Description
34 //===----------------------------------------------------------------------===//
36 include "AlphaCallingConv.td"
38 //===----------------------------------------------------------------------===//
39 // Schedule Description
40 //===----------------------------------------------------------------------===//
42 include "AlphaSchedule.td"
44 //===----------------------------------------------------------------------===//
45 // Instruction Descriptions
46 //===----------------------------------------------------------------------===//
48 include "AlphaInstrInfo.td"
50 def AlphaInstrInfo : InstrInfo {
51 // Define how we want to layout our target-specific information field.
52 // let TSFlagsFields = [];
53 // let TSFlagsShifts = [];
56 //===----------------------------------------------------------------------===//
57 // Alpha Processor Definitions
58 //===----------------------------------------------------------------------===//
60 def : Processor<"generic", Alpha21264Itineraries, []>;
61 def : Processor<"ev6" , Alpha21264Itineraries, []>;
62 def : Processor<"ev67" , Alpha21264Itineraries, [FeatureCIX]>;
64 //===----------------------------------------------------------------------===//
66 //===----------------------------------------------------------------------===//
70 // Pull in Instruction Info:
71 let InstructionSet = AlphaInstrInfo;