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