SystemZ.td revision 263508
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
10//===----------------------------------------------------------------------===//
11// Target-independent interfaces which we are implementing
12//===----------------------------------------------------------------------===//
13
14include "llvm/Target/Target.td"
15
16//===----------------------------------------------------------------------===//
17// SystemZ supported processors and features
18//===----------------------------------------------------------------------===//
19
20include "SystemZProcessors.td"
21
22//===----------------------------------------------------------------------===//
23// Register file description
24//===----------------------------------------------------------------------===//
25
26include "SystemZRegisterInfo.td"
27
28//===----------------------------------------------------------------------===//
29// Calling convention description
30//===----------------------------------------------------------------------===//
31
32include "SystemZCallingConv.td"
33
34//===----------------------------------------------------------------------===//
35// Instruction descriptions
36//===----------------------------------------------------------------------===//
37
38include "SystemZOperators.td"
39include "SystemZOperands.td"
40include "SystemZPatterns.td"
41include "SystemZInstrFormats.td"
42include "SystemZInstrInfo.td"
43include "SystemZInstrFP.td"
44
45def SystemZInstrInfo : InstrInfo {}
46
47//===----------------------------------------------------------------------===//
48// Assembly parser
49//===----------------------------------------------------------------------===//
50
51def SystemZAsmParser : AsmParser {
52  let ShouldEmitMatchRegisterName = 0;
53}
54
55//===----------------------------------------------------------------------===//
56// Assembly writer
57//===----------------------------------------------------------------------===//
58
59def SystemZAsmWriter : AsmWriter {
60  string AsmWriterClassName = "InstPrinter";
61  bit isMCAsmWriter = 1;
62}
63
64//===----------------------------------------------------------------------===//
65// Top-level target declaration
66//===----------------------------------------------------------------------===//
67
68def SystemZ : Target {
69  let InstructionSet = SystemZInstrInfo;
70  let AssemblyParsers = [SystemZAsmParser];
71  let AssemblyWriters = [SystemZAsmWriter];
72}
73