1251607Sdim//===-- SystemZ.td - Describe the SystemZ target machine -----*- tblgen -*-===//
2251607Sdim//
3251607Sdim//                     The LLVM Compiler Infrastructure
4251607Sdim//
5251607Sdim// This file is distributed under the University of Illinois Open Source
6251607Sdim// License. See LICENSE.TXT for details.
7251607Sdim//
8251607Sdim//===----------------------------------------------------------------------===//
9251607Sdim
10251607Sdim//===----------------------------------------------------------------------===//
11251607Sdim// Target-independent interfaces which we are implementing
12251607Sdim//===----------------------------------------------------------------------===//
13251607Sdim
14251607Sdiminclude "llvm/Target/Target.td"
15251607Sdim
16251607Sdim//===----------------------------------------------------------------------===//
17261991Sdim// SystemZ supported processors and features
18251607Sdim//===----------------------------------------------------------------------===//
19251607Sdim
20261991Sdiminclude "SystemZProcessors.td"
21251607Sdim
22251607Sdim//===----------------------------------------------------------------------===//
23251607Sdim// Register file description
24251607Sdim//===----------------------------------------------------------------------===//
25251607Sdim
26251607Sdiminclude "SystemZRegisterInfo.td"
27251607Sdim
28251607Sdim//===----------------------------------------------------------------------===//
29251607Sdim// Calling convention description
30251607Sdim//===----------------------------------------------------------------------===//
31251607Sdim
32251607Sdiminclude "SystemZCallingConv.td"
33251607Sdim
34251607Sdim//===----------------------------------------------------------------------===//
35251607Sdim// Instruction descriptions
36251607Sdim//===----------------------------------------------------------------------===//
37251607Sdim
38251607Sdiminclude "SystemZOperators.td"
39251607Sdiminclude "SystemZOperands.td"
40251607Sdiminclude "SystemZPatterns.td"
41251607Sdiminclude "SystemZInstrFormats.td"
42251607Sdiminclude "SystemZInstrInfo.td"
43288943Sdiminclude "SystemZInstrVector.td"
44251607Sdiminclude "SystemZInstrFP.td"
45251607Sdim
46251607Sdimdef SystemZInstrInfo : InstrInfo {}
47251607Sdim
48251607Sdim//===----------------------------------------------------------------------===//
49251607Sdim// Assembly parser
50251607Sdim//===----------------------------------------------------------------------===//
51251607Sdim
52251607Sdimdef SystemZAsmParser : AsmParser {
53251607Sdim  let ShouldEmitMatchRegisterName = 0;
54251607Sdim}
55251607Sdim
56251607Sdim//===----------------------------------------------------------------------===//
57251607Sdim// Top-level target declaration
58251607Sdim//===----------------------------------------------------------------------===//
59251607Sdim
60251607Sdimdef SystemZ : Target {
61251607Sdim  let InstructionSet = SystemZInstrInfo;
62251607Sdim  let AssemblyParsers = [SystemZAsmParser];
63251607Sdim}
64