blob: 4c08c087225e6016d9b0179d74043938eebf13bd [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"
Anton Korobeynikov3b6124e2009-07-16 14:20:24 +000050include "SystemZInstrFP.td"
Anton Korobeynikov32b7d5b2009-07-16 13:27:25 +000051
52def SystemZInstrInfo : InstrInfo {}
53
54//===----------------------------------------------------------------------===//
55// Target Declaration
56//===----------------------------------------------------------------------===//
57
58def SystemZ : Target {
59 let InstructionSet = SystemZInstrInfo;
60}
61