1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Target SDNode descriptions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: Sparc.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10#ifdef GET_SDNODE_ENUM
11#undef GET_SDNODE_ENUM
12
13namespace llvm::SPISD {
14
15enum GenNodeType : unsigned {
16 BPICC = ISD::BUILTIN_OP_END,
17 BPXCC,
18 BRFCC,
19 BRFCC_V9,
20 BRICC,
21 BR_REG,
22 CALL,
23 CMPFCC,
24 CMPFCC_V9,
25 CMPICC,
26 FLUSHW,
27 FTOI,
28 FTOX,
29 GLOBAL_BASE_REG,
30 Hi,
31 ITOF,
32 LOAD_BIG,
33 LOAD_GDOP,
34 LOAD_LITTLE,
35 Lo,
36 RET_GLUE,
37 SELECT_FCC,
38 SELECT_ICC,
39 SELECT_REG,
40 SELECT_XCC,
41 STORE_BIG,
42 STORE_LITTLE,
43 TAIL_CALL,
44 TLS_ADD,
45 TLS_CALL,
46 TLS_LD,
47 XTOF,
48};
49
50static constexpr unsigned GENERATED_OPCODE_END = XTOF + 1;
51
52} // namespace llvm::SPISD
53
54#endif // GET_SDNODE_ENUM
55
56#ifdef GET_SDNODE_DESC
57#undef GET_SDNODE_DESC
58
59namespace llvm {
60
61
62#ifdef __GNUC__
63#pragma GCC diagnostic push
64#pragma GCC diagnostic ignored "-Woverlength-strings"
65#endif
66static constexpr char SparcSDNodeNamesStorage[] =
67 "\0"
68 "SPISD::BPICC\0"
69 "SPISD::BPXCC\0"
70 "SPISD::BRFCC\0"
71 "SPISD::BRFCC_V9\0"
72 "SPISD::BRICC\0"
73 "SPISD::BR_REG\0"
74 "SPISD::CALL\0"
75 "SPISD::CMPFCC\0"
76 "SPISD::CMPFCC_V9\0"
77 "SPISD::CMPICC\0"
78 "SPISD::FLUSHW\0"
79 "SPISD::FTOI\0"
80 "SPISD::FTOX\0"
81 "SPISD::GLOBAL_BASE_REG\0"
82 "SPISD::Hi\0"
83 "SPISD::ITOF\0"
84 "SPISD::LOAD_BIG\0"
85 "SPISD::LOAD_GDOP\0"
86 "SPISD::LOAD_LITTLE\0"
87 "SPISD::Lo\0"
88 "SPISD::RET_GLUE\0"
89 "SPISD::SELECT_FCC\0"
90 "SPISD::SELECT_ICC\0"
91 "SPISD::SELECT_REG\0"
92 "SPISD::SELECT_XCC\0"
93 "SPISD::STORE_BIG\0"
94 "SPISD::STORE_LITTLE\0"
95 "SPISD::TAIL_CALL\0"
96 "SPISD::TLS_ADD\0"
97 "SPISD::TLS_CALL\0"
98 "SPISD::TLS_LD\0"
99 "SPISD::XTOF\0"
100 ;
101#ifdef __GNUC__
102#pragma GCC diagnostic pop
103#endif
104
105static constexpr llvm::StringTable
106SparcSDNodeNames = SparcSDNodeNamesStorage;
107
108static const VTByHwModePair SparcVTByHwModeTable[] = {
109 /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE}
110};
111
112static const SDTypeConstraint SparcSDTypeConstraints[] = {
113 /* 0 */ {SDTCisVT, 2, 0, 0, MVT::i64}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVT, 0, 0, 0, MVT::Other},
114 /* 3 */ {SDTCisVT, 0, 0, 0, MVT::i32},
115 /* 4 */ {SDTCisFP, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 0, 0, 0, MVT::f32},
116 /* 6 */ {SDTCisFP, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 0, 0, 0, MVT::f64},
117 /* 8 */ {SDTCisVT, 0, 0, 0, MVT::iPTR},
118 /* 9 */ {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
119 /* 11 */ {SDTCisPtrTy, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
120 /* 14 */ {SDTCisVT, 2, 0, 0, MVT::Other}, {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
121 /* 17 */ {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisFP, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
122 /* 19 */ {SDTCisVT, 1, 0, 0, MVT::f32}, {SDTCisFP, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
123 /* 21 */ {SDTCisVT, 1, 0, 0, MVT::f64}, {SDTCisFP, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
124 /* 23 */ {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
125 /* 25 */ {SDTCisVT, 4, 0, 0, MVT::i64}, {SDTCisVT, 3, 0, 0, MVT::i32}, {SDTCisSameAs, 1, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
126};
127
128static const SDNodeDesc SparcSDNodeDescs[] = {
129 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 1, 1, 2}, // BPICC
130 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 14, 1, 2}, // BPXCC
131 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 27, 1, 2}, // BRFCC
132 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 40, 1, 2}, // BRFCC_V9
133 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 56, 1, 2}, // BRICC
134 {0, 3, 0|1<<SDNPHasChain, 0, 0, 69, 0, 3}, // BR_REG
135 {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 83, 8, 1}, // CALL
136 {0, 2, 0|1<<SDNPOutGlue, 0, 0, 95, 17, 2}, // CMPFCC
137 {0, 2, 0|1<<SDNPOutGlue, 0, 0, 109, 17, 2}, // CMPFCC_V9
138 {0, 2, 0|1<<SDNPOutGlue, 0, 0, 126, 12, 2}, // CMPICC
139 {0, 0, 0|1<<SDNPHasChain, 0, 0, 140, 0, 0}, // FLUSHW
140 {1, 1, 0, 0, 0, 154, 4, 2}, // FTOI
141 {1, 1, 0, 0, 0, 166, 6, 2}, // FTOX
142 {1, 0, 0, 0, 0, 178, 8, 1}, // GLOBAL_BASE_REG
143 {1, 1, 0, 0, 0, 201, 23, 2}, // Hi
144 {1, 1, 0, 0, 0, 211, 19, 2}, // ITOF
145 {1, 2, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 223, 14, 3}, // LOAD_BIG
146 {1, 2, 0, 0, 0, 239, 9, 2}, // LOAD_GDOP
147 {1, 2, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 256, 14, 3}, // LOAD_LITTLE
148 {1, 1, 0, 0, 0, 275, 23, 2}, // Lo
149 {0, 1, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 285, 3, 1}, // RET_GLUE
150 {1, 3, 0|1<<SDNPInGlue, 0, 0, 301, 26, 3}, // SELECT_FCC
151 {1, 3, 0|1<<SDNPInGlue, 0, 0, 319, 26, 3}, // SELECT_ICC
152 {1, 4, 0, 0, 0, 337, 25, 4}, // SELECT_REG
153 {1, 3, 0|1<<SDNPInGlue, 0, 0, 355, 26, 3}, // SELECT_XCC
154 {0, 3, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 373, 14, 3}, // STORE_BIG
155 {0, 3, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 390, 14, 3}, // STORE_LITTLE
156 {0, -1, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 410, 8, 1}, // TAIL_CALL
157 {1, 3, 0, 0, 0, 427, 11, 3}, // TLS_ADD
158 {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 442, 8, 1}, // TLS_CALL
159 {1, 2, 0, 0, 0, 458, 9, 2}, // TLS_LD
160 {1, 1, 0, 0, 0, 472, 21, 2}, // XTOF
161};
162
163static const SDNodeInfo SparcGenSDNodeInfo(
164 /*NumOpcodes=*/32, SparcSDNodeDescs, SparcSDNodeNames,
165 SparcVTByHwModeTable, SparcSDTypeConstraints);
166
167} // namespace llvm
168
169#endif // GET_SDNODE_DESC
170
171