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 subtarget features
18//===----------------------------------------------------------------------===//
19
20include "SystemZFeatures.td"
21
22//===----------------------------------------------------------------------===//
23// SystemZ subtarget scheduling models
24//===----------------------------------------------------------------------===//
25
26include "SystemZSchedule.td"
27
28//===----------------------------------------------------------------------===//
29// SystemZ supported processors
30//===----------------------------------------------------------------------===//
31
32include "SystemZProcessors.td"
33
34//===----------------------------------------------------------------------===//
35// Register file description
36//===----------------------------------------------------------------------===//
37
38include "SystemZRegisterInfo.td"
39
40//===----------------------------------------------------------------------===//
41// Calling convention description
42//===----------------------------------------------------------------------===//
43
44include "SystemZCallingConv.td"
45
46//===----------------------------------------------------------------------===//
47// Instruction descriptions
48//===----------------------------------------------------------------------===//
49
50include "SystemZOperators.td"
51include "SystemZOperands.td"
52include "SystemZPatterns.td"
53include "SystemZInstrFormats.td"
54include "SystemZInstrInfo.td"
55include "SystemZInstrVector.td"
56include "SystemZInstrFP.td"
57
58def SystemZInstrInfo : InstrInfo {}
59
60//===----------------------------------------------------------------------===//
61// Assembly parser
62//===----------------------------------------------------------------------===//
63
64def SystemZAsmParser : AsmParser {
65  let ShouldEmitMatchRegisterName = 0;
66}
67
68//===----------------------------------------------------------------------===//
69// Top-level target declaration
70//===----------------------------------------------------------------------===//
71
72def SystemZ : Target {
73  let InstructionSet = SystemZInstrInfo;
74  let AssemblyParsers = [SystemZAsmParser];
75}
76