| 1 | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
| 2 | |* *| |
| 3 | |* Target SDNode descriptions *| |
| 4 | |* *| |
| 5 | |* Automatically generated file, do not edit! *| |
| 6 | |* From: WebAssembly.td *| |
| 7 | |* *| |
| 8 | \*===----------------------------------------------------------------------===*/ |
| 9 | |
| 10 | #ifdef GET_SDNODE_ENUM |
| 11 | #undef GET_SDNODE_ENUM |
| 12 | |
| 13 | namespace llvm::WebAssemblyISD { |
| 14 | |
| 15 | enum GenNodeType : unsigned { |
| 16 | ARGUMENT = ISD::BUILTIN_OP_END, |
| 17 | BR_TABLE, |
| 18 | CONVERT_LOW_S, |
| 19 | CONVERT_LOW_U, |
| 20 | DEMOTE_ZERO, |
| 21 | DOT, |
| 22 | EXTEND_HIGH_S, |
| 23 | EXTEND_HIGH_U, |
| 24 | EXTEND_LOW_S, |
| 25 | EXTEND_LOW_U, |
| 26 | EXT_ADD_PAIRWISE_S, |
| 27 | EXT_ADD_PAIRWISE_U, |
| 28 | GLOBAL_GET, |
| 29 | GLOBAL_SET, |
| 30 | I64_ADD128, |
| 31 | I64_MUL_WIDE_S, |
| 32 | I64_MUL_WIDE_U, |
| 33 | I64_SUB128, |
| 34 | LOCAL_GET, |
| 35 | LOCAL_SET, |
| 36 | MEMCPY, |
| 37 | MEMSET, |
| 38 | NARROW_U, |
| 39 | PROMOTE_LOW, |
| 40 | RELAXED_FMAX, |
| 41 | RELAXED_FMIN, |
| 42 | RETURN, |
| 43 | SHUFFLE, |
| 44 | SWIZZLE, |
| 45 | TABLE_GET, |
| 46 | TABLE_SET, |
| 47 | TRUNC_SAT_ZERO_S, |
| 48 | TRUNC_SAT_ZERO_U, |
| 49 | VEC_SHL, |
| 50 | VEC_SHR_S, |
| 51 | VEC_SHR_U, |
| 52 | Wrapper, |
| 53 | WrapperREL, |
| 54 | }; |
| 55 | |
| 56 | static constexpr unsigned GENERATED_OPCODE_END = WrapperREL + 1; |
| 57 | |
| 58 | } // namespace llvm::WebAssemblyISD |
| 59 | |
| 60 | #endif // GET_SDNODE_ENUM |
| 61 | |
| 62 | #ifdef GET_SDNODE_DESC |
| 63 | #undef GET_SDNODE_DESC |
| 64 | |
| 65 | namespace llvm { |
| 66 | |
| 67 | |
| 68 | #ifdef __GNUC__ |
| 69 | #pragma GCC diagnostic push |
| 70 | #pragma GCC diagnostic ignored "-Woverlength-strings" |
| 71 | #endif |
| 72 | static constexpr char WebAssemblySDNodeNamesStorage[] = |
| 73 | "\0" |
| 74 | "WebAssemblyISD::ARGUMENT\0" |
| 75 | "WebAssemblyISD::BR_TABLE\0" |
| 76 | "WebAssemblyISD::CONVERT_LOW_S\0" |
| 77 | "WebAssemblyISD::CONVERT_LOW_U\0" |
| 78 | "WebAssemblyISD::DEMOTE_ZERO\0" |
| 79 | "WebAssemblyISD::DOT\0" |
| 80 | "WebAssemblyISD::EXTEND_HIGH_S\0" |
| 81 | "WebAssemblyISD::EXTEND_HIGH_U\0" |
| 82 | "WebAssemblyISD::EXTEND_LOW_S\0" |
| 83 | "WebAssemblyISD::EXTEND_LOW_U\0" |
| 84 | "WebAssemblyISD::EXT_ADD_PAIRWISE_S\0" |
| 85 | "WebAssemblyISD::EXT_ADD_PAIRWISE_U\0" |
| 86 | "WebAssemblyISD::GLOBAL_GET\0" |
| 87 | "WebAssemblyISD::GLOBAL_SET\0" |
| 88 | "WebAssemblyISD::I64_ADD128\0" |
| 89 | "WebAssemblyISD::I64_MUL_WIDE_S\0" |
| 90 | "WebAssemblyISD::I64_MUL_WIDE_U\0" |
| 91 | "WebAssemblyISD::I64_SUB128\0" |
| 92 | "WebAssemblyISD::LOCAL_GET\0" |
| 93 | "WebAssemblyISD::LOCAL_SET\0" |
| 94 | "WebAssemblyISD::MEMCPY\0" |
| 95 | "WebAssemblyISD::MEMSET\0" |
| 96 | "WebAssemblyISD::NARROW_U\0" |
| 97 | "WebAssemblyISD::PROMOTE_LOW\0" |
| 98 | "WebAssemblyISD::RELAXED_FMAX\0" |
| 99 | "WebAssemblyISD::RELAXED_FMIN\0" |
| 100 | "WebAssemblyISD::RETURN\0" |
| 101 | "WebAssemblyISD::SHUFFLE\0" |
| 102 | "WebAssemblyISD::SWIZZLE\0" |
| 103 | "WebAssemblyISD::TABLE_GET\0" |
| 104 | "WebAssemblyISD::TABLE_SET\0" |
| 105 | "WebAssemblyISD::TRUNC_SAT_ZERO_S\0" |
| 106 | "WebAssemblyISD::TRUNC_SAT_ZERO_U\0" |
| 107 | "WebAssemblyISD::VEC_SHL\0" |
| 108 | "WebAssemblyISD::VEC_SHR_S\0" |
| 109 | "WebAssemblyISD::VEC_SHR_U\0" |
| 110 | "WebAssemblyISD::Wrapper\0" |
| 111 | "WebAssemblyISD::WrapperREL\0" |
| 112 | ; |
| 113 | #ifdef __GNUC__ |
| 114 | #pragma GCC diagnostic pop |
| 115 | #endif |
| 116 | |
| 117 | static constexpr llvm::StringTable |
| 118 | WebAssemblySDNodeNames = WebAssemblySDNodeNamesStorage; |
| 119 | |
| 120 | static const VTByHwModePair WebAssemblyVTByHwModeTable[] = { |
| 121 | /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE} |
| 122 | }; |
| 123 | |
| 124 | static const SDTypeConstraint WebAssemblySDTypeConstraints[] = { |
| 125 | /* 0 */ {SDTCisVT, 0, 0, 0, MVT::i32}, |
| 126 | /* 1 */ {SDTCisVT, 2, 0, 0, MVT::v8i16}, {SDTCisVT, 1, 0, 0, MVT::v8i16}, {SDTCisVT, 0, 0, 0, MVT::v4i32}, |
| 127 | /* 4 */ {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 128 | /* 5 */ {SDTCisInt, 3, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 129 | /* 9 */ {SDTCisInt, 4, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 3, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 130 | /* 14 */ {SDTCisVT, 2, 0, 0, MVT::i32}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 131 | /* 17 */ {SDTCisVec, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 132 | /* 19 */ {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 133 | /* 21 */ {SDTCisFP, 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}, |
| 134 | /* 24 */ {SDTCisVT, 1, 0, 0, MVT::i32}, |
| 135 | /* 25 */ {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 136 | }; |
| 137 | |
| 138 | static const SDNodeDesc WebAssemblySDNodeDescs[] = { |
| 139 | {1, 1, 0, 0, 0, 1, 24, 1}, // ARGUMENT |
| 140 | {0, -1, 0|1<<SDNPHasChain|1<<SDNPVariadic, 0, 0, 26, 4, 1}, // BR_TABLE |
| 141 | {1, 1, 0, 0, 0, 51, 17, 2}, // CONVERT_LOW_S |
| 142 | {1, 1, 0, 0, 0, 81, 17, 2}, // CONVERT_LOW_U |
| 143 | {1, 1, 0, 0, 0, 111, 17, 2}, // DEMOTE_ZERO |
| 144 | {1, 2, 0, 0, 0, 139, 1, 3}, // DOT |
| 145 | {1, 1, 0, 0, 0, 159, 17, 2}, // EXTEND_HIGH_S |
| 146 | {1, 1, 0, 0, 0, 189, 17, 2}, // EXTEND_HIGH_U |
| 147 | {1, 1, 0, 0, 0, 219, 17, 2}, // EXTEND_LOW_S |
| 148 | {1, 1, 0, 0, 0, 248, 17, 2}, // EXTEND_LOW_U |
| 149 | {1, 1, 0, 0, 0, 277, 17, 2}, // EXT_ADD_PAIRWISE_S |
| 150 | {1, 1, 0, 0, 0, 312, 17, 2}, // EXT_ADD_PAIRWISE_U |
| 151 | {1, 1, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 347, 25, 1}, // GLOBAL_GET |
| 152 | {0, 2, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 374, 25, 1}, // GLOBAL_SET |
| 153 | {2, 4, 0, 0, 0, 401, 0, 0}, // I64_ADD128 |
| 154 | {2, 2, 0, 0, 0, 428, 0, 0}, // I64_MUL_WIDE_S |
| 155 | {2, 2, 0, 0, 0, 459, 0, 0}, // I64_MUL_WIDE_U |
| 156 | {2, 4, 0, 0, 0, 490, 0, 0}, // I64_SUB128 |
| 157 | {1, 1, 0|1<<SDNPHasChain, 0, 0, 517, 24, 1}, // LOCAL_GET |
| 158 | {0, 2, 0|1<<SDNPHasChain, 0, 0, 543, 0, 1}, // LOCAL_SET |
| 159 | {0, 5, 0|1<<SDNPHasChain, 0, 0, 569, 9, 5}, // MEMCPY |
| 160 | {0, 4, 0|1<<SDNPHasChain, 0, 0, 592, 5, 4}, // MEMSET |
| 161 | {1, 2, 0, 0, 0, 615, 0, 0}, // NARROW_U |
| 162 | {1, 1, 0, 0, 0, 640, 17, 2}, // PROMOTE_LOW |
| 163 | {1, 2, 0, 0, 0, 668, 21, 3}, // RELAXED_FMAX |
| 164 | {1, 2, 0, 0, 0, 697, 21, 3}, // RELAXED_FMIN |
| 165 | {0, -1, 0|1<<SDNPHasChain|1<<SDNPVariadic, 0, 0, 726, 0, 0}, // RETURN |
| 166 | {1, 18, 0, 0, 0, 749, 0, 0}, // SHUFFLE |
| 167 | {1, 2, 0, 0, 0, 773, 0, 0}, // SWIZZLE |
| 168 | {1, 2, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 797, 25, 1}, // TABLE_GET |
| 169 | {0, 3, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 823, 25, 1}, // TABLE_SET |
| 170 | {1, 1, 0, 0, 0, 849, 17, 2}, // TRUNC_SAT_ZERO_S |
| 171 | {1, 1, 0, 0, 0, 882, 17, 2}, // TRUNC_SAT_ZERO_U |
| 172 | {1, 2, 0, 0, 0, 915, 14, 3}, // VEC_SHL |
| 173 | {1, 2, 0, 0, 0, 939, 14, 3}, // VEC_SHR_S |
| 174 | {1, 2, 0, 0, 0, 965, 14, 3}, // VEC_SHR_U |
| 175 | {1, 1, 0, 0, 0, 991, 19, 2}, // Wrapper |
| 176 | {1, 1, 0, 0, 0, 1015, 19, 2}, // WrapperREL |
| 177 | }; |
| 178 | |
| 179 | static const SDNodeInfo WebAssemblyGenSDNodeInfo( |
| 180 | /*NumOpcodes=*/38, WebAssemblySDNodeDescs, WebAssemblySDNodeNames, |
| 181 | WebAssemblyVTByHwModeTable, WebAssemblySDTypeConstraints); |
| 182 | |
| 183 | } // namespace llvm |
| 184 | |
| 185 | #endif // GET_SDNODE_DESC |
| 186 | |
| 187 | |