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 supported processors and features
18 //===----------------------------------------------------------------------===//
20 include "SystemZProcessors.td"
22 //===----------------------------------------------------------------------===//
23 // Register file description
24 //===----------------------------------------------------------------------===//
26 include "SystemZRegisterInfo.td"
28 //===----------------------------------------------------------------------===//
29 // Calling convention description
30 //===----------------------------------------------------------------------===//
32 include "SystemZCallingConv.td"
34 //===----------------------------------------------------------------------===//
35 // Instruction descriptions
36 //===----------------------------------------------------------------------===//
38 include "SystemZOperators.td"
39 include "SystemZOperands.td"
40 include "SystemZPatterns.td"
41 include "SystemZInstrFormats.td"
42 include "SystemZInstrInfo.td"
43 include "SystemZInstrFP.td"
45 def SystemZInstrInfo : InstrInfo {}
47 //===----------------------------------------------------------------------===//
49 //===----------------------------------------------------------------------===//
51 def SystemZAsmParser : AsmParser {
52 let ShouldEmitMatchRegisterName = 0;
55 //===----------------------------------------------------------------------===//
57 //===----------------------------------------------------------------------===//
59 def SystemZAsmWriter : AsmWriter {
60 string AsmWriterClassName = "InstPrinter";
61 bit isMCAsmWriter = 1;
64 //===----------------------------------------------------------------------===//
65 // Top-level target declaration
66 //===----------------------------------------------------------------------===//
68 def SystemZ : Target {
69 let InstructionSet = SystemZInstrInfo;
70 let AssemblyParsers = [SystemZAsmParser];
71 let AssemblyWriters = [SystemZAsmWriter];