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_GDOP,
33 Lo,
34 RET_GLUE,
35 SELECT_FCC,
36 SELECT_ICC,
37 SELECT_REG,
38 SELECT_XCC,
39 TAIL_CALL,
40 TLS_ADD,
41 TLS_CALL,
42 TLS_LD,
43 XTOF,
44};
45
46static constexpr unsigned GENERATED_OPCODE_END = XTOF + 1;
47
48} // namespace llvm::SPISD
49
50#endif // GET_SDNODE_ENUM
51
52#ifdef GET_SDNODE_DESC
53#undef GET_SDNODE_DESC
54
55namespace llvm {
56
57
58#ifdef __GNUC__
59#pragma GCC diagnostic push
60#pragma GCC diagnostic ignored "-Woverlength-strings"
61#endif
62static constexpr char SparcSDNodeNamesStorage[] =
63 "\0"
64 "SPISD::BPICC\0"
65 "SPISD::BPXCC\0"
66 "SPISD::BRFCC\0"
67 "SPISD::BRFCC_V9\0"
68 "SPISD::BRICC\0"
69 "SPISD::BR_REG\0"
70 "SPISD::CALL\0"
71 "SPISD::CMPFCC\0"
72 "SPISD::CMPFCC_V9\0"
73 "SPISD::CMPICC\0"
74 "SPISD::FLUSHW\0"
75 "SPISD::FTOI\0"
76 "SPISD::FTOX\0"
77 "SPISD::GLOBAL_BASE_REG\0"
78 "SPISD::Hi\0"
79 "SPISD::ITOF\0"
80 "SPISD::LOAD_GDOP\0"
81 "SPISD::Lo\0"
82 "SPISD::RET_GLUE\0"
83 "SPISD::SELECT_FCC\0"
84 "SPISD::SELECT_ICC\0"
85 "SPISD::SELECT_REG\0"
86 "SPISD::SELECT_XCC\0"
87 "SPISD::TAIL_CALL\0"
88 "SPISD::TLS_ADD\0"
89 "SPISD::TLS_CALL\0"
90 "SPISD::TLS_LD\0"
91 "SPISD::XTOF\0"
92 ;
93#ifdef __GNUC__
94#pragma GCC diagnostic pop
95#endif
96
97static constexpr llvm::StringTable
98SparcSDNodeNames = SparcSDNodeNamesStorage;
99
100static const VTByHwModePair SparcVTByHwModeTable[] = {
101 /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE}
102};
103
104static const SDTypeConstraint SparcSDTypeConstraints[] = {
105 /* 0 */ {SDTCisVT, 2, 0, 0, MVT::i64}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVT, 0, 0, 0, MVT::Other},
106 /* 3 */ {SDTCisVT, 0, 0, 0, MVT::i32},
107 /* 4 */ {SDTCisFP, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 0, 0, 0, MVT::f32},
108 /* 6 */ {SDTCisFP, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 0, 0, 0, MVT::f64},
109 /* 8 */ {SDTCisVT, 0, 0, 0, MVT::iPTR},
110 /* 9 */ {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
111 /* 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},
112 /* 14 */ {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisFP, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
113 /* 16 */ {SDTCisVT, 1, 0, 0, MVT::f32}, {SDTCisFP, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
114 /* 18 */ {SDTCisVT, 1, 0, 0, MVT::f64}, {SDTCisFP, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
115 /* 20 */ {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
116 /* 22 */ {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},
117};
118
119static const SDNodeDesc SparcSDNodeDescs[] = {
120 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 1, 1, 2}, // BPICC
121 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 14, 1, 2}, // BPXCC
122 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 27, 1, 2}, // BRFCC
123 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 40, 1, 2}, // BRFCC_V9
124 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 56, 1, 2}, // BRICC
125 {0, 3, 0|1<<SDNPHasChain, 0, 0, 69, 0, 3}, // BR_REG
126 {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 83, 8, 1}, // CALL
127 {0, 2, 0|1<<SDNPOutGlue, 0, 0, 95, 14, 2}, // CMPFCC
128 {0, 2, 0|1<<SDNPOutGlue, 0, 0, 109, 14, 2}, // CMPFCC_V9
129 {0, 2, 0|1<<SDNPOutGlue, 0, 0, 126, 12, 2}, // CMPICC
130 {0, 0, 0|1<<SDNPHasChain, 0, 0, 140, 0, 0}, // FLUSHW
131 {1, 1, 0, 0, 0, 154, 4, 2}, // FTOI
132 {1, 1, 0, 0, 0, 166, 6, 2}, // FTOX
133 {1, 0, 0, 0, 0, 178, 8, 1}, // GLOBAL_BASE_REG
134 {1, 1, 0, 0, 0, 201, 20, 2}, // Hi
135 {1, 1, 0, 0, 0, 211, 16, 2}, // ITOF
136 {1, 2, 0, 0, 0, 223, 9, 2}, // LOAD_GDOP
137 {1, 1, 0, 0, 0, 240, 20, 2}, // Lo
138 {0, 1, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 250, 3, 1}, // RET_GLUE
139 {1, 3, 0|1<<SDNPInGlue, 0, 0, 266, 23, 3}, // SELECT_FCC
140 {1, 3, 0|1<<SDNPInGlue, 0, 0, 284, 23, 3}, // SELECT_ICC
141 {1, 4, 0, 0, 0, 302, 22, 4}, // SELECT_REG
142 {1, 3, 0|1<<SDNPInGlue, 0, 0, 320, 23, 3}, // SELECT_XCC
143 {0, -1, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 338, 8, 1}, // TAIL_CALL
144 {1, 3, 0, 0, 0, 355, 11, 3}, // TLS_ADD
145 {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 370, 8, 1}, // TLS_CALL
146 {1, 2, 0, 0, 0, 386, 9, 2}, // TLS_LD
147 {1, 1, 0, 0, 0, 400, 18, 2}, // XTOF
148};
149
150static const SDNodeInfo SparcGenSDNodeInfo(
151 /*NumOpcodes=*/28, SparcSDNodeDescs, SparcSDNodeNames,
152 SparcVTByHwModeTable, SparcSDTypeConstraints);
153
154} // namespace llvm
155
156#endif // GET_SDNODE_DESC
157
158