1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Target SDNode descriptions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: AVR.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10#ifdef GET_SDNODE_ENUM
11#undef GET_SDNODE_ENUM
12
13namespace llvm::AVRISD {
14
15enum GenNodeType : unsigned {
16 ASR = ISD::BUILTIN_OP_END,
17 ASRBN,
18 ASRLO,
19 ASRLOOP,
20 ASRW,
21 ASRWN,
22 BRCOND,
23 CALL,
24 CMP,
25 CMPC,
26 LSL,
27 LSLBN,
28 LSLHI,
29 LSLLOOP,
30 LSLW,
31 LSLWN,
32 LSR,
33 LSRBN,
34 LSRLO,
35 LSRLOOP,
36 LSRW,
37 LSRWN,
38 RETI_GLUE,
39 RET_GLUE,
40 ROL,
41 ROLLOOP,
42 ROR,
43 RORLOOP,
44 SELECT_CC,
45 SWAP,
46 TST,
47 WRAPPER,
48};
49
50static constexpr unsigned GENERATED_OPCODE_END = WRAPPER + 1;
51
52} // namespace llvm::AVRISD
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 AVRSDNodeNamesStorage[] =
67 "\0"
68 "AVRISD::ASR\0"
69 "AVRISD::ASRBN\0"
70 "AVRISD::ASRLO\0"
71 "AVRISD::ASRLOOP\0"
72 "AVRISD::ASRW\0"
73 "AVRISD::ASRWN\0"
74 "AVRISD::BRCOND\0"
75 "AVRISD::CALL\0"
76 "AVRISD::CMP\0"
77 "AVRISD::CMPC\0"
78 "AVRISD::LSL\0"
79 "AVRISD::LSLBN\0"
80 "AVRISD::LSLHI\0"
81 "AVRISD::LSLLOOP\0"
82 "AVRISD::LSLW\0"
83 "AVRISD::LSLWN\0"
84 "AVRISD::LSR\0"
85 "AVRISD::LSRBN\0"
86 "AVRISD::LSRLO\0"
87 "AVRISD::LSRLOOP\0"
88 "AVRISD::LSRW\0"
89 "AVRISD::LSRWN\0"
90 "AVRISD::RETI_GLUE\0"
91 "AVRISD::RET_GLUE\0"
92 "AVRISD::ROL\0"
93 "AVRISD::ROLLOOP\0"
94 "AVRISD::ROR\0"
95 "AVRISD::RORLOOP\0"
96 "AVRISD::SELECT_CC\0"
97 "AVRISD::SWAP\0"
98 "AVRISD::TST\0"
99 "AVRISD::WRAPPER\0"
100 ;
101#ifdef __GNUC__
102#pragma GCC diagnostic pop
103#endif
104
105static constexpr llvm::StringTable
106AVRSDNodeNames = AVRSDNodeNamesStorage;
107
108static const VTByHwModePair AVRVTByHwModeTable[] = {
109 /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE}
110};
111
112static const SDTypeConstraint AVRSDTypeConstraints[] = {
113 /* 0 */ {SDTCisVT, 1, 0, 0, MVT::i8}, {SDTCisVT, 0, 0, 0, MVT::Other},
114 /* 2 */ {SDTCisVT, 0, 0, 0, MVT::iPTR},
115 /* 3 */ {SDTCisSameNumEltsAs, 0, 4, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 4, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 3, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
116 /* 9 */ {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
117 /* 11 */ {SDTCisSameNumEltsAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
118 /* 15 */ {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
119 /* 18 */ {SDTCisVT, 3, 0, 0, MVT::i8}, {SDTCisSameAs, 1, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE},
120};
121
122static const SDNodeDesc AVRSDNodeDescs[] = {
123 {1, 1, 0, 0, 0, 1, 13, 2}, // ASR
124 {1, 2, 0, 0, 0, 13, 15, 3}, // ASRBN
125 {1, 1, 0, 0, 0, 27, 13, 2}, // ASRLO
126 {1, 2, 0, 0, 0, 41, 11, 4}, // ASRLOOP
127 {2, 3, 0, 0, 0, 57, 3, 6}, // ASRW
128 {1, 2, 0, 0, 0, 70, 15, 3}, // ASRWN
129 {0, 2, 0|1<<SDNPHasChain|1<<SDNPInGlue, 0, 0, 84, 0, 2}, // BRCOND
130 {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 99, 2, 1}, // CALL
131 {0, 2, 0|1<<SDNPOutGlue, 0, 0, 112, 10, 1}, // CMP
132 {0, 2, 0|1<<SDNPOutGlue|1<<SDNPInGlue, 0, 0, 124, 10, 1}, // CMPC
133 {1, 1, 0, 0, 0, 137, 13, 2}, // LSL
134 {1, 2, 0, 0, 0, 149, 15, 3}, // LSLBN
135 {1, 1, 0, 0, 0, 163, 13, 2}, // LSLHI
136 {1, 2, 0, 0, 0, 177, 11, 4}, // LSLLOOP
137 {2, 3, 0, 0, 0, 193, 3, 6}, // LSLW
138 {1, 2, 0, 0, 0, 206, 15, 3}, // LSLWN
139 {1, 1, 0, 0, 0, 220, 13, 2}, // LSR
140 {1, 2, 0, 0, 0, 232, 15, 3}, // LSRBN
141 {1, 1, 0, 0, 0, 246, 13, 2}, // LSRLO
142 {1, 2, 0, 0, 0, 260, 11, 4}, // LSRLOOP
143 {2, 3, 0, 0, 0, 276, 3, 6}, // LSRW
144 {1, 2, 0, 0, 0, 289, 15, 3}, // LSRWN
145 {0, 0, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 303, 0, 0}, // RETI_GLUE
146 {0, 0, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 321, 0, 0}, // RET_GLUE
147 {1, 1, 0, 0, 0, 338, 13, 2}, // ROL
148 {1, 2, 0, 0, 0, 350, 11, 4}, // ROLLOOP
149 {1, 1, 0, 0, 0, 366, 13, 2}, // ROR
150 {1, 2, 0, 0, 0, 378, 11, 4}, // RORLOOP
151 {1, 3, 0|1<<SDNPInGlue, 0, 0, 394, 18, 3}, // SELECT_CC
152 {1, 1, 0, 0, 0, 412, 13, 2}, // SWAP
153 {0, 1, 0|1<<SDNPOutGlue, 0, 0, 425, 8, 1}, // TST
154 {1, 1, 0, 0, 0, 437, 9, 2}, // WRAPPER
155};
156
157static const SDNodeInfo AVRGenSDNodeInfo(
158 /*NumOpcodes=*/32, AVRSDNodeDescs, AVRSDNodeNames,
159 AVRVTByHwModeTable, AVRSDTypeConstraints);
160
161} // namespace llvm
162
163#endif // GET_SDNODE_DESC
164
165