]> CyberLeo.Net >> Repos - FreeBSD/releng/9.0.git/blob - contrib/llvm/lib/Target/SystemZ/SystemZ.td
Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
[FreeBSD/releng/9.0.git] / contrib / llvm / lib / Target / SystemZ / SystemZ.td
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
16 include "llvm/Target/Target.td"
17
18 //===----------------------------------------------------------------------===//
19 // Subtarget Features. 
20 //===----------------------------------------------------------------------===//
21 def FeatureZ10 : SubtargetFeature<"z10", "HasZ10Insts", "true",
22                                   "Support Z10 instructions">;
23
24 //===----------------------------------------------------------------------===//
25 // SystemZ supported processors.
26 //===----------------------------------------------------------------------===//
27 class Proc<string Name, list<SubtargetFeature> Features>
28  : Processor<Name, NoItineraries, Features>;
29
30 def : Proc<"z9",  []>;
31 def : Proc<"z10", [FeatureZ10]>;
32
33 //===----------------------------------------------------------------------===//
34 // Register File Description
35 //===----------------------------------------------------------------------===//
36
37 include "SystemZRegisterInfo.td"
38
39 //===----------------------------------------------------------------------===//
40 // Calling Convention Description
41 //===----------------------------------------------------------------------===//
42
43 include "SystemZCallingConv.td"
44
45 //===----------------------------------------------------------------------===//
46 // Instruction Descriptions
47 //===----------------------------------------------------------------------===//
48
49 include "SystemZInstrInfo.td"
50 include "SystemZInstrFP.td"
51
52 def SystemZInstrInfo : InstrInfo {} 
53
54 //===----------------------------------------------------------------------===//
55 // Target Declaration
56 //===----------------------------------------------------------------------===//
57
58 def SystemZ : Target {
59   let InstructionSet = SystemZInstrInfo;
60 }
61