SystemZ.td revision 7aa03ac8271689e6ceae3afd6d63463bd6a70088
1//===- SystemZ.td - Describe the SystemZ Target Machine ------*- tblgen -*-==//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source 
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9// This is the top level entry point for the SystemZ target.
10//===----------------------------------------------------------------------===//
11
12//===----------------------------------------------------------------------===//
13// Target-independent interfaces
14//===----------------------------------------------------------------------===//
15
16include "llvm/Target/Target.td"
17
18//===----------------------------------------------------------------------===//
19// Subtarget Features. 
20//===----------------------------------------------------------------------===//
21def FeatureZ10 : SubtargetFeature<"z10", "HasZ10Insts", "true",
22                                  "Support Z10 instructions">;
23
24//===----------------------------------------------------------------------===//
25// SystemZ supported processors.
26//===----------------------------------------------------------------------===//
27class Proc<string Name, list<SubtargetFeature> Features>
28 : Processor<Name, NoItineraries, Features>;
29
30def : Proc<"z9",  []>;
31def : Proc<"z10", [FeatureZ10]>;
32
33//===----------------------------------------------------------------------===//
34// Register File Description
35//===----------------------------------------------------------------------===//
36
37include "SystemZRegisterInfo.td"
38
39//===----------------------------------------------------------------------===//
40// Calling Convention Description
41//===----------------------------------------------------------------------===//
42
43include "SystemZCallingConv.td"
44
45//===----------------------------------------------------------------------===//
46// Instruction Descriptions
47//===----------------------------------------------------------------------===//
48
49include "SystemZInstrInfo.td"
50include "SystemZInstrFP.td"
51
52def SystemZInstrInfo : InstrInfo {} 
53
54//===----------------------------------------------------------------------===//
55// Target Declaration
56//===----------------------------------------------------------------------===//
57
58def SystemZ : Target {
59  let InstructionSet = SystemZInstrInfo;
60}
61
62