blob: 7b0a9bd470bb9d180a917adf45851b8d9afba242 [file] [log] [blame]
Anton Korobeynikov32b7d5b2009-07-16 13:27:25 +00001//===- 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//===----------------------------------------------------------------------===//
Anton Korobeynikov09a0de12009-07-16 14:05:00 +000021def FeatureZ10 : SubtargetFeature<"z10", "HasZ10Insts", "true",
22 "Support Z10 instructions">;
Anton Korobeynikov32b7d5b2009-07-16 13:27:25 +000023
24//===----------------------------------------------------------------------===//
25// SystemZ supported processors.
26//===----------------------------------------------------------------------===//
27class Proc<string Name, list<SubtargetFeature> Features>
28 : Processor<Name, NoItineraries, Features>;
29
Anton Korobeynikov09a0de12009-07-16 14:05:00 +000030def : Proc<"z9", []>;
31def : Proc<"z10", [FeatureZ10]>;
Anton Korobeynikov32b7d5b2009-07-16 13:27:25 +000032
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"
50
51def SystemZInstrInfo : InstrInfo {}
52
53//===----------------------------------------------------------------------===//
54// Target Declaration
55//===----------------------------------------------------------------------===//
56
57def SystemZ : Target {
58 let InstructionSet = SystemZInstrInfo;
59}
60