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