| 1 | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
| 2 | |* *| |
| 3 | |* Target SDNode descriptions *| |
| 4 | |* *| |
| 5 | |* Automatically generated file, do not edit! *| |
| 6 | |* From: SystemZ.td *| |
| 7 | |* *| |
| 8 | \*===----------------------------------------------------------------------===*/ |
| 9 | |
| 10 | #ifdef GET_SDNODE_ENUM |
| 11 | #undef GET_SDNODE_ENUM |
| 12 | |
| 13 | namespace llvm::SystemZISD { |
| 14 | |
| 15 | enum GenNodeType : unsigned { |
| 16 | ADA_ENTRY = ISD::BUILTIN_OP_END, |
| 17 | ADDCARRY, |
| 18 | ADJDYNALLOC, |
| 19 | ATOMIC_CMP_SWAP, |
| 20 | ATOMIC_CMP_SWAPW, |
| 21 | ATOMIC_CMP_SWAP_128, |
| 22 | ATOMIC_LOADW_ADD, |
| 23 | ATOMIC_LOADW_AND, |
| 24 | ATOMIC_LOADW_MAX, |
| 25 | ATOMIC_LOADW_MIN, |
| 26 | ATOMIC_LOADW_NAND, |
| 27 | ATOMIC_LOADW_OR, |
| 28 | ATOMIC_LOADW_SUB, |
| 29 | ATOMIC_LOADW_UMAX, |
| 30 | ATOMIC_LOADW_UMIN, |
| 31 | ATOMIC_LOADW_XOR, |
| 32 | ATOMIC_LOAD_128, |
| 33 | ATOMIC_STORE_128, |
| 34 | ATOMIC_SWAPW, |
| 35 | BR_CCMASK, |
| 36 | BYTE_MASK, |
| 37 | CALL, |
| 38 | CLC, |
| 39 | FCMP, |
| 40 | ICMP, |
| 41 | IPM, |
| 42 | JOIN_DWORDS, |
| 43 | LRV, |
| 44 | MEMSET_MVC, |
| 45 | MERGE_HIGH, |
| 46 | MERGE_LOW, |
| 47 | MVC, |
| 48 | NC, |
| 49 | OC, |
| 50 | PACK, |
| 51 | PACKLS_CC, |
| 52 | PACKS_CC, |
| 53 | PCREL_OFFSET, |
| 54 | PCREL_WRAPPER, |
| 55 | PERMUTE, |
| 56 | PERMUTE_DWORDS, |
| 57 | POPCNT, |
| 58 | PREFETCH, |
| 59 | PROBED_ALLOCA, |
| 60 | REPLICATE, |
| 61 | RET_GLUE, |
| 62 | ROTATE_MASK, |
| 63 | SADDO, |
| 64 | SCMP128HI, |
| 65 | SDIVREM, |
| 66 | SEARCH_STRING, |
| 67 | SELECT_CCMASK, |
| 68 | SHL_DOUBLE, |
| 69 | SHL_DOUBLE_BIT, |
| 70 | SHR_DOUBLE_BIT, |
| 71 | SIBCALL, |
| 72 | SMUL_LOHI, |
| 73 | SPLAT, |
| 74 | SSUBO, |
| 75 | STCKF, |
| 76 | STPCPY, |
| 77 | STRCMP, |
| 78 | STRICT_FCMP, |
| 79 | STRICT_FCMPS, |
| 80 | STRICT_VEXTEND, |
| 81 | STRICT_VFCMPE, |
| 82 | STRICT_VFCMPES, |
| 83 | STRICT_VFCMPH, |
| 84 | STRICT_VFCMPHE, |
| 85 | STRICT_VFCMPHES, |
| 86 | STRICT_VFCMPHS, |
| 87 | STRICT_VROUND, |
| 88 | STRV, |
| 89 | SUBCARRY, |
| 90 | TBEGIN, |
| 91 | TBEGIN_NOFLOAT, |
| 92 | TDC, |
| 93 | TEND, |
| 94 | TLS_GDCALL, |
| 95 | TLS_LDCALL, |
| 96 | TM, |
| 97 | UADDO, |
| 98 | UCMP128HI, |
| 99 | UDIVREM, |
| 100 | UMUL_LOHI, |
| 101 | UNPACKL_HIGH, |
| 102 | UNPACKL_LOW, |
| 103 | UNPACK_HIGH, |
| 104 | UNPACK_LOW, |
| 105 | USUBO, |
| 106 | VAC, |
| 107 | VACC, |
| 108 | VACCC, |
| 109 | VEXTEND, |
| 110 | VFAEZ_CC, |
| 111 | VFAE_CC, |
| 112 | VFCMPE, |
| 113 | VFCMPES, |
| 114 | VFCMPH, |
| 115 | VFCMPHE, |
| 116 | VFCMPHES, |
| 117 | VFCMPHS, |
| 118 | VFEEZ_CC, |
| 119 | VFEE_CC, |
| 120 | VFENEZ_CC, |
| 121 | VFENE_CC, |
| 122 | VFTCI, |
| 123 | VICMPE, |
| 124 | VICMPES, |
| 125 | VICMPH, |
| 126 | VICMPHL, |
| 127 | VICMPHLS, |
| 128 | VICMPHS, |
| 129 | VISTR_CC, |
| 130 | VLER, |
| 131 | VMAH, |
| 132 | VMALH, |
| 133 | VME, |
| 134 | VMLE, |
| 135 | VMLO, |
| 136 | VMO, |
| 137 | VROTL_BY_SCALAR, |
| 138 | VROUND, |
| 139 | VSBCBI, |
| 140 | VSBI, |
| 141 | VSCBI, |
| 142 | VSHL_BY_SCALAR, |
| 143 | VSRA_BY_SCALAR, |
| 144 | VSRL_BY_SCALAR, |
| 145 | VSTER, |
| 146 | VSTRCZ_CC, |
| 147 | VSTRC_CC, |
| 148 | VSTRSZ_CC, |
| 149 | VSTRS_CC, |
| 150 | VSUM, |
| 151 | VTM, |
| 152 | XC, |
| 153 | }; |
| 154 | |
| 155 | static constexpr unsigned GENERATED_OPCODE_END = XC + 1; |
| 156 | |
| 157 | } // namespace llvm::SystemZISD |
| 158 | |
| 159 | #endif // GET_SDNODE_ENUM |
| 160 | |
| 161 | #ifdef GET_SDNODE_DESC |
| 162 | #undef GET_SDNODE_DESC |
| 163 | |
| 164 | namespace llvm { |
| 165 | |
| 166 | |
| 167 | #ifdef __GNUC__ |
| 168 | #pragma GCC diagnostic push |
| 169 | #pragma GCC diagnostic ignored "-Woverlength-strings" |
| 170 | #endif |
| 171 | static constexpr char SystemZSDNodeNamesStorage[] = |
| 172 | "\0" |
| 173 | "SystemZISD::ADA_ENTRY\0" |
| 174 | "SystemZISD::ADDCARRY\0" |
| 175 | "SystemZISD::ADJDYNALLOC\0" |
| 176 | "SystemZISD::ATOMIC_CMP_SWAP\0" |
| 177 | "SystemZISD::ATOMIC_CMP_SWAPW\0" |
| 178 | "SystemZISD::ATOMIC_CMP_SWAP_128\0" |
| 179 | "SystemZISD::ATOMIC_LOADW_ADD\0" |
| 180 | "SystemZISD::ATOMIC_LOADW_AND\0" |
| 181 | "SystemZISD::ATOMIC_LOADW_MAX\0" |
| 182 | "SystemZISD::ATOMIC_LOADW_MIN\0" |
| 183 | "SystemZISD::ATOMIC_LOADW_NAND\0" |
| 184 | "SystemZISD::ATOMIC_LOADW_OR\0" |
| 185 | "SystemZISD::ATOMIC_LOADW_SUB\0" |
| 186 | "SystemZISD::ATOMIC_LOADW_UMAX\0" |
| 187 | "SystemZISD::ATOMIC_LOADW_UMIN\0" |
| 188 | "SystemZISD::ATOMIC_LOADW_XOR\0" |
| 189 | "SystemZISD::ATOMIC_LOAD_128\0" |
| 190 | "SystemZISD::ATOMIC_STORE_128\0" |
| 191 | "SystemZISD::ATOMIC_SWAPW\0" |
| 192 | "SystemZISD::BR_CCMASK\0" |
| 193 | "SystemZISD::BYTE_MASK\0" |
| 194 | "SystemZISD::CALL\0" |
| 195 | "SystemZISD::CLC\0" |
| 196 | "SystemZISD::FCMP\0" |
| 197 | "SystemZISD::ICMP\0" |
| 198 | "SystemZISD::IPM\0" |
| 199 | "SystemZISD::JOIN_DWORDS\0" |
| 200 | "SystemZISD::LRV\0" |
| 201 | "SystemZISD::MEMSET_MVC\0" |
| 202 | "SystemZISD::MERGE_HIGH\0" |
| 203 | "SystemZISD::MERGE_LOW\0" |
| 204 | "SystemZISD::MVC\0" |
| 205 | "SystemZISD::NC\0" |
| 206 | "SystemZISD::OC\0" |
| 207 | "SystemZISD::PACK\0" |
| 208 | "SystemZISD::PACKLS_CC\0" |
| 209 | "SystemZISD::PACKS_CC\0" |
| 210 | "SystemZISD::PCREL_OFFSET\0" |
| 211 | "SystemZISD::PCREL_WRAPPER\0" |
| 212 | "SystemZISD::PERMUTE\0" |
| 213 | "SystemZISD::PERMUTE_DWORDS\0" |
| 214 | "SystemZISD::POPCNT\0" |
| 215 | "SystemZISD::PREFETCH\0" |
| 216 | "SystemZISD::PROBED_ALLOCA\0" |
| 217 | "SystemZISD::REPLICATE\0" |
| 218 | "SystemZISD::RET_GLUE\0" |
| 219 | "SystemZISD::ROTATE_MASK\0" |
| 220 | "SystemZISD::SADDO\0" |
| 221 | "SystemZISD::SCMP128HI\0" |
| 222 | "SystemZISD::SDIVREM\0" |
| 223 | "SystemZISD::SEARCH_STRING\0" |
| 224 | "SystemZISD::SELECT_CCMASK\0" |
| 225 | "SystemZISD::SHL_DOUBLE\0" |
| 226 | "SystemZISD::SHL_DOUBLE_BIT\0" |
| 227 | "SystemZISD::SHR_DOUBLE_BIT\0" |
| 228 | "SystemZISD::SIBCALL\0" |
| 229 | "SystemZISD::SMUL_LOHI\0" |
| 230 | "SystemZISD::SPLAT\0" |
| 231 | "SystemZISD::SSUBO\0" |
| 232 | "SystemZISD::STCKF\0" |
| 233 | "SystemZISD::STPCPY\0" |
| 234 | "SystemZISD::STRCMP\0" |
| 235 | "SystemZISD::STRICT_FCMP\0" |
| 236 | "SystemZISD::STRICT_FCMPS\0" |
| 237 | "SystemZISD::STRICT_VEXTEND\0" |
| 238 | "SystemZISD::STRICT_VFCMPE\0" |
| 239 | "SystemZISD::STRICT_VFCMPES\0" |
| 240 | "SystemZISD::STRICT_VFCMPH\0" |
| 241 | "SystemZISD::STRICT_VFCMPHE\0" |
| 242 | "SystemZISD::STRICT_VFCMPHES\0" |
| 243 | "SystemZISD::STRICT_VFCMPHS\0" |
| 244 | "SystemZISD::STRICT_VROUND\0" |
| 245 | "SystemZISD::STRV\0" |
| 246 | "SystemZISD::SUBCARRY\0" |
| 247 | "SystemZISD::TBEGIN\0" |
| 248 | "SystemZISD::TBEGIN_NOFLOAT\0" |
| 249 | "SystemZISD::TDC\0" |
| 250 | "SystemZISD::TEND\0" |
| 251 | "SystemZISD::TLS_GDCALL\0" |
| 252 | "SystemZISD::TLS_LDCALL\0" |
| 253 | "SystemZISD::TM\0" |
| 254 | "SystemZISD::UADDO\0" |
| 255 | "SystemZISD::UCMP128HI\0" |
| 256 | "SystemZISD::UDIVREM\0" |
| 257 | "SystemZISD::UMUL_LOHI\0" |
| 258 | "SystemZISD::UNPACKL_HIGH\0" |
| 259 | "SystemZISD::UNPACKL_LOW\0" |
| 260 | "SystemZISD::UNPACK_HIGH\0" |
| 261 | "SystemZISD::UNPACK_LOW\0" |
| 262 | "SystemZISD::USUBO\0" |
| 263 | "SystemZISD::VAC\0" |
| 264 | "SystemZISD::VACC\0" |
| 265 | "SystemZISD::VACCC\0" |
| 266 | "SystemZISD::VEXTEND\0" |
| 267 | "SystemZISD::VFAEZ_CC\0" |
| 268 | "SystemZISD::VFAE_CC\0" |
| 269 | "SystemZISD::VFCMPE\0" |
| 270 | "SystemZISD::VFCMPES\0" |
| 271 | "SystemZISD::VFCMPH\0" |
| 272 | "SystemZISD::VFCMPHE\0" |
| 273 | "SystemZISD::VFCMPHES\0" |
| 274 | "SystemZISD::VFCMPHS\0" |
| 275 | "SystemZISD::VFEEZ_CC\0" |
| 276 | "SystemZISD::VFEE_CC\0" |
| 277 | "SystemZISD::VFENEZ_CC\0" |
| 278 | "SystemZISD::VFENE_CC\0" |
| 279 | "SystemZISD::VFTCI\0" |
| 280 | "SystemZISD::VICMPE\0" |
| 281 | "SystemZISD::VICMPES\0" |
| 282 | "SystemZISD::VICMPH\0" |
| 283 | "SystemZISD::VICMPHL\0" |
| 284 | "SystemZISD::VICMPHLS\0" |
| 285 | "SystemZISD::VICMPHS\0" |
| 286 | "SystemZISD::VISTR_CC\0" |
| 287 | "SystemZISD::VLER\0" |
| 288 | "SystemZISD::VMAH\0" |
| 289 | "SystemZISD::VMALH\0" |
| 290 | "SystemZISD::VME\0" |
| 291 | "SystemZISD::VMLE\0" |
| 292 | "SystemZISD::VMLO\0" |
| 293 | "SystemZISD::VMO\0" |
| 294 | "SystemZISD::VROTL_BY_SCALAR\0" |
| 295 | "SystemZISD::VROUND\0" |
| 296 | "SystemZISD::VSBCBI\0" |
| 297 | "SystemZISD::VSBI\0" |
| 298 | "SystemZISD::VSCBI\0" |
| 299 | "SystemZISD::VSHL_BY_SCALAR\0" |
| 300 | "SystemZISD::VSRA_BY_SCALAR\0" |
| 301 | "SystemZISD::VSRL_BY_SCALAR\0" |
| 302 | "SystemZISD::VSTER\0" |
| 303 | "SystemZISD::VSTRCZ_CC\0" |
| 304 | "SystemZISD::VSTRC_CC\0" |
| 305 | "SystemZISD::VSTRSZ_CC\0" |
| 306 | "SystemZISD::VSTRS_CC\0" |
| 307 | "SystemZISD::VSUM\0" |
| 308 | "SystemZISD::VTM\0" |
| 309 | "SystemZISD::XC\0" |
| 310 | ; |
| 311 | #ifdef __GNUC__ |
| 312 | #pragma GCC diagnostic pop |
| 313 | #endif |
| 314 | |
| 315 | static constexpr llvm::StringTable |
| 316 | SystemZSDNodeNames = SystemZSDNodeNamesStorage; |
| 317 | |
| 318 | static const VTByHwModePair SystemZVTByHwModeTable[] = { |
| 319 | /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE} |
| 320 | }; |
| 321 | |
| 322 | static const SDTypeConstraint SystemZSDTypeConstraints[] = { |
| 323 | /* 0 */ {SDTCisVT, 3, 0, 0, MVT::i32}, {SDTCisVT, 2, 0, 0, MVT::Other}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVT, 0, 0, 0, MVT::i32}, |
| 324 | /* 4 */ {SDTCisVT, 7, 0, 0, MVT::i32}, {SDTCisVT, 6, 0, 0, MVT::i32}, {SDTCisVT, 5, 0, 0, MVT::i32}, {SDTCisVT, 4, 0, 0, MVT::i32}, {SDTCisVT, 3, 0, 0, MVT::i32}, {SDTCisPtrTy, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVT, 0, 0, 0, MVT::i32}, |
| 325 | /* 12 */ {SDTCisVT, 5, 0, 0, MVT::i32}, {SDTCisVT, 4, 0, 0, MVT::i32}, {SDTCisVT, 3, 0, 0, MVT::i32}, {SDTCisVT, 2, 0, 0, MVT::i32}, {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 0, 0, 0, MVT::i32}, |
| 326 | /* 18 */ {SDTCisVT, 3, 0, 0, MVT::i64}, {SDTCisPtrTy, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 0, 0, 0, MVT::i32}, |
| 327 | /* 22 */ {SDTCisVT, 3, 0, 0, MVT::i32}, {SDTCisSameAs, 1, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 0, 0, 0, MVT::i32}, |
| 328 | /* 25 */ {SDTCisVT, 2, 0, 0, MVT::i64}, {SDTCisVT, 0, 0, 0, MVT::i32}, |
| 329 | /* 27 */ {SDTCisVT, 0, 0, 0, MVT::i64}, |
| 330 | /* 28 */ {SDTCisVT, 2, 0, 0, MVT::i64}, {SDTCisVT, 1, 0, 0, MVT::i64}, {SDTCisVT, 0, 0, 0, MVT::v2i64}, |
| 331 | /* 31 */ {SDTCisVT, 4, 0, 0, MVT::Untyped}, {SDTCisVT, 3, 0, 0, MVT::Untyped}, {SDTCisPtrTy, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVT, 0, 0, 0, MVT::Untyped}, |
| 332 | /* 36 */ {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 0, 0, 0, MVT::Untyped}, |
| 333 | /* 38 */ {SDTCisInt, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 0, 0, 0, MVT::Untyped}, |
| 334 | /* 41 */ {SDTCisVT, 4, 0, 0, MVT::i32}, {SDTCisPtrTy, 3, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 335 | /* 46 */ {SDTCisVT, 2, 0, 0, MVT::i32}, {SDTCisVT, 1, 0, 0, MVT::i64}, {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 336 | /* 49 */ {SDTCisVT, 2, 0, 0, MVT::i64}, {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 337 | /* 52 */ {SDTCisVT, 3, 0, 0, MVT::i32}, {SDTCisPtrTy, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 338 | /* 56 */ {SDTCisVT, 3, 0, 0, MVT::i64}, {SDTCisPtrTy, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 339 | /* 60 */ {SDTCisSameAs, 0, 3, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 340 | /* 64 */ {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisSameAs, 0, 3, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 341 | /* 69 */ {SDTCisSameAs, 0, 4, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 3, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisPtrTy, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 342 | /* 74 */ {SDTCisSameAs, 1, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 343 | /* 77 */ {SDTCisSameAs, 0, 3, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 344 | /* 81 */ {SDTCisVT, 3, 0, 0, MVT::i32}, {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 345 | /* 85 */ {SDTCisVT, 2, 0, 0, MVT::i32}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 346 | /* 88 */ {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 347 | /* 92 */ {SDTCisVT, 5, 0, 0, MVT::i32}, {SDTCisSameAs, 0, 4, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 3, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 348 | /* 98 */ {SDTCisVT, 4, 0, 0, MVT::i32}, {SDTCisSameAs, 0, 3, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 349 | /* 103 */ {SDTCisVT, 2, 0, 0, MVT::i32}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 350 | /* 106 */ {SDTCisSameAs, 0, 4, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 2, 3, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVec, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 351 | /* 111 */ {SDTCisVT, 3, 0, 0, MVT::i32}, {SDTCisVec, 2, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 352 | /* 115 */ {SDTCisSameAs, 1, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVec, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVec, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 353 | /* 118 */ {SDTCisPtrTy, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 354 | /* 120 */ {SDTCisInt, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 355 | /* 122 */ {SDTCisPtrTy, 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}, |
| 356 | /* 125 */ {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}, |
| 357 | /* 128 */ {SDTCisVT, 5, 0, 0, MVT::i32}, {SDTCisVT, 4, 0, 0, MVT::i32}, {SDTCisVT, 3, 0, 0, MVT::i32}, {SDTCisSameAs, 1, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 1, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 358 | /* 133 */ {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisSameAs, 0, 2, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, {SDTCisVT, 1, 0, 0, MVT::i32}, |
| 359 | /* 136 */ {SDTCisPtrTy, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 360 | /* 137 */ {SDTCisVec, 1, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}, |
| 361 | }; |
| 362 | |
| 363 | static const SDNodeDesc SystemZSDNodeDescs[] = { |
| 364 | {1, 3, 0, 0, 0, 1, 56, 4}, // ADA_ENTRY |
| 365 | {2, 3, 0, 0, 0, 23, 64, 5}, // ADDCARRY |
| 366 | {1, 0, 0, 0, 0, 44, 27, 1}, // ADJDYNALLOC |
| 367 | {2, 3, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 68, 69, 5}, // ATOMIC_CMP_SWAP |
| 368 | {2, 6, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 96, 4, 8}, // ATOMIC_CMP_SWAPW |
| 369 | {2, 3, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 125, 31, 5}, // ATOMIC_CMP_SWAP_128 |
| 370 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 157, 12, 6}, // ATOMIC_LOADW_ADD |
| 371 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 186, 12, 6}, // ATOMIC_LOADW_AND |
| 372 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 215, 12, 6}, // ATOMIC_LOADW_MAX |
| 373 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 244, 12, 6}, // ATOMIC_LOADW_MIN |
| 374 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 273, 12, 6}, // ATOMIC_LOADW_NAND |
| 375 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 303, 12, 6}, // ATOMIC_LOADW_OR |
| 376 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 331, 12, 6}, // ATOMIC_LOADW_SUB |
| 377 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 360, 12, 6}, // ATOMIC_LOADW_UMAX |
| 378 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 390, 12, 6}, // ATOMIC_LOADW_UMIN |
| 379 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 420, 12, 6}, // ATOMIC_LOADW_XOR |
| 380 | {1, 1, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 449, 36, 2}, // ATOMIC_LOAD_128 |
| 381 | {0, 2, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 477, 36, 2}, // ATOMIC_STORE_128 |
| 382 | {1, 5, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 506, 12, 6}, // ATOMIC_SWAPW |
| 383 | {0, 4, 0|1<<SDNPHasChain, 0, 0, 531, 0, 4}, // BR_CCMASK |
| 384 | {1, 1, 0, 0, 0, 553, 80, 1}, // BYTE_MASK |
| 385 | {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 575, 45, 1}, // CALL |
| 386 | {1, 3, 0|1<<SDNPHasChain, 0, 0, 592, 18, 4}, // CLC |
| 387 | {1, 2, 0, 0, 0, 608, 23, 2}, // FCMP |
| 388 | {1, 3, 0, 0, 0, 625, 22, 3}, // ICMP |
| 389 | {1, 1, 0, 0, 0, 642, 2, 2}, // IPM |
| 390 | {1, 2, 0, 0, 0, 658, 28, 3}, // JOIN_DWORDS |
| 391 | {1, 1, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 682, 136, 1}, // LRV |
| 392 | {0, 3, 0|1<<SDNPHasChain, 0, 0, 698, 46, 3}, // MEMSET_MVC |
| 393 | {1, 2, 0, 0, 0, 721, 78, 3}, // MERGE_HIGH |
| 394 | {1, 2, 0, 0, 0, 744, 78, 3}, // MERGE_LOW |
| 395 | {0, 3, 0|1<<SDNPHasChain, 0, 0, 766, 49, 3}, // MVC |
| 396 | {0, 3, 0|1<<SDNPHasChain, 0, 0, 782, 49, 3}, // NC |
| 397 | {0, 3, 0|1<<SDNPHasChain, 0, 0, 797, 49, 3}, // OC |
| 398 | {1, 2, 0, 0, 0, 812, 115, 3}, // PACK |
| 399 | {2, 2, 0, 0, 0, 829, 107, 4}, // PACKLS_CC |
| 400 | {2, 2, 0, 0, 0, 851, 107, 4}, // PACKS_CC |
| 401 | {1, 2, 0, 0, 0, 872, 122, 3}, // PCREL_OFFSET |
| 402 | {1, 1, 0, 0, 0, 897, 118, 2}, // PCREL_WRAPPER |
| 403 | {1, 3, 0, 0, 0, 923, 77, 4}, // PERMUTE |
| 404 | {1, 3, 0, 0, 0, 943, 81, 4}, // PERMUTE_DWORDS |
| 405 | {1, 1, 0, 0, 0, 970, 120, 2}, // POPCNT |
| 406 | {0, 2, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 989, 16, 2}, // PREFETCH |
| 407 | {1, 2, 0|1<<SDNPHasChain, 0, 0, 1010, 122, 3}, // PROBED_ALLOCA |
| 408 | {1, 1, 0, 0, 0, 1036, 80, 1}, // REPLICATE |
| 409 | {0, 0, 0|1<<SDNPHasChain|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 1058, 0, 0}, // RET_GLUE |
| 410 | {1, 2, 0, 0, 0, 1079, 103, 3}, // ROTATE_MASK |
| 411 | {2, 2, 0, 0, 0, 1103, 65, 4}, // SADDO |
| 412 | {1, 2, 0, 0, 0, 1121, 23, 2}, // SCMP128HI |
| 413 | {1, 2, 0, 0, 0, 1143, 38, 3}, // SDIVREM |
| 414 | {2, 3, 0|1<<SDNPHasChain, 0, 0, 1163, 41, 5}, // SEARCH_STRING |
| 415 | {1, 5, 0, 0, 0, 1189, 128, 5}, // SELECT_CCMASK |
| 416 | {1, 3, 0, 0, 0, 1215, 81, 4}, // SHL_DOUBLE |
| 417 | {1, 3, 0, 0, 0, 1238, 81, 4}, // SHL_DOUBLE_BIT |
| 418 | {1, 3, 0, 0, 0, 1265, 81, 4}, // SHR_DOUBLE_BIT |
| 419 | {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPOptInGlue|1<<SDNPVariadic, 0, 0, 1292, 45, 1}, // SIBCALL |
| 420 | {1, 2, 0, 0, 0, 1312, 38, 3}, // SMUL_LOHI |
| 421 | {1, 2, 0, 0, 0, 1334, 85, 3}, // SPLAT |
| 422 | {2, 2, 0, 0, 0, 1352, 65, 4}, // SSUBO |
| 423 | {0, 1, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 1370, 45, 1}, // STCKF |
| 424 | {1, 3, 0|1<<SDNPHasChain, 0, 0, 1388, 52, 4}, // STPCPY |
| 425 | {2, 3, 0|1<<SDNPHasChain, 0, 0, 1407, 41, 5}, // STRCMP |
| 426 | {1, 2, 0|1<<SDNPHasChain, 0|1<<SDNFIsStrictFP, 0, 1426, 23, 2}, // STRICT_FCMP |
| 427 | {1, 2, 0|1<<SDNPHasChain, 0|1<<SDNFIsStrictFP, 0, 1450, 23, 2}, // STRICT_FCMPS |
| 428 | {1, 1, 0|1<<SDNPHasChain, 0|1<<SDNFIsStrictFP, 0, 1475, 116, 2}, // STRICT_VEXTEND |
| 429 | {1, 2, 0|1<<SDNPHasChain, 0|1<<SDNFIsStrictFP, 0, 1502, 115, 3}, // STRICT_VFCMPE |
| 430 | {1, 2, 0|1<<SDNPHasChain, 0|1<<SDNFIsStrictFP, 0, 1528, 115, 3}, // STRICT_VFCMPES |
| 431 | {1, 2, 0|1<<SDNPHasChain, 0|1<<SDNFIsStrictFP, 0, 1555, 115, 3}, // STRICT_VFCMPH |
| 432 | {1, 2, 0|1<<SDNPHasChain, 0|1<<SDNFIsStrictFP, 0, 1581, 115, 3}, // STRICT_VFCMPHE |
| 433 | {1, 2, 0|1<<SDNPHasChain, 0|1<<SDNFIsStrictFP, 0, 1608, 115, 3}, // STRICT_VFCMPHES |
| 434 | {1, 2, 0|1<<SDNPHasChain, 0|1<<SDNFIsStrictFP, 0, 1636, 115, 3}, // STRICT_VFCMPHS |
| 435 | {1, 1, 0|1<<SDNPHasChain, 0|1<<SDNFIsStrictFP, 0, 1663, 116, 2}, // STRICT_VROUND |
| 436 | {0, 2, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 1689, 136, 1}, // STRV |
| 437 | {2, 3, 0, 0, 0, 1706, 64, 5}, // SUBCARRY |
| 438 | {1, 2, 0|1<<SDNPHasChain, 0, 0, 1727, 15, 3}, // TBEGIN |
| 439 | {1, 2, 0|1<<SDNPHasChain, 0, 0, 1746, 15, 3}, // TBEGIN_NOFLOAT |
| 440 | {1, 2, 0, 0, 0, 1773, 25, 2}, // TDC |
| 441 | {1, 0, 0|1<<SDNPHasChain, 0, 0, 1789, 3, 1}, // TEND |
| 442 | {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPInGlue|1<<SDNPVariadic, 0, 0, 1806, 45, 1}, // TLS_GDCALL |
| 443 | {0, -1, 0|1<<SDNPHasChain|1<<SDNPOutGlue|1<<SDNPInGlue|1<<SDNPVariadic, 0, 0, 1829, 45, 1}, // TLS_LDCALL |
| 444 | {1, 3, 0, 0, 0, 1852, 22, 3}, // TM |
| 445 | {2, 2, 0, 0, 0, 1867, 65, 4}, // UADDO |
| 446 | {1, 2, 0, 0, 0, 1885, 23, 2}, // UCMP128HI |
| 447 | {1, 2, 0, 0, 0, 1907, 38, 3}, // UDIVREM |
| 448 | {1, 2, 0, 0, 0, 1927, 38, 3}, // UMUL_LOHI |
| 449 | {1, 1, 0, 0, 0, 1949, 137, 1}, // UNPACKL_HIGH |
| 450 | {1, 1, 0, 0, 0, 1974, 137, 1}, // UNPACKL_LOW |
| 451 | {1, 1, 0, 0, 0, 1998, 137, 1}, // UNPACK_HIGH |
| 452 | {1, 1, 0, 0, 0, 2022, 137, 1}, // UNPACK_LOW |
| 453 | {2, 2, 0, 0, 0, 2045, 65, 4}, // USUBO |
| 454 | {1, 3, 0, 0, 0, 2063, 60, 4}, // VAC |
| 455 | {1, 2, 0, 0, 0, 2079, 125, 3}, // VACC |
| 456 | {1, 3, 0, 0, 0, 2096, 60, 4}, // VACCC |
| 457 | {1, 1, 0, 0, 0, 2114, 116, 2}, // VEXTEND |
| 458 | {2, 3, 0, 0, 0, 2134, 98, 5}, // VFAEZ_CC |
| 459 | {2, 3, 0, 0, 0, 2155, 98, 5}, // VFAE_CC |
| 460 | {1, 2, 0, 0, 0, 2175, 115, 3}, // VFCMPE |
| 461 | {2, 2, 0, 0, 0, 2194, 107, 4}, // VFCMPES |
| 462 | {1, 2, 0, 0, 0, 2214, 115, 3}, // VFCMPH |
| 463 | {1, 2, 0, 0, 0, 2233, 115, 3}, // VFCMPHE |
| 464 | {2, 2, 0, 0, 0, 2253, 107, 4}, // VFCMPHES |
| 465 | {2, 2, 0, 0, 0, 2274, 107, 4}, // VFCMPHS |
| 466 | {2, 2, 0, 0, 0, 2294, 88, 4}, // VFEEZ_CC |
| 467 | {2, 2, 0, 0, 0, 2315, 88, 4}, // VFEE_CC |
| 468 | {2, 2, 0, 0, 0, 2335, 88, 4}, // VFENEZ_CC |
| 469 | {2, 2, 0, 0, 0, 2357, 88, 4}, // VFENE_CC |
| 470 | {2, 2, 0, 0, 0, 2378, 111, 4}, // VFTCI |
| 471 | {1, 2, 0, 0, 0, 2396, 123, 2}, // VICMPE |
| 472 | {2, 2, 0, 0, 0, 2415, 133, 3}, // VICMPES |
| 473 | {1, 2, 0, 0, 0, 2435, 123, 2}, // VICMPH |
| 474 | {1, 2, 0, 0, 0, 2454, 123, 2}, // VICMPHL |
| 475 | {2, 2, 0, 0, 0, 2474, 133, 3}, // VICMPHLS |
| 476 | {2, 2, 0, 0, 0, 2495, 133, 3}, // VICMPHS |
| 477 | {2, 1, 0, 0, 0, 2515, 89, 3}, // VISTR_CC |
| 478 | {1, 1, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 2536, 136, 1}, // VLER |
| 479 | {1, 3, 0, 0, 0, 2553, 60, 4}, // VMAH |
| 480 | {1, 3, 0, 0, 0, 2570, 60, 4}, // VMALH |
| 481 | {1, 2, 0, 0, 0, 2588, 74, 3}, // VME |
| 482 | {1, 2, 0, 0, 0, 2604, 74, 3}, // VMLE |
| 483 | {1, 2, 0, 0, 0, 2621, 74, 3}, // VMLO |
| 484 | {1, 2, 0, 0, 0, 2638, 74, 3}, // VMO |
| 485 | {1, 2, 0, 0, 0, 2654, 85, 3}, // VROTL_BY_SCALAR |
| 486 | {1, 1, 0, 0, 0, 2682, 116, 2}, // VROUND |
| 487 | {1, 3, 0, 0, 0, 2701, 60, 4}, // VSBCBI |
| 488 | {1, 3, 0, 0, 0, 2720, 60, 4}, // VSBI |
| 489 | {1, 2, 0, 0, 0, 2737, 125, 3}, // VSCBI |
| 490 | {1, 2, 0, 0, 0, 2755, 85, 3}, // VSHL_BY_SCALAR |
| 491 | {1, 2, 0, 0, 0, 2782, 85, 3}, // VSRA_BY_SCALAR |
| 492 | {1, 2, 0, 0, 0, 2809, 85, 3}, // VSRL_BY_SCALAR |
| 493 | {0, 2, 0|1<<SDNPHasChain|1<<SDNPMemOperand, 0, 0, 2836, 136, 1}, // VSTER |
| 494 | {2, 4, 0, 0, 0, 2854, 92, 6}, // VSTRCZ_CC |
| 495 | {2, 4, 0, 0, 0, 2876, 92, 6}, // VSTRC_CC |
| 496 | {2, 3, 0, 0, 0, 2897, 106, 5}, // VSTRSZ_CC |
| 497 | {2, 3, 0, 0, 0, 2919, 106, 5}, // VSTRS_CC |
| 498 | {1, 2, 0, 0, 0, 2940, 74, 3}, // VSUM |
| 499 | {1, 2, 0, 0, 0, 2957, 23, 2}, // VTM |
| 500 | {0, 3, 0|1<<SDNPHasChain, 0, 0, 2973, 49, 3}, // XC |
| 501 | }; |
| 502 | |
| 503 | static const SDNodeInfo SystemZGenSDNodeInfo( |
| 504 | /*NumOpcodes=*/137, SystemZSDNodeDescs, SystemZSDNodeNames, |
| 505 | SystemZVTByHwModeTable, SystemZSDTypeConstraints); |
| 506 | |
| 507 | } // namespace llvm |
| 508 | |
| 509 | #endif // GET_SDNODE_DESC |
| 510 | |
| 511 | |