1 //===-- SystemZ.td - Describe the SystemZ target machine -----*- tblgen -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 //===----------------------------------------------------------------------===//
11 // Target-independent interfaces which we are implementing
12 //===----------------------------------------------------------------------===//
14 include "llvm/Target/Target.td"
16 //===----------------------------------------------------------------------===//
17 // SystemZ subtarget features
18 //===----------------------------------------------------------------------===//
20 include "SystemZFeatures.td"
22 //===----------------------------------------------------------------------===//
23 // SystemZ subtarget scheduling models
24 //===----------------------------------------------------------------------===//
26 include "SystemZSchedule.td"
28 //===----------------------------------------------------------------------===//
29 // SystemZ supported processors
30 //===----------------------------------------------------------------------===//
32 include "SystemZProcessors.td"
34 //===----------------------------------------------------------------------===//
35 // Register file description
36 //===----------------------------------------------------------------------===//
38 include "SystemZRegisterInfo.td"
40 //===----------------------------------------------------------------------===//
41 // Calling convention description
42 //===----------------------------------------------------------------------===//
44 include "SystemZCallingConv.td"
46 //===----------------------------------------------------------------------===//
47 // Instruction descriptions
48 //===----------------------------------------------------------------------===//
50 include "SystemZOperators.td"
51 include "SystemZOperands.td"
52 include "SystemZPatterns.td"
53 include "SystemZInstrFormats.td"
54 include "SystemZInstrInfo.td"
55 include "SystemZInstrVector.td"
56 include "SystemZInstrFP.td"
58 def SystemZInstrInfo : InstrInfo {}
60 //===----------------------------------------------------------------------===//
62 //===----------------------------------------------------------------------===//
64 def SystemZAsmParser : AsmParser {
65 let ShouldEmitMatchRegisterName = 0;
68 //===----------------------------------------------------------------------===//
69 // Top-level target declaration
70 //===----------------------------------------------------------------------===//
72 def SystemZ : Target {
73 let InstructionSet = SystemZInstrInfo;
74 let AssemblyParsers = [SystemZAsmParser];