1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 2|* *| 3|* DAG Instruction Selector for the LoongArch target *| 4|* *| 5|* Automatically generated file, do not edit! *| 6|* *| 7\*===----------------------------------------------------------------------===*/ 8 9// *** NOTE: This file is #included into the middle of the target 10// *** instruction selector class. These functions are really methods. 11 12// If GET_DAGISEL_DECL is #defined with any value, only function 13// declarations will be included when this file is included. 14// If GET_DAGISEL_BODY is #defined, its value should be the name of 15// the instruction selector class. Function bodies will be emitted 16// and each function's name will be qualified with the name of the 17// class. 18// 19// When neither of the GET_DAGISEL* macros is defined, the functions 20// are emitted inline. 21 22#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY) 23#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions 24#endif 25 26#ifdef GET_DAGISEL_BODY 27#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X) 28#define LOCAL_DAGISEL_STRINGIZE_(X) #X 29static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1, 30 "GET_DAGISEL_BODY is empty: it should be defined with the class name"); 31#undef LOCAL_DAGISEL_STRINGIZE_ 32#undef LOCAL_DAGISEL_STRINGIZE 33#endif 34 35#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY) 36#define DAGISEL_INLINE 1 37#else 38#define DAGISEL_INLINE 0 39#endif 40 41#if !DAGISEL_INLINE 42#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY :: 43#else 44#define DAGISEL_CLASS_COLONCOLON 45#endif 46 47#ifdef GET_DAGISEL_DECL 48void SelectCode(SDNode *N); 49#endif 50#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE 51void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N) 52{ 53 // Some target values are emitted as 2 bytes, TARGET_VAL handles 54 // this. 55 #define TARGET_VAL(X) X & 255, unsigned(X) >> 8 56 static const unsigned char MatcherTable[] = { 57 OPC_SwitchOpcode , 127, TARGET_VAL(ISD::MUL), 58 OPC_Scope, 67, 59 OPC_MoveChild0, 60 OPC_SwitchOpcode , 32, TARGET_VAL(LoongArchISD::BSTRPICK), 61 OPC_RecordChild0, 62 OPC_CheckChild1Integer, 62, 63 OPC_CheckChild1Type, MVT::i64, 64 OPC_CheckChild2Integer, 0, 65 OPC_MoveParent, 66 OPC_MoveChild1, 67 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK), 68 OPC_RecordChild0, 69 OPC_CheckChild1Integer, 62, 70 OPC_CheckChild1Type, MVT::i64, 71 OPC_CheckChild2Integer, 0, 72 OPC_MoveParent, 73 OPC_CheckType, MVT::i64, 74 OPC_CheckPatternPredicate, 0, 75 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MULW_D_WU), 0, 76 MVT::i64, 2, 0, 1, 77 26, TARGET_VAL(ISD::SIGN_EXTEND_INREG), 78 OPC_RecordChild0, 79 OPC_MoveChild1, 80 OPC_CheckValueType, MVT::i32, 81 OPC_MoveParent, 82 OPC_MoveParent, 83 OPC_MoveChild1, 84 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG), 85 OPC_RecordChild0, 86 OPC_MoveChild1, 87 OPC_CheckValueType, MVT::i32, 88 OPC_MoveParent, 89 OPC_MoveParent, 90 OPC_CheckPatternPredicate, 0, 91 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MULW_D_W), 0, 92 MVT::i64, 2, 0, 1, 93 0, 94 56, 95 OPC_RecordChild0, 96 OPC_RecordChild1, 97 OPC_SwitchType , 24, MVT::i64, 98 OPC_Scope, 10, 99 OPC_CheckPatternPredicate, 1, 100 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MUL_W), 0, 101 MVT::i64, 2, 0, 1, 102 10, 103 OPC_CheckPatternPredicate, 0, 104 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MUL_D), 0, 105 MVT::i64, 2, 0, 1, 106 0, 107 24, MVT::i32, 108 OPC_Scope, 10, 109 OPC_CheckPatternPredicate, 2, 110 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MUL_W), 0, 111 MVT::i32, 2, 0, 1, 112 10, 113 OPC_CheckPatternPredicate, 3, 114 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MUL_D), 0, 115 MVT::i32, 2, 0, 1, 116 0, 117 0, 118 0, 119 23|128,2, TARGET_VAL(LoongArchISD::BSTRPICK), 120 OPC_Scope, 15|128,1, 121 OPC_MoveChild0, 122 OPC_CheckOpcode, TARGET_VAL(ISD::ADD), 123 OPC_Scope, 67, 124 OPC_RecordChild0, 125 OPC_MoveChild1, 126 OPC_CheckOpcode, TARGET_VAL(ISD::SHL), 127 OPC_RecordChild0, 128 OPC_RecordChild1, 129 OPC_MoveChild1, 130 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 131 OPC_CheckPredicate, 0, 132 OPC_SwitchType , 24, MVT::i64, 133 OPC_MoveParent, 134 OPC_MoveParent, 135 OPC_MoveParent, 136 OPC_CheckChild1Integer, 62, 137 OPC_CheckChild1Type, MVT::i64, 138 OPC_CheckChild2Integer, 0, 139 OPC_CheckType, MVT::i64, 140 OPC_CheckPatternPredicate, 0, 141 OPC_EmitConvertToTarget, 2, 142 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_WU), 0, 143 MVT::i64, 3, 1, 0, 3, 144 24, MVT::i32, 145 OPC_MoveParent, 146 OPC_MoveParent, 147 OPC_MoveParent, 148 OPC_CheckChild1Integer, 62, 149 OPC_CheckChild1Type, MVT::i64, 150 OPC_CheckChild2Integer, 0, 151 OPC_CheckType, MVT::i32, 152 OPC_CheckPatternPredicate, 3, 153 OPC_EmitConvertToTarget, 2, 154 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_WU), 0, 155 MVT::i32, 3, 1, 0, 3, 156 0, 157 68, 158 OPC_MoveChild0, 159 OPC_CheckOpcode, TARGET_VAL(ISD::SHL), 160 OPC_RecordChild0, 161 OPC_RecordChild1, 162 OPC_MoveChild1, 163 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 164 OPC_CheckPredicate, 0, 165 OPC_SwitchType , 25, MVT::i64, 166 OPC_MoveParent, 167 OPC_MoveParent, 168 OPC_RecordChild1, 169 OPC_MoveParent, 170 OPC_CheckChild1Integer, 62, 171 OPC_CheckChild1Type, MVT::i64, 172 OPC_CheckChild2Integer, 0, 173 OPC_CheckType, MVT::i64, 174 OPC_CheckPatternPredicate, 0, 175 OPC_EmitConvertToTarget, 1, 176 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_WU), 0, 177 MVT::i64, 3, 0, 2, 3, 178 25, MVT::i32, 179 OPC_MoveParent, 180 OPC_MoveParent, 181 OPC_RecordChild1, 182 OPC_MoveParent, 183 OPC_CheckChild1Integer, 62, 184 OPC_CheckChild1Type, MVT::i64, 185 OPC_CheckChild2Integer, 0, 186 OPC_CheckType, MVT::i32, 187 OPC_CheckPatternPredicate, 3, 188 OPC_EmitConvertToTarget, 1, 189 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_WU), 0, 190 MVT::i32, 3, 0, 2, 3, 191 0, 192 0, 193 2|128,1, 194 OPC_RecordChild0, 195 OPC_RecordChild1, 196 OPC_MoveChild1, 197 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 198 OPC_Scope, 60, 199 OPC_CheckPredicate, 1, 200 OPC_SwitchType , 26, MVT::i64, 201 OPC_MoveParent, 202 OPC_RecordChild2, 203 OPC_MoveChild2, 204 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 205 OPC_CheckPredicate, 1, 206 OPC_MoveParent, 207 OPC_CheckType, MVT::i64, 208 OPC_CheckPatternPredicate, 1, 209 OPC_EmitConvertToTarget, 1, 210 OPC_EmitConvertToTarget, 2, 211 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BSTRPICK_W), 0, 212 MVT::i64, 3, 0, 3, 4, 213 26, MVT::i32, 214 OPC_MoveParent, 215 OPC_RecordChild2, 216 OPC_MoveChild2, 217 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 218 OPC_CheckPredicate, 1, 219 OPC_MoveParent, 220 OPC_CheckType, MVT::i32, 221 OPC_CheckPatternPredicate, 2, 222 OPC_EmitConvertToTarget, 1, 223 OPC_EmitConvertToTarget, 2, 224 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BSTRPICK_W), 0, 225 MVT::i32, 3, 0, 3, 4, 226 0, 227 60, 228 OPC_CheckPredicate, 2, 229 OPC_SwitchType , 26, MVT::i64, 230 OPC_MoveParent, 231 OPC_RecordChild2, 232 OPC_MoveChild2, 233 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 234 OPC_CheckPredicate, 2, 235 OPC_MoveParent, 236 OPC_CheckType, MVT::i64, 237 OPC_CheckPatternPredicate, 0, 238 OPC_EmitConvertToTarget, 1, 239 OPC_EmitConvertToTarget, 2, 240 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BSTRPICK_D), 0, 241 MVT::i64, 3, 0, 3, 4, 242 26, MVT::i32, 243 OPC_MoveParent, 244 OPC_RecordChild2, 245 OPC_MoveChild2, 246 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 247 OPC_CheckPredicate, 2, 248 OPC_MoveParent, 249 OPC_CheckType, MVT::i32, 250 OPC_CheckPatternPredicate, 3, 251 OPC_EmitConvertToTarget, 1, 252 OPC_EmitConvertToTarget, 2, 253 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BSTRPICK_D), 0, 254 MVT::i32, 3, 0, 3, 4, 255 0, 256 0, 257 0, 258 36|128,17, TARGET_VAL(ISD::LOAD), 259 OPC_RecordMemRef, 260 OPC_RecordNode, 261 OPC_Scope, 54|128,10, 262 OPC_MoveChild1, 263 OPC_SwitchOpcode , 89|128,6, TARGET_VAL(ISD::ADD), 264 OPC_RecordChild0, 265 OPC_RecordChild1, 266 OPC_Scope, 80|128,3, 267 OPC_MoveChild1, 268 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 269 OPC_Scope, 17|128,3, 270 OPC_CheckPredicate, 3, 271 OPC_MoveParent, 272 OPC_CheckPredicate, 4, 273 OPC_SwitchType , 107|128,1, MVT::i64, 274 OPC_MoveParent, 275 OPC_CheckPredicate, 5, 276 OPC_CheckType, MVT::i64, 277 OPC_Scope, 20, 278 OPC_CheckPredicate, 6, 279 OPC_CheckPredicate, 7, 280 OPC_CheckPatternPredicate, 4, 281 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 282 OPC_EmitMergeInputChains1_0, 283 OPC_EmitConvertToTarget, 2, 284 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 285 MVT::i64, 2, 3, 4, 286 20, 287 OPC_CheckPredicate, 8, 288 OPC_CheckPredicate, 7, 289 OPC_CheckPatternPredicate, 4, 290 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 291 OPC_EmitMergeInputChains1_0, 292 OPC_EmitConvertToTarget, 2, 293 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 294 MVT::i64, 2, 3, 4, 295 20, 296 OPC_CheckPredicate, 6, 297 OPC_CheckPredicate, 9, 298 OPC_CheckPatternPredicate, 4, 299 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 300 OPC_EmitMergeInputChains1_0, 301 OPC_EmitConvertToTarget, 2, 302 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 303 MVT::i64, 2, 3, 4, 304 20, 305 OPC_CheckPredicate, 8, 306 OPC_CheckPredicate, 9, 307 OPC_CheckPatternPredicate, 4, 308 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 309 OPC_EmitMergeInputChains1_0, 310 OPC_EmitConvertToTarget, 2, 311 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 312 MVT::i64, 2, 3, 4, 313 18, 314 OPC_CheckPredicate, 10, 315 OPC_CheckPatternPredicate, 1, 316 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 317 OPC_EmitMergeInputChains1_0, 318 OPC_EmitConvertToTarget, 2, 319 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 320 MVT::i64, 2, 3, 4, 321 42, 322 OPC_CheckPredicate, 11, 323 OPC_Scope, 18, 324 OPC_CheckPredicate, 7, 325 OPC_CheckPatternPredicate, 4, 326 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 327 OPC_EmitMergeInputChains1_0, 328 OPC_EmitConvertToTarget, 2, 329 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs, 330 MVT::i64, 2, 3, 4, 331 18, 332 OPC_CheckPredicate, 9, 333 OPC_CheckPatternPredicate, 4, 334 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 335 OPC_EmitMergeInputChains1_0, 336 OPC_EmitConvertToTarget, 2, 337 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs, 338 MVT::i64, 2, 3, 4, 339 0, 340 20, 341 OPC_CheckPredicate, 6, 342 OPC_CheckPredicate, 12, 343 OPC_CheckPatternPredicate, 0, 344 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 345 OPC_EmitMergeInputChains1_0, 346 OPC_EmitConvertToTarget, 2, 347 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 348 MVT::i64, 2, 3, 4, 349 20, 350 OPC_CheckPredicate, 8, 351 OPC_CheckPredicate, 12, 352 OPC_CheckPatternPredicate, 0, 353 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 354 OPC_EmitMergeInputChains1_0, 355 OPC_EmitConvertToTarget, 2, 356 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 357 MVT::i64, 2, 3, 4, 358 20, 359 OPC_CheckPredicate, 11, 360 OPC_CheckPredicate, 12, 361 OPC_CheckPatternPredicate, 0, 362 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 363 OPC_EmitMergeInputChains1_0, 364 OPC_EmitConvertToTarget, 2, 365 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs, 366 MVT::i64, 2, 3, 4, 367 18, 368 OPC_CheckPredicate, 10, 369 OPC_CheckPatternPredicate, 0, 370 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 371 OPC_EmitMergeInputChains1_0, 372 OPC_EmitConvertToTarget, 2, 373 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs, 374 MVT::i64, 2, 3, 4, 375 0, 376 25|128,1, MVT::i32, 377 OPC_MoveParent, 378 OPC_CheckPredicate, 5, 379 OPC_CheckType, MVT::i32, 380 OPC_Scope, 20, 381 OPC_CheckPredicate, 6, 382 OPC_CheckPredicate, 7, 383 OPC_CheckPatternPredicate, 5, 384 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 385 OPC_EmitMergeInputChains1_0, 386 OPC_EmitConvertToTarget, 2, 387 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 388 MVT::i32, 2, 3, 4, 389 20, 390 OPC_CheckPredicate, 8, 391 OPC_CheckPredicate, 7, 392 OPC_CheckPatternPredicate, 5, 393 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 394 OPC_EmitMergeInputChains1_0, 395 OPC_EmitConvertToTarget, 2, 396 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 397 MVT::i32, 2, 3, 4, 398 20, 399 OPC_CheckPredicate, 6, 400 OPC_CheckPredicate, 9, 401 OPC_CheckPatternPredicate, 5, 402 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 403 OPC_EmitMergeInputChains1_0, 404 OPC_EmitConvertToTarget, 2, 405 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 406 MVT::i32, 2, 3, 4, 407 20, 408 OPC_CheckPredicate, 8, 409 OPC_CheckPredicate, 9, 410 OPC_CheckPatternPredicate, 5, 411 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 412 OPC_EmitMergeInputChains1_0, 413 OPC_EmitConvertToTarget, 2, 414 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 415 MVT::i32, 2, 3, 4, 416 18, 417 OPC_CheckPredicate, 10, 418 OPC_CheckPatternPredicate, 2, 419 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 420 OPC_EmitMergeInputChains1_0, 421 OPC_EmitConvertToTarget, 2, 422 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 423 MVT::i32, 2, 3, 4, 424 42, 425 OPC_CheckPredicate, 11, 426 OPC_Scope, 18, 427 OPC_CheckPredicate, 7, 428 OPC_CheckPatternPredicate, 5, 429 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 430 OPC_EmitMergeInputChains1_0, 431 OPC_EmitConvertToTarget, 2, 432 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs, 433 MVT::i32, 2, 3, 4, 434 18, 435 OPC_CheckPredicate, 9, 436 OPC_CheckPatternPredicate, 5, 437 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 438 OPC_EmitMergeInputChains1_0, 439 OPC_EmitConvertToTarget, 2, 440 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs, 441 MVT::i32, 2, 3, 4, 442 0, 443 0, 444 0, 445 54, 446 OPC_CheckPredicate, 13, 447 OPC_MoveParent, 448 OPC_CheckPredicate, 4, 449 OPC_CheckType, MVT::i64, 450 OPC_MoveParent, 451 OPC_CheckPredicate, 5, 452 OPC_CheckType, MVT::i64, 453 OPC_Scope, 20, 454 OPC_CheckPredicate, 6, 455 OPC_CheckPredicate, 12, 456 OPC_CheckPatternPredicate, 0, 457 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 458 OPC_EmitMergeInputChains1_0, 459 OPC_EmitConvertToTarget, 2, 460 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs, 461 MVT::i64, 2, 3, 4, 462 18, 463 OPC_CheckPredicate, 10, 464 OPC_CheckPatternPredicate, 0, 465 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 466 OPC_EmitMergeInputChains1_0, 467 OPC_EmitConvertToTarget, 2, 468 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs, 469 MVT::i64, 2, 3, 4, 470 0, 471 0, 472 1|128,3, 473 OPC_CheckType, MVT::i64, 474 OPC_MoveParent, 475 OPC_CheckPredicate, 5, 476 OPC_CheckType, MVT::i64, 477 OPC_Scope, 18, 478 OPC_CheckPredicate, 8, 479 OPC_CheckPredicate, 7, 480 OPC_CheckPatternPredicate, 0, 481 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 482 OPC_EmitMergeInputChains1_0, 483 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs, 484 MVT::i64, 2, 3, 2, 485 18, 486 OPC_CheckPredicate, 6, 487 OPC_CheckPredicate, 7, 488 OPC_CheckPatternPredicate, 0, 489 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 490 OPC_EmitMergeInputChains1_0, 491 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs, 492 MVT::i64, 2, 3, 2, 493 18, 494 OPC_CheckPredicate, 11, 495 OPC_CheckPredicate, 7, 496 OPC_CheckPatternPredicate, 0, 497 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 498 OPC_EmitMergeInputChains1_0, 499 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs, 500 MVT::i64, 2, 3, 2, 501 18, 502 OPC_CheckPredicate, 8, 503 OPC_CheckPredicate, 9, 504 OPC_CheckPatternPredicate, 0, 505 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 506 OPC_EmitMergeInputChains1_0, 507 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs, 508 MVT::i64, 2, 3, 2, 509 18, 510 OPC_CheckPredicate, 6, 511 OPC_CheckPredicate, 9, 512 OPC_CheckPatternPredicate, 0, 513 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 514 OPC_EmitMergeInputChains1_0, 515 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs, 516 MVT::i64, 2, 3, 2, 517 18, 518 OPC_CheckPredicate, 11, 519 OPC_CheckPredicate, 9, 520 OPC_CheckPatternPredicate, 0, 521 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 522 OPC_EmitMergeInputChains1_0, 523 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs, 524 MVT::i64, 2, 3, 2, 525 18, 526 OPC_CheckPredicate, 8, 527 OPC_CheckPredicate, 12, 528 OPC_CheckPatternPredicate, 0, 529 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 530 OPC_EmitMergeInputChains1_0, 531 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs, 532 MVT::i64, 2, 3, 2, 533 18, 534 OPC_CheckPredicate, 6, 535 OPC_CheckPredicate, 12, 536 OPC_CheckPatternPredicate, 0, 537 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 538 OPC_EmitMergeInputChains1_0, 539 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs, 540 MVT::i64, 2, 3, 2, 541 18, 542 OPC_CheckPredicate, 11, 543 OPC_CheckPredicate, 12, 544 OPC_CheckPatternPredicate, 0, 545 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 546 OPC_EmitMergeInputChains1_0, 547 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs, 548 MVT::i64, 2, 3, 2, 549 16, 550 OPC_CheckPredicate, 10, 551 OPC_CheckPatternPredicate, 0, 552 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 553 OPC_EmitMergeInputChains1_0, 554 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs, 555 MVT::i64, 2, 3, 2, 556 18, 557 OPC_CheckPredicate, 8, 558 OPC_CheckPredicate, 7, 559 OPC_CheckPatternPredicate, 0, 560 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 561 OPC_EmitMergeInputChains1_0, 562 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs, 563 MVT::i64, 2, 3, 1, 564 18, 565 OPC_CheckPredicate, 6, 566 OPC_CheckPredicate, 7, 567 OPC_CheckPatternPredicate, 0, 568 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 569 OPC_EmitMergeInputChains1_0, 570 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs, 571 MVT::i64, 2, 3, 1, 572 18, 573 OPC_CheckPredicate, 11, 574 OPC_CheckPredicate, 7, 575 OPC_CheckPatternPredicate, 0, 576 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 577 OPC_EmitMergeInputChains1_0, 578 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs, 579 MVT::i64, 2, 3, 1, 580 18, 581 OPC_CheckPredicate, 8, 582 OPC_CheckPredicate, 9, 583 OPC_CheckPatternPredicate, 0, 584 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 585 OPC_EmitMergeInputChains1_0, 586 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs, 587 MVT::i64, 2, 3, 1, 588 18, 589 OPC_CheckPredicate, 6, 590 OPC_CheckPredicate, 9, 591 OPC_CheckPatternPredicate, 0, 592 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 593 OPC_EmitMergeInputChains1_0, 594 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs, 595 MVT::i64, 2, 3, 1, 596 18, 597 OPC_CheckPredicate, 11, 598 OPC_CheckPredicate, 9, 599 OPC_CheckPatternPredicate, 0, 600 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 601 OPC_EmitMergeInputChains1_0, 602 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs, 603 MVT::i64, 2, 3, 1, 604 18, 605 OPC_CheckPredicate, 8, 606 OPC_CheckPredicate, 12, 607 OPC_CheckPatternPredicate, 0, 608 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 609 OPC_EmitMergeInputChains1_0, 610 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs, 611 MVT::i64, 2, 3, 1, 612 18, 613 OPC_CheckPredicate, 6, 614 OPC_CheckPredicate, 12, 615 OPC_CheckPatternPredicate, 0, 616 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 617 OPC_EmitMergeInputChains1_0, 618 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs, 619 MVT::i64, 2, 3, 1, 620 18, 621 OPC_CheckPredicate, 11, 622 OPC_CheckPredicate, 12, 623 OPC_CheckPatternPredicate, 0, 624 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 625 OPC_EmitMergeInputChains1_0, 626 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs, 627 MVT::i64, 2, 3, 1, 628 16, 629 OPC_CheckPredicate, 10, 630 OPC_CheckPatternPredicate, 0, 631 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 632 OPC_EmitMergeInputChains1_0, 633 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs, 634 MVT::i64, 2, 3, 1, 635 0, 636 0, 637 82|128,3, TARGET_VAL(ISD::OR), 638 OPC_RecordChild0, 639 OPC_RecordChild1, 640 OPC_MoveChild1, 641 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 642 OPC_Scope, 17|128,3, 643 OPC_CheckPredicate, 3, 644 OPC_MoveParent, 645 OPC_CheckPredicate, 4, 646 OPC_SwitchType , 107|128,1, MVT::i64, 647 OPC_MoveParent, 648 OPC_CheckPredicate, 5, 649 OPC_CheckType, MVT::i64, 650 OPC_Scope, 20, 651 OPC_CheckPredicate, 6, 652 OPC_CheckPredicate, 7, 653 OPC_CheckPatternPredicate, 4, 654 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 655 OPC_EmitMergeInputChains1_0, 656 OPC_EmitConvertToTarget, 2, 657 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 658 MVT::i64, 2, 3, 4, 659 20, 660 OPC_CheckPredicate, 8, 661 OPC_CheckPredicate, 7, 662 OPC_CheckPatternPredicate, 4, 663 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 664 OPC_EmitMergeInputChains1_0, 665 OPC_EmitConvertToTarget, 2, 666 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 667 MVT::i64, 2, 3, 4, 668 20, 669 OPC_CheckPredicate, 6, 670 OPC_CheckPredicate, 9, 671 OPC_CheckPatternPredicate, 4, 672 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 673 OPC_EmitMergeInputChains1_0, 674 OPC_EmitConvertToTarget, 2, 675 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 676 MVT::i64, 2, 3, 4, 677 20, 678 OPC_CheckPredicate, 8, 679 OPC_CheckPredicate, 9, 680 OPC_CheckPatternPredicate, 4, 681 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 682 OPC_EmitMergeInputChains1_0, 683 OPC_EmitConvertToTarget, 2, 684 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 685 MVT::i64, 2, 3, 4, 686 18, 687 OPC_CheckPredicate, 10, 688 OPC_CheckPatternPredicate, 1, 689 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 690 OPC_EmitMergeInputChains1_0, 691 OPC_EmitConvertToTarget, 2, 692 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 693 MVT::i64, 2, 3, 4, 694 42, 695 OPC_CheckPredicate, 11, 696 OPC_Scope, 18, 697 OPC_CheckPredicate, 7, 698 OPC_CheckPatternPredicate, 4, 699 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 700 OPC_EmitMergeInputChains1_0, 701 OPC_EmitConvertToTarget, 2, 702 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs, 703 MVT::i64, 2, 3, 4, 704 18, 705 OPC_CheckPredicate, 9, 706 OPC_CheckPatternPredicate, 4, 707 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 708 OPC_EmitMergeInputChains1_0, 709 OPC_EmitConvertToTarget, 2, 710 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs, 711 MVT::i64, 2, 3, 4, 712 0, 713 20, 714 OPC_CheckPredicate, 6, 715 OPC_CheckPredicate, 12, 716 OPC_CheckPatternPredicate, 0, 717 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 718 OPC_EmitMergeInputChains1_0, 719 OPC_EmitConvertToTarget, 2, 720 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 721 MVT::i64, 2, 3, 4, 722 20, 723 OPC_CheckPredicate, 8, 724 OPC_CheckPredicate, 12, 725 OPC_CheckPatternPredicate, 0, 726 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 727 OPC_EmitMergeInputChains1_0, 728 OPC_EmitConvertToTarget, 2, 729 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 730 MVT::i64, 2, 3, 4, 731 20, 732 OPC_CheckPredicate, 11, 733 OPC_CheckPredicate, 12, 734 OPC_CheckPatternPredicate, 0, 735 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 736 OPC_EmitMergeInputChains1_0, 737 OPC_EmitConvertToTarget, 2, 738 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs, 739 MVT::i64, 2, 3, 4, 740 18, 741 OPC_CheckPredicate, 10, 742 OPC_CheckPatternPredicate, 0, 743 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 744 OPC_EmitMergeInputChains1_0, 745 OPC_EmitConvertToTarget, 2, 746 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs, 747 MVT::i64, 2, 3, 4, 748 0, 749 25|128,1, MVT::i32, 750 OPC_MoveParent, 751 OPC_CheckPredicate, 5, 752 OPC_CheckType, MVT::i32, 753 OPC_Scope, 20, 754 OPC_CheckPredicate, 6, 755 OPC_CheckPredicate, 7, 756 OPC_CheckPatternPredicate, 5, 757 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 758 OPC_EmitMergeInputChains1_0, 759 OPC_EmitConvertToTarget, 2, 760 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 761 MVT::i32, 2, 3, 4, 762 20, 763 OPC_CheckPredicate, 8, 764 OPC_CheckPredicate, 7, 765 OPC_CheckPatternPredicate, 5, 766 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 767 OPC_EmitMergeInputChains1_0, 768 OPC_EmitConvertToTarget, 2, 769 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 770 MVT::i32, 2, 3, 4, 771 20, 772 OPC_CheckPredicate, 6, 773 OPC_CheckPredicate, 9, 774 OPC_CheckPatternPredicate, 5, 775 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 776 OPC_EmitMergeInputChains1_0, 777 OPC_EmitConvertToTarget, 2, 778 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 779 MVT::i32, 2, 3, 4, 780 20, 781 OPC_CheckPredicate, 8, 782 OPC_CheckPredicate, 9, 783 OPC_CheckPatternPredicate, 5, 784 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 785 OPC_EmitMergeInputChains1_0, 786 OPC_EmitConvertToTarget, 2, 787 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 788 MVT::i32, 2, 3, 4, 789 18, 790 OPC_CheckPredicate, 10, 791 OPC_CheckPatternPredicate, 2, 792 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 793 OPC_EmitMergeInputChains1_0, 794 OPC_EmitConvertToTarget, 2, 795 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 796 MVT::i32, 2, 3, 4, 797 42, 798 OPC_CheckPredicate, 11, 799 OPC_Scope, 18, 800 OPC_CheckPredicate, 7, 801 OPC_CheckPatternPredicate, 5, 802 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 803 OPC_EmitMergeInputChains1_0, 804 OPC_EmitConvertToTarget, 2, 805 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs, 806 MVT::i32, 2, 3, 4, 807 18, 808 OPC_CheckPredicate, 9, 809 OPC_CheckPatternPredicate, 5, 810 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 811 OPC_EmitMergeInputChains1_0, 812 OPC_EmitConvertToTarget, 2, 813 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs, 814 MVT::i32, 2, 3, 4, 815 0, 816 0, 817 0, 818 54, 819 OPC_CheckPredicate, 13, 820 OPC_MoveParent, 821 OPC_CheckPredicate, 4, 822 OPC_CheckType, MVT::i64, 823 OPC_MoveParent, 824 OPC_CheckPredicate, 5, 825 OPC_CheckType, MVT::i64, 826 OPC_Scope, 20, 827 OPC_CheckPredicate, 6, 828 OPC_CheckPredicate, 12, 829 OPC_CheckPatternPredicate, 0, 830 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 831 OPC_EmitMergeInputChains1_0, 832 OPC_EmitConvertToTarget, 2, 833 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs, 834 MVT::i64, 2, 3, 4, 835 18, 836 OPC_CheckPredicate, 10, 837 OPC_CheckPatternPredicate, 0, 838 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 839 OPC_EmitMergeInputChains1_0, 840 OPC_EmitConvertToTarget, 2, 841 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs, 842 MVT::i64, 2, 3, 4, 843 0, 844 0, 845 0, 846 29|128,3, 847 OPC_RecordChild1, 848 OPC_CheckPredicate, 5, 849 OPC_Scope, 44, 850 OPC_CheckPredicate, 6, 851 OPC_CheckPredicate, 7, 852 OPC_SwitchType , 17, MVT::i64, 853 OPC_CheckPatternPredicate, 4, 854 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 855 OPC_EmitMergeInputChains1_0, 856 OPC_EmitInteger, MVT::i64, 0, 857 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 858 MVT::i64, 2, 2, 3, 859 17, MVT::i32, 860 OPC_CheckPatternPredicate, 5, 861 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 862 OPC_EmitMergeInputChains1_0, 863 OPC_EmitInteger, MVT::i32, 0, 864 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 865 MVT::i32, 2, 2, 3, 866 0, 867 44, 868 OPC_CheckPredicate, 8, 869 OPC_CheckPredicate, 7, 870 OPC_SwitchType , 17, MVT::i64, 871 OPC_CheckPatternPredicate, 4, 872 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 873 OPC_EmitMergeInputChains1_0, 874 OPC_EmitInteger, MVT::i64, 0, 875 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 876 MVT::i64, 2, 2, 3, 877 17, MVT::i32, 878 OPC_CheckPatternPredicate, 5, 879 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 880 OPC_EmitMergeInputChains1_0, 881 OPC_EmitInteger, MVT::i32, 0, 882 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 883 MVT::i32, 2, 2, 3, 884 0, 885 44, 886 OPC_CheckPredicate, 6, 887 OPC_CheckPredicate, 9, 888 OPC_SwitchType , 17, MVT::i64, 889 OPC_CheckPatternPredicate, 4, 890 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 891 OPC_EmitMergeInputChains1_0, 892 OPC_EmitInteger, MVT::i64, 0, 893 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 894 MVT::i64, 2, 2, 3, 895 17, MVT::i32, 896 OPC_CheckPatternPredicate, 5, 897 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 898 OPC_EmitMergeInputChains1_0, 899 OPC_EmitInteger, MVT::i32, 0, 900 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 901 MVT::i32, 2, 2, 3, 902 0, 903 44, 904 OPC_CheckPredicate, 8, 905 OPC_CheckPredicate, 9, 906 OPC_SwitchType , 17, MVT::i64, 907 OPC_CheckPatternPredicate, 4, 908 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 909 OPC_EmitMergeInputChains1_0, 910 OPC_EmitInteger, MVT::i64, 0, 911 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 912 MVT::i64, 2, 2, 3, 913 17, MVT::i32, 914 OPC_CheckPatternPredicate, 5, 915 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 916 OPC_EmitMergeInputChains1_0, 917 OPC_EmitInteger, MVT::i32, 0, 918 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 919 MVT::i32, 2, 2, 3, 920 0, 921 42, 922 OPC_CheckPredicate, 10, 923 OPC_SwitchType , 17, MVT::i64, 924 OPC_CheckPatternPredicate, 1, 925 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 926 OPC_EmitMergeInputChains1_0, 927 OPC_EmitInteger, MVT::i64, 0, 928 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 929 MVT::i64, 2, 2, 3, 930 17, MVT::i32, 931 OPC_CheckPatternPredicate, 2, 932 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 933 OPC_EmitMergeInputChains1_0, 934 OPC_EmitInteger, MVT::i32, 0, 935 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 936 MVT::i32, 2, 2, 3, 937 0, 938 90, 939 OPC_CheckPredicate, 11, 940 OPC_Scope, 42, 941 OPC_CheckPredicate, 7, 942 OPC_SwitchType , 17, MVT::i64, 943 OPC_CheckPatternPredicate, 4, 944 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 945 OPC_EmitMergeInputChains1_0, 946 OPC_EmitInteger, MVT::i64, 0, 947 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs, 948 MVT::i64, 2, 2, 3, 949 17, MVT::i32, 950 OPC_CheckPatternPredicate, 5, 951 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 952 OPC_EmitMergeInputChains1_0, 953 OPC_EmitInteger, MVT::i32, 0, 954 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs, 955 MVT::i32, 2, 2, 3, 956 0, 957 42, 958 OPC_CheckPredicate, 9, 959 OPC_SwitchType , 17, MVT::i64, 960 OPC_CheckPatternPredicate, 4, 961 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 962 OPC_EmitMergeInputChains1_0, 963 OPC_EmitInteger, MVT::i64, 0, 964 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs, 965 MVT::i64, 2, 2, 3, 966 17, MVT::i32, 967 OPC_CheckPatternPredicate, 5, 968 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 969 OPC_EmitMergeInputChains1_0, 970 OPC_EmitInteger, MVT::i32, 0, 971 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs, 972 MVT::i32, 2, 2, 3, 973 0, 974 0, 975 23, 976 OPC_CheckPredicate, 6, 977 OPC_CheckPredicate, 12, 978 OPC_CheckType, MVT::i64, 979 OPC_CheckPatternPredicate, 0, 980 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 981 OPC_EmitMergeInputChains1_0, 982 OPC_EmitInteger, MVT::i64, 0, 983 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 984 MVT::i64, 2, 2, 3, 985 23, 986 OPC_CheckPredicate, 8, 987 OPC_CheckPredicate, 12, 988 OPC_CheckType, MVT::i64, 989 OPC_CheckPatternPredicate, 0, 990 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 991 OPC_EmitMergeInputChains1_0, 992 OPC_EmitInteger, MVT::i64, 0, 993 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 994 MVT::i64, 2, 2, 3, 995 23, 996 OPC_CheckPredicate, 11, 997 OPC_CheckPredicate, 12, 998 OPC_CheckType, MVT::i64, 999 OPC_CheckPatternPredicate, 0, 1000 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1001 OPC_EmitMergeInputChains1_0, 1002 OPC_EmitInteger, MVT::i64, 0, 1003 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs, 1004 MVT::i64, 2, 2, 3, 1005 21, 1006 OPC_CheckPredicate, 10, 1007 OPC_CheckType, MVT::i64, 1008 OPC_CheckPatternPredicate, 0, 1009 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1010 OPC_EmitMergeInputChains1_0, 1011 OPC_EmitInteger, MVT::i64, 0, 1012 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs, 1013 MVT::i64, 2, 2, 3, 1014 0, 1015 111|128,2, 1016 OPC_MoveChild1, 1017 OPC_SwitchOpcode , 126|128,1, TARGET_VAL(ISD::ADD), 1018 OPC_RecordChild0, 1019 OPC_RecordChild1, 1020 OPC_Scope, 101, 1021 OPC_MoveChild1, 1022 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1023 OPC_CheckPredicate, 3, 1024 OPC_MoveParent, 1025 OPC_CheckPredicate, 4, 1026 OPC_SwitchType , 43, MVT::i64, 1027 OPC_MoveParent, 1028 OPC_CheckPredicate, 5, 1029 OPC_CheckPredicate, 10, 1030 OPC_SwitchType , 16, MVT::f32, 1031 OPC_CheckPatternPredicate, 6, 1032 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1033 OPC_EmitMergeInputChains1_0, 1034 OPC_EmitConvertToTarget, 2, 1035 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs, 1036 MVT::f32, 2, 3, 4, 1037 16, MVT::f64, 1038 OPC_CheckPatternPredicate, 7, 1039 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1040 OPC_EmitMergeInputChains1_0, 1041 OPC_EmitConvertToTarget, 2, 1042 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs, 1043 MVT::f64, 2, 3, 4, 1044 0, 1045 43, MVT::i32, 1046 OPC_MoveParent, 1047 OPC_CheckPredicate, 5, 1048 OPC_CheckPredicate, 10, 1049 OPC_SwitchType , 16, MVT::f32, 1050 OPC_CheckPatternPredicate, 8, 1051 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1052 OPC_EmitMergeInputChains1_0, 1053 OPC_EmitConvertToTarget, 2, 1054 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs, 1055 MVT::f32, 2, 3, 4, 1056 16, MVT::f64, 1057 OPC_CheckPatternPredicate, 9, 1058 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1059 OPC_EmitMergeInputChains1_0, 1060 OPC_EmitConvertToTarget, 2, 1061 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs, 1062 MVT::f64, 2, 3, 4, 1063 0, 1064 0, 1065 73, 1066 OPC_CheckType, MVT::i64, 1067 OPC_MoveParent, 1068 OPC_CheckPredicate, 5, 1069 OPC_CheckPredicate, 10, 1070 OPC_SwitchType , 30, MVT::f32, 1071 OPC_CheckPatternPredicate, 6, 1072 OPC_Scope, 12, 1073 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 1074 OPC_EmitMergeInputChains1_0, 1075 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs, 1076 MVT::f32, 2, 3, 2, 1077 12, 1078 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1079 OPC_EmitMergeInputChains1_0, 1080 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs, 1081 MVT::f32, 2, 3, 1, 1082 0, 1083 30, MVT::f64, 1084 OPC_CheckPatternPredicate, 7, 1085 OPC_Scope, 12, 1086 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 1087 OPC_EmitMergeInputChains1_0, 1088 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs, 1089 MVT::f64, 2, 3, 2, 1090 12, 1091 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1092 OPC_EmitMergeInputChains1_0, 1093 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs, 1094 MVT::f64, 2, 3, 1, 1095 0, 1096 0, 1097 73, 1098 OPC_CheckType, MVT::i32, 1099 OPC_MoveParent, 1100 OPC_CheckPredicate, 5, 1101 OPC_CheckPredicate, 10, 1102 OPC_SwitchType , 30, MVT::f32, 1103 OPC_CheckPatternPredicate, 8, 1104 OPC_Scope, 12, 1105 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 1106 OPC_EmitMergeInputChains1_0, 1107 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs, 1108 MVT::f32, 2, 3, 2, 1109 12, 1110 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1111 OPC_EmitMergeInputChains1_0, 1112 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs, 1113 MVT::f32, 2, 3, 1, 1114 0, 1115 30, MVT::f64, 1116 OPC_CheckPatternPredicate, 9, 1117 OPC_Scope, 12, 1118 OPC_CheckComplexPat, /*CP*/1, /*#*/1, 1119 OPC_EmitMergeInputChains1_0, 1120 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs, 1121 MVT::f64, 2, 3, 2, 1122 12, 1123 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1124 OPC_EmitMergeInputChains1_0, 1125 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs, 1126 MVT::f64, 2, 3, 1, 1127 0, 1128 0, 1129 0, 1130 103, TARGET_VAL(ISD::OR), 1131 OPC_RecordChild0, 1132 OPC_RecordChild1, 1133 OPC_MoveChild1, 1134 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1135 OPC_CheckPredicate, 3, 1136 OPC_MoveParent, 1137 OPC_CheckPredicate, 4, 1138 OPC_SwitchType , 43, MVT::i64, 1139 OPC_MoveParent, 1140 OPC_CheckPredicate, 5, 1141 OPC_CheckPredicate, 10, 1142 OPC_SwitchType , 16, MVT::f32, 1143 OPC_CheckPatternPredicate, 6, 1144 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1145 OPC_EmitMergeInputChains1_0, 1146 OPC_EmitConvertToTarget, 2, 1147 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs, 1148 MVT::f32, 2, 3, 4, 1149 16, MVT::f64, 1150 OPC_CheckPatternPredicate, 7, 1151 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1152 OPC_EmitMergeInputChains1_0, 1153 OPC_EmitConvertToTarget, 2, 1154 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs, 1155 MVT::f64, 2, 3, 4, 1156 0, 1157 43, MVT::i32, 1158 OPC_MoveParent, 1159 OPC_CheckPredicate, 5, 1160 OPC_CheckPredicate, 10, 1161 OPC_SwitchType , 16, MVT::f32, 1162 OPC_CheckPatternPredicate, 8, 1163 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1164 OPC_EmitMergeInputChains1_0, 1165 OPC_EmitConvertToTarget, 2, 1166 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs, 1167 MVT::f32, 2, 3, 4, 1168 16, MVT::f64, 1169 OPC_CheckPatternPredicate, 9, 1170 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1171 OPC_EmitMergeInputChains1_0, 1172 OPC_EmitConvertToTarget, 2, 1173 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs, 1174 MVT::f64, 2, 3, 4, 1175 0, 1176 0, 1177 0, 1178 87, 1179 OPC_RecordChild1, 1180 OPC_CheckPredicate, 5, 1181 OPC_CheckPredicate, 10, 1182 OPC_SwitchType , 38, MVT::f32, 1183 OPC_Scope, 17, 1184 OPC_CheckPatternPredicate, 6, 1185 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1186 OPC_EmitMergeInputChains1_0, 1187 OPC_EmitInteger, MVT::i64, 0, 1188 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs, 1189 MVT::f32, 2, 2, 3, 1190 17, 1191 OPC_CheckPatternPredicate, 8, 1192 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1193 OPC_EmitMergeInputChains1_0, 1194 OPC_EmitInteger, MVT::i32, 0, 1195 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs, 1196 MVT::f32, 2, 2, 3, 1197 0, 1198 38, MVT::f64, 1199 OPC_Scope, 17, 1200 OPC_CheckPatternPredicate, 7, 1201 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1202 OPC_EmitMergeInputChains1_0, 1203 OPC_EmitInteger, MVT::i64, 0, 1204 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs, 1205 MVT::f64, 2, 2, 3, 1206 17, 1207 OPC_CheckPatternPredicate, 9, 1208 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1209 OPC_EmitMergeInputChains1_0, 1210 OPC_EmitInteger, MVT::i32, 0, 1211 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs, 1212 MVT::f64, 2, 2, 3, 1213 0, 1214 0, 1215 0, 1216 70|128,10, TARGET_VAL(ISD::STORE), 1217 OPC_RecordMemRef, 1218 OPC_RecordNode, 1219 OPC_RecordChild1, 1220 OPC_Scope, 65|128,4, 1221 OPC_CheckChild1Type, MVT::i64, 1222 OPC_Scope, 96|128,3, 1223 OPC_MoveChild2, 1224 OPC_SwitchOpcode , 58|128,2, TARGET_VAL(ISD::ADD), 1225 OPC_RecordChild0, 1226 OPC_RecordChild1, 1227 OPC_Scope, 25|128,1, 1228 OPC_MoveChild1, 1229 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1230 OPC_Scope, 93, 1231 OPC_CheckPredicate, 3, 1232 OPC_MoveParent, 1233 OPC_CheckPredicate, 4, 1234 OPC_CheckType, MVT::i64, 1235 OPC_MoveParent, 1236 OPC_CheckPredicate, 14, 1237 OPC_Scope, 61, 1238 OPC_CheckPredicate, 15, 1239 OPC_Scope, 18, 1240 OPC_CheckPredicate, 16, 1241 OPC_CheckPatternPredicate, 4, 1242 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1243 OPC_EmitMergeInputChains1_0, 1244 OPC_EmitConvertToTarget, 3, 1245 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 1246 3, 1, 4, 5, 1247 18, 1248 OPC_CheckPredicate, 17, 1249 OPC_CheckPatternPredicate, 4, 1250 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1251 OPC_EmitMergeInputChains1_0, 1252 OPC_EmitConvertToTarget, 3, 1253 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 1254 3, 1, 4, 5, 1255 18, 1256 OPC_CheckPredicate, 18, 1257 OPC_CheckPatternPredicate, 0, 1258 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1259 OPC_EmitMergeInputChains1_0, 1260 OPC_EmitConvertToTarget, 3, 1261 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 1262 3, 1, 4, 5, 1263 0, 1264 18, 1265 OPC_CheckPredicate, 19, 1266 OPC_CheckPatternPredicate, 0, 1267 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1268 OPC_EmitMergeInputChains1_0, 1269 OPC_EmitConvertToTarget, 3, 1270 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs, 1271 3, 1, 4, 5, 1272 0, 1273 52, 1274 OPC_CheckPredicate, 13, 1275 OPC_MoveParent, 1276 OPC_CheckPredicate, 4, 1277 OPC_CheckType, MVT::i64, 1278 OPC_MoveParent, 1279 OPC_CheckPredicate, 14, 1280 OPC_Scope, 20, 1281 OPC_CheckPredicate, 15, 1282 OPC_CheckPredicate, 18, 1283 OPC_CheckPatternPredicate, 0, 1284 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1285 OPC_EmitMergeInputChains1_0, 1286 OPC_EmitConvertToTarget, 3, 1287 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs, 1288 3, 1, 4, 5, 1289 18, 1290 OPC_CheckPredicate, 19, 1291 OPC_CheckPatternPredicate, 0, 1292 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1293 OPC_EmitMergeInputChains1_0, 1294 OPC_EmitConvertToTarget, 3, 1295 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs, 1296 3, 1, 4, 5, 1297 0, 1298 0, 1299 25|128,1, 1300 OPC_CheckType, MVT::i64, 1301 OPC_MoveParent, 1302 OPC_CheckPredicate, 14, 1303 OPC_Scope, 55, 1304 OPC_CheckPredicate, 15, 1305 OPC_Scope, 16, 1306 OPC_CheckPredicate, 16, 1307 OPC_CheckPatternPredicate, 0, 1308 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1309 OPC_EmitMergeInputChains1_0, 1310 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs, 1311 3, 1, 4, 3, 1312 16, 1313 OPC_CheckPredicate, 17, 1314 OPC_CheckPatternPredicate, 0, 1315 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1316 OPC_EmitMergeInputChains1_0, 1317 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs, 1318 3, 1, 4, 3, 1319 16, 1320 OPC_CheckPredicate, 18, 1321 OPC_CheckPatternPredicate, 0, 1322 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1323 OPC_EmitMergeInputChains1_0, 1324 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs, 1325 3, 1, 4, 3, 1326 0, 1327 16, 1328 OPC_CheckPredicate, 19, 1329 OPC_CheckPatternPredicate, 0, 1330 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1331 OPC_EmitMergeInputChains1_0, 1332 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs, 1333 3, 1, 4, 3, 1334 55, 1335 OPC_CheckPredicate, 15, 1336 OPC_Scope, 16, 1337 OPC_CheckPredicate, 16, 1338 OPC_CheckPatternPredicate, 0, 1339 OPC_CheckComplexPat, /*CP*/1, /*#*/3, 1340 OPC_EmitMergeInputChains1_0, 1341 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs, 1342 3, 1, 4, 2, 1343 16, 1344 OPC_CheckPredicate, 17, 1345 OPC_CheckPatternPredicate, 0, 1346 OPC_CheckComplexPat, /*CP*/1, /*#*/3, 1347 OPC_EmitMergeInputChains1_0, 1348 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs, 1349 3, 1, 4, 2, 1350 16, 1351 OPC_CheckPredicate, 18, 1352 OPC_CheckPatternPredicate, 0, 1353 OPC_CheckComplexPat, /*CP*/1, /*#*/3, 1354 OPC_EmitMergeInputChains1_0, 1355 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs, 1356 3, 1, 4, 2, 1357 0, 1358 16, 1359 OPC_CheckPredicate, 19, 1360 OPC_CheckPatternPredicate, 0, 1361 OPC_CheckComplexPat, /*CP*/1, /*#*/3, 1362 OPC_EmitMergeInputChains1_0, 1363 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs, 1364 3, 1, 4, 2, 1365 0, 1366 0, 1367 27|128,1, TARGET_VAL(ISD::OR), 1368 OPC_RecordChild0, 1369 OPC_RecordChild1, 1370 OPC_MoveChild1, 1371 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1372 OPC_Scope, 93, 1373 OPC_CheckPredicate, 3, 1374 OPC_MoveParent, 1375 OPC_CheckPredicate, 4, 1376 OPC_CheckType, MVT::i64, 1377 OPC_MoveParent, 1378 OPC_CheckPredicate, 14, 1379 OPC_Scope, 61, 1380 OPC_CheckPredicate, 15, 1381 OPC_Scope, 18, 1382 OPC_CheckPredicate, 16, 1383 OPC_CheckPatternPredicate, 4, 1384 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1385 OPC_EmitMergeInputChains1_0, 1386 OPC_EmitConvertToTarget, 3, 1387 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 1388 3, 1, 4, 5, 1389 18, 1390 OPC_CheckPredicate, 17, 1391 OPC_CheckPatternPredicate, 4, 1392 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1393 OPC_EmitMergeInputChains1_0, 1394 OPC_EmitConvertToTarget, 3, 1395 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 1396 3, 1, 4, 5, 1397 18, 1398 OPC_CheckPredicate, 18, 1399 OPC_CheckPatternPredicate, 0, 1400 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1401 OPC_EmitMergeInputChains1_0, 1402 OPC_EmitConvertToTarget, 3, 1403 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 1404 3, 1, 4, 5, 1405 0, 1406 18, 1407 OPC_CheckPredicate, 19, 1408 OPC_CheckPatternPredicate, 0, 1409 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1410 OPC_EmitMergeInputChains1_0, 1411 OPC_EmitConvertToTarget, 3, 1412 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs, 1413 3, 1, 4, 5, 1414 0, 1415 52, 1416 OPC_CheckPredicate, 13, 1417 OPC_MoveParent, 1418 OPC_CheckPredicate, 4, 1419 OPC_CheckType, MVT::i64, 1420 OPC_MoveParent, 1421 OPC_CheckPredicate, 14, 1422 OPC_Scope, 20, 1423 OPC_CheckPredicate, 15, 1424 OPC_CheckPredicate, 18, 1425 OPC_CheckPatternPredicate, 0, 1426 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1427 OPC_EmitMergeInputChains1_0, 1428 OPC_EmitConvertToTarget, 3, 1429 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs, 1430 3, 1, 4, 5, 1431 18, 1432 OPC_CheckPredicate, 19, 1433 OPC_CheckPatternPredicate, 0, 1434 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1435 OPC_EmitMergeInputChains1_0, 1436 OPC_EmitConvertToTarget, 3, 1437 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs, 1438 3, 1, 4, 5, 1439 0, 1440 0, 1441 0, 1442 90, 1443 OPC_RecordChild2, 1444 OPC_CheckPredicate, 14, 1445 OPC_Scope, 64, 1446 OPC_CheckPredicate, 15, 1447 OPC_Scope, 19, 1448 OPC_CheckPredicate, 16, 1449 OPC_CheckPatternPredicate, 4, 1450 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1451 OPC_EmitMergeInputChains1_0, 1452 OPC_EmitInteger, MVT::i64, 0, 1453 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 1454 3, 1, 3, 4, 1455 19, 1456 OPC_CheckPredicate, 17, 1457 OPC_CheckPatternPredicate, 4, 1458 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1459 OPC_EmitMergeInputChains1_0, 1460 OPC_EmitInteger, MVT::i64, 0, 1461 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 1462 3, 1, 3, 4, 1463 19, 1464 OPC_CheckPredicate, 18, 1465 OPC_CheckPatternPredicate, 0, 1466 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1467 OPC_EmitMergeInputChains1_0, 1468 OPC_EmitInteger, MVT::i64, 0, 1469 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 1470 3, 1, 3, 4, 1471 0, 1472 19, 1473 OPC_CheckPredicate, 19, 1474 OPC_CheckPatternPredicate, 0, 1475 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1476 OPC_EmitMergeInputChains1_0, 1477 OPC_EmitInteger, MVT::i64, 0, 1478 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs, 1479 3, 1, 3, 4, 1480 0, 1481 0, 1482 118|128,1, 1483 OPC_CheckChild1Type, MVT::i32, 1484 OPC_Scope, 41|128,1, 1485 OPC_MoveChild2, 1486 OPC_SwitchOpcode , 80, TARGET_VAL(ISD::ADD), 1487 OPC_RecordChild0, 1488 OPC_RecordChild1, 1489 OPC_MoveChild1, 1490 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1491 OPC_CheckPredicate, 3, 1492 OPC_MoveParent, 1493 OPC_CheckPredicate, 4, 1494 OPC_CheckType, MVT::i32, 1495 OPC_MoveParent, 1496 OPC_CheckPredicate, 14, 1497 OPC_Scope, 42, 1498 OPC_CheckPredicate, 15, 1499 OPC_Scope, 18, 1500 OPC_CheckPredicate, 16, 1501 OPC_CheckPatternPredicate, 5, 1502 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1503 OPC_EmitMergeInputChains1_0, 1504 OPC_EmitConvertToTarget, 3, 1505 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 1506 3, 1, 4, 5, 1507 18, 1508 OPC_CheckPredicate, 17, 1509 OPC_CheckPatternPredicate, 5, 1510 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1511 OPC_EmitMergeInputChains1_0, 1512 OPC_EmitConvertToTarget, 3, 1513 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 1514 3, 1, 4, 5, 1515 0, 1516 18, 1517 OPC_CheckPredicate, 19, 1518 OPC_CheckPatternPredicate, 2, 1519 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1520 OPC_EmitMergeInputChains1_0, 1521 OPC_EmitConvertToTarget, 3, 1522 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 1523 3, 1, 4, 5, 1524 0, 1525 80, TARGET_VAL(ISD::OR), 1526 OPC_RecordChild0, 1527 OPC_RecordChild1, 1528 OPC_MoveChild1, 1529 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1530 OPC_CheckPredicate, 3, 1531 OPC_MoveParent, 1532 OPC_CheckPredicate, 4, 1533 OPC_CheckType, MVT::i32, 1534 OPC_MoveParent, 1535 OPC_CheckPredicate, 14, 1536 OPC_Scope, 42, 1537 OPC_CheckPredicate, 15, 1538 OPC_Scope, 18, 1539 OPC_CheckPredicate, 16, 1540 OPC_CheckPatternPredicate, 5, 1541 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1542 OPC_EmitMergeInputChains1_0, 1543 OPC_EmitConvertToTarget, 3, 1544 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 1545 3, 1, 4, 5, 1546 18, 1547 OPC_CheckPredicate, 17, 1548 OPC_CheckPatternPredicate, 5, 1549 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1550 OPC_EmitMergeInputChains1_0, 1551 OPC_EmitConvertToTarget, 3, 1552 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 1553 3, 1, 4, 5, 1554 0, 1555 18, 1556 OPC_CheckPredicate, 19, 1557 OPC_CheckPatternPredicate, 2, 1558 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1559 OPC_EmitMergeInputChains1_0, 1560 OPC_EmitConvertToTarget, 3, 1561 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 1562 3, 1, 4, 5, 1563 0, 1564 0, 1565 70, 1566 OPC_RecordChild2, 1567 OPC_CheckPredicate, 14, 1568 OPC_Scope, 44, 1569 OPC_CheckPredicate, 15, 1570 OPC_Scope, 19, 1571 OPC_CheckPredicate, 16, 1572 OPC_CheckPatternPredicate, 5, 1573 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1574 OPC_EmitMergeInputChains1_0, 1575 OPC_EmitInteger, MVT::i32, 0, 1576 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 1577 3, 1, 3, 4, 1578 19, 1579 OPC_CheckPredicate, 17, 1580 OPC_CheckPatternPredicate, 5, 1581 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1582 OPC_EmitMergeInputChains1_0, 1583 OPC_EmitInteger, MVT::i32, 0, 1584 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 1585 3, 1, 3, 4, 1586 0, 1587 19, 1588 OPC_CheckPredicate, 19, 1589 OPC_CheckPatternPredicate, 2, 1590 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1591 OPC_EmitMergeInputChains1_0, 1592 OPC_EmitInteger, MVT::i32, 0, 1593 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 1594 3, 1, 3, 4, 1595 0, 1596 0, 1597 1|128,2, 1598 OPC_CheckChild1Type, MVT::f32, 1599 OPC_Scope, 79|128,1, 1600 OPC_MoveChild2, 1601 OPC_SwitchOpcode , 10|128,1, TARGET_VAL(ISD::ADD), 1602 OPC_RecordChild0, 1603 OPC_RecordChild1, 1604 OPC_Scope, 57, 1605 OPC_MoveChild1, 1606 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1607 OPC_CheckPredicate, 3, 1608 OPC_MoveParent, 1609 OPC_CheckPredicate, 4, 1610 OPC_SwitchType , 21, MVT::i64, 1611 OPC_MoveParent, 1612 OPC_CheckPredicate, 14, 1613 OPC_CheckPredicate, 19, 1614 OPC_CheckPatternPredicate, 6, 1615 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1616 OPC_EmitMergeInputChains1_0, 1617 OPC_EmitConvertToTarget, 3, 1618 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs, 1619 3, 1, 4, 5, 1620 21, MVT::i32, 1621 OPC_MoveParent, 1622 OPC_CheckPredicate, 14, 1623 OPC_CheckPredicate, 19, 1624 OPC_CheckPatternPredicate, 8, 1625 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1626 OPC_EmitMergeInputChains1_0, 1627 OPC_EmitConvertToTarget, 3, 1628 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs, 1629 3, 1, 4, 5, 1630 0, 1631 37, 1632 OPC_CheckType, MVT::i64, 1633 OPC_MoveParent, 1634 OPC_CheckPredicate, 14, 1635 OPC_CheckPredicate, 19, 1636 OPC_CheckPatternPredicate, 6, 1637 OPC_Scope, 12, 1638 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1639 OPC_EmitMergeInputChains1_0, 1640 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs, 1641 3, 1, 4, 3, 1642 12, 1643 OPC_CheckComplexPat, /*CP*/1, /*#*/3, 1644 OPC_EmitMergeInputChains1_0, 1645 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs, 1646 3, 1, 4, 2, 1647 0, 1648 37, 1649 OPC_CheckType, MVT::i32, 1650 OPC_MoveParent, 1651 OPC_CheckPredicate, 14, 1652 OPC_CheckPredicate, 19, 1653 OPC_CheckPatternPredicate, 8, 1654 OPC_Scope, 12, 1655 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1656 OPC_EmitMergeInputChains1_0, 1657 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs, 1658 3, 1, 4, 3, 1659 12, 1660 OPC_CheckComplexPat, /*CP*/1, /*#*/3, 1661 OPC_EmitMergeInputChains1_0, 1662 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs, 1663 3, 1, 4, 2, 1664 0, 1665 0, 1666 59, TARGET_VAL(ISD::OR), 1667 OPC_RecordChild0, 1668 OPC_RecordChild1, 1669 OPC_MoveChild1, 1670 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1671 OPC_CheckPredicate, 3, 1672 OPC_MoveParent, 1673 OPC_CheckPredicate, 4, 1674 OPC_SwitchType , 21, MVT::i64, 1675 OPC_MoveParent, 1676 OPC_CheckPredicate, 14, 1677 OPC_CheckPredicate, 19, 1678 OPC_CheckPatternPredicate, 6, 1679 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1680 OPC_EmitMergeInputChains1_0, 1681 OPC_EmitConvertToTarget, 3, 1682 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs, 1683 3, 1, 4, 5, 1684 21, MVT::i32, 1685 OPC_MoveParent, 1686 OPC_CheckPredicate, 14, 1687 OPC_CheckPredicate, 19, 1688 OPC_CheckPatternPredicate, 8, 1689 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1690 OPC_EmitMergeInputChains1_0, 1691 OPC_EmitConvertToTarget, 3, 1692 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs, 1693 3, 1, 4, 5, 1694 0, 1695 0, 1696 43, 1697 OPC_RecordChild2, 1698 OPC_CheckPredicate, 14, 1699 OPC_CheckPredicate, 19, 1700 OPC_Scope, 17, 1701 OPC_CheckPatternPredicate, 6, 1702 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1703 OPC_EmitMergeInputChains1_0, 1704 OPC_EmitInteger, MVT::i64, 0, 1705 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs, 1706 3, 1, 3, 4, 1707 17, 1708 OPC_CheckPatternPredicate, 8, 1709 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1710 OPC_EmitMergeInputChains1_0, 1711 OPC_EmitInteger, MVT::i32, 0, 1712 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs, 1713 3, 1, 3, 4, 1714 0, 1715 0, 1716 1|128,2, 1717 OPC_CheckChild1Type, MVT::f64, 1718 OPC_Scope, 79|128,1, 1719 OPC_MoveChild2, 1720 OPC_SwitchOpcode , 10|128,1, TARGET_VAL(ISD::ADD), 1721 OPC_RecordChild0, 1722 OPC_RecordChild1, 1723 OPC_Scope, 57, 1724 OPC_MoveChild1, 1725 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1726 OPC_CheckPredicate, 3, 1727 OPC_MoveParent, 1728 OPC_CheckPredicate, 4, 1729 OPC_SwitchType , 21, MVT::i64, 1730 OPC_MoveParent, 1731 OPC_CheckPredicate, 14, 1732 OPC_CheckPredicate, 19, 1733 OPC_CheckPatternPredicate, 7, 1734 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1735 OPC_EmitMergeInputChains1_0, 1736 OPC_EmitConvertToTarget, 3, 1737 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs, 1738 3, 1, 4, 5, 1739 21, MVT::i32, 1740 OPC_MoveParent, 1741 OPC_CheckPredicate, 14, 1742 OPC_CheckPredicate, 19, 1743 OPC_CheckPatternPredicate, 9, 1744 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1745 OPC_EmitMergeInputChains1_0, 1746 OPC_EmitConvertToTarget, 3, 1747 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs, 1748 3, 1, 4, 5, 1749 0, 1750 37, 1751 OPC_CheckType, MVT::i64, 1752 OPC_MoveParent, 1753 OPC_CheckPredicate, 14, 1754 OPC_CheckPredicate, 19, 1755 OPC_CheckPatternPredicate, 7, 1756 OPC_Scope, 12, 1757 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1758 OPC_EmitMergeInputChains1_0, 1759 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs, 1760 3, 1, 4, 3, 1761 12, 1762 OPC_CheckComplexPat, /*CP*/1, /*#*/3, 1763 OPC_EmitMergeInputChains1_0, 1764 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs, 1765 3, 1, 4, 2, 1766 0, 1767 37, 1768 OPC_CheckType, MVT::i32, 1769 OPC_MoveParent, 1770 OPC_CheckPredicate, 14, 1771 OPC_CheckPredicate, 19, 1772 OPC_CheckPatternPredicate, 9, 1773 OPC_Scope, 12, 1774 OPC_CheckComplexPat, /*CP*/1, /*#*/2, 1775 OPC_EmitMergeInputChains1_0, 1776 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs, 1777 3, 1, 4, 3, 1778 12, 1779 OPC_CheckComplexPat, /*CP*/1, /*#*/3, 1780 OPC_EmitMergeInputChains1_0, 1781 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs, 1782 3, 1, 4, 2, 1783 0, 1784 0, 1785 59, TARGET_VAL(ISD::OR), 1786 OPC_RecordChild0, 1787 OPC_RecordChild1, 1788 OPC_MoveChild1, 1789 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1790 OPC_CheckPredicate, 3, 1791 OPC_MoveParent, 1792 OPC_CheckPredicate, 4, 1793 OPC_SwitchType , 21, MVT::i64, 1794 OPC_MoveParent, 1795 OPC_CheckPredicate, 14, 1796 OPC_CheckPredicate, 19, 1797 OPC_CheckPatternPredicate, 7, 1798 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1799 OPC_EmitMergeInputChains1_0, 1800 OPC_EmitConvertToTarget, 3, 1801 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs, 1802 3, 1, 4, 5, 1803 21, MVT::i32, 1804 OPC_MoveParent, 1805 OPC_CheckPredicate, 14, 1806 OPC_CheckPredicate, 19, 1807 OPC_CheckPatternPredicate, 9, 1808 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1809 OPC_EmitMergeInputChains1_0, 1810 OPC_EmitConvertToTarget, 3, 1811 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs, 1812 3, 1, 4, 5, 1813 0, 1814 0, 1815 43, 1816 OPC_RecordChild2, 1817 OPC_CheckPredicate, 14, 1818 OPC_CheckPredicate, 19, 1819 OPC_Scope, 17, 1820 OPC_CheckPatternPredicate, 7, 1821 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1822 OPC_EmitMergeInputChains1_0, 1823 OPC_EmitInteger, MVT::i64, 0, 1824 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs, 1825 3, 1, 3, 4, 1826 17, 1827 OPC_CheckPatternPredicate, 9, 1828 OPC_CheckComplexPat, /*CP*/0, /*#*/2, 1829 OPC_EmitMergeInputChains1_0, 1830 OPC_EmitInteger, MVT::i32, 0, 1831 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs, 1832 3, 1, 3, 4, 1833 0, 1834 0, 1835 0, 1836 40|128,4, TARGET_VAL(ISD::ATOMIC_LOAD), 1837 OPC_RecordMemRef, 1838 OPC_RecordNode, 1839 OPC_Scope, 113|128,2, 1840 OPC_MoveChild1, 1841 OPC_SwitchOpcode , 51|128,1, TARGET_VAL(ISD::ADD), 1842 OPC_RecordChild0, 1843 OPC_RecordChild1, 1844 OPC_MoveChild1, 1845 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1846 OPC_CheckPredicate, 3, 1847 OPC_MoveParent, 1848 OPC_CheckPredicate, 4, 1849 OPC_SwitchType , 81, MVT::i64, 1850 OPC_MoveParent, 1851 OPC_CheckType, MVT::i64, 1852 OPC_Scope, 18, 1853 OPC_CheckPredicate, 7, 1854 OPC_CheckPatternPredicate, 4, 1855 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1856 OPC_EmitMergeInputChains1_0, 1857 OPC_EmitConvertToTarget, 2, 1858 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 1859 MVT::i64, 2, 3, 4, 1860 18, 1861 OPC_CheckPredicate, 9, 1862 OPC_CheckPatternPredicate, 4, 1863 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1864 OPC_EmitMergeInputChains1_0, 1865 OPC_EmitConvertToTarget, 2, 1866 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 1867 MVT::i64, 2, 3, 4, 1868 18, 1869 OPC_CheckPredicate, 12, 1870 OPC_CheckPatternPredicate, 4, 1871 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1872 OPC_EmitMergeInputChains1_0, 1873 OPC_EmitConvertToTarget, 2, 1874 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 1875 MVT::i64, 2, 3, 4, 1876 18, 1877 OPC_CheckPredicate, 20, 1878 OPC_CheckPatternPredicate, 0, 1879 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1880 OPC_EmitMergeInputChains1_0, 1881 OPC_EmitConvertToTarget, 2, 1882 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs, 1883 MVT::i64, 2, 3, 4, 1884 0, 1885 81, MVT::i32, 1886 OPC_MoveParent, 1887 OPC_CheckType, MVT::i32, 1888 OPC_Scope, 18, 1889 OPC_CheckPredicate, 7, 1890 OPC_CheckPatternPredicate, 5, 1891 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1892 OPC_EmitMergeInputChains1_0, 1893 OPC_EmitConvertToTarget, 2, 1894 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 1895 MVT::i32, 2, 3, 4, 1896 18, 1897 OPC_CheckPredicate, 9, 1898 OPC_CheckPatternPredicate, 5, 1899 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1900 OPC_EmitMergeInputChains1_0, 1901 OPC_EmitConvertToTarget, 2, 1902 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 1903 MVT::i32, 2, 3, 4, 1904 18, 1905 OPC_CheckPredicate, 12, 1906 OPC_CheckPatternPredicate, 5, 1907 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1908 OPC_EmitMergeInputChains1_0, 1909 OPC_EmitConvertToTarget, 2, 1910 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 1911 MVT::i32, 2, 3, 4, 1912 18, 1913 OPC_CheckPredicate, 20, 1914 OPC_CheckPatternPredicate, 3, 1915 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1916 OPC_EmitMergeInputChains1_0, 1917 OPC_EmitConvertToTarget, 2, 1918 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs, 1919 MVT::i32, 2, 3, 4, 1920 0, 1921 0, 1922 51|128,1, TARGET_VAL(ISD::OR), 1923 OPC_RecordChild0, 1924 OPC_RecordChild1, 1925 OPC_MoveChild1, 1926 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 1927 OPC_CheckPredicate, 3, 1928 OPC_MoveParent, 1929 OPC_CheckPredicate, 4, 1930 OPC_SwitchType , 81, MVT::i64, 1931 OPC_MoveParent, 1932 OPC_CheckType, MVT::i64, 1933 OPC_Scope, 18, 1934 OPC_CheckPredicate, 7, 1935 OPC_CheckPatternPredicate, 4, 1936 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1937 OPC_EmitMergeInputChains1_0, 1938 OPC_EmitConvertToTarget, 2, 1939 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 1940 MVT::i64, 2, 3, 4, 1941 18, 1942 OPC_CheckPredicate, 9, 1943 OPC_CheckPatternPredicate, 4, 1944 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1945 OPC_EmitMergeInputChains1_0, 1946 OPC_EmitConvertToTarget, 2, 1947 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 1948 MVT::i64, 2, 3, 4, 1949 18, 1950 OPC_CheckPredicate, 12, 1951 OPC_CheckPatternPredicate, 4, 1952 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1953 OPC_EmitMergeInputChains1_0, 1954 OPC_EmitConvertToTarget, 2, 1955 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 1956 MVT::i64, 2, 3, 4, 1957 18, 1958 OPC_CheckPredicate, 20, 1959 OPC_CheckPatternPredicate, 0, 1960 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1961 OPC_EmitMergeInputChains1_0, 1962 OPC_EmitConvertToTarget, 2, 1963 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs, 1964 MVT::i64, 2, 3, 4, 1965 0, 1966 81, MVT::i32, 1967 OPC_MoveParent, 1968 OPC_CheckType, MVT::i32, 1969 OPC_Scope, 18, 1970 OPC_CheckPredicate, 7, 1971 OPC_CheckPatternPredicate, 5, 1972 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1973 OPC_EmitMergeInputChains1_0, 1974 OPC_EmitConvertToTarget, 2, 1975 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 1976 MVT::i32, 2, 3, 4, 1977 18, 1978 OPC_CheckPredicate, 9, 1979 OPC_CheckPatternPredicate, 5, 1980 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1981 OPC_EmitMergeInputChains1_0, 1982 OPC_EmitConvertToTarget, 2, 1983 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 1984 MVT::i32, 2, 3, 4, 1985 18, 1986 OPC_CheckPredicate, 12, 1987 OPC_CheckPatternPredicate, 5, 1988 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1989 OPC_EmitMergeInputChains1_0, 1990 OPC_EmitConvertToTarget, 2, 1991 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 1992 MVT::i32, 2, 3, 4, 1993 18, 1994 OPC_CheckPredicate, 20, 1995 OPC_CheckPatternPredicate, 3, 1996 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 1997 OPC_EmitMergeInputChains1_0, 1998 OPC_EmitConvertToTarget, 2, 1999 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs, 2000 MVT::i32, 2, 3, 4, 2001 0, 2002 0, 2003 0, 2004 47|128,1, 2005 OPC_RecordChild1, 2006 OPC_Scope, 42, 2007 OPC_CheckPredicate, 7, 2008 OPC_SwitchType , 17, MVT::i64, 2009 OPC_CheckPatternPredicate, 4, 2010 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2011 OPC_EmitMergeInputChains1_0, 2012 OPC_EmitInteger, MVT::i64, 0, 2013 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 2014 MVT::i64, 2, 2, 3, 2015 17, MVT::i32, 2016 OPC_CheckPatternPredicate, 5, 2017 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2018 OPC_EmitMergeInputChains1_0, 2019 OPC_EmitInteger, MVT::i32, 0, 2020 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs, 2021 MVT::i32, 2, 2, 3, 2022 0, 2023 42, 2024 OPC_CheckPredicate, 9, 2025 OPC_SwitchType , 17, MVT::i64, 2026 OPC_CheckPatternPredicate, 4, 2027 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2028 OPC_EmitMergeInputChains1_0, 2029 OPC_EmitInteger, MVT::i64, 0, 2030 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 2031 MVT::i64, 2, 2, 3, 2032 17, MVT::i32, 2033 OPC_CheckPatternPredicate, 5, 2034 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2035 OPC_EmitMergeInputChains1_0, 2036 OPC_EmitInteger, MVT::i32, 0, 2037 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs, 2038 MVT::i32, 2, 2, 3, 2039 0, 2040 42, 2041 OPC_CheckPredicate, 12, 2042 OPC_SwitchType , 17, MVT::i64, 2043 OPC_CheckPatternPredicate, 4, 2044 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2045 OPC_EmitMergeInputChains1_0, 2046 OPC_EmitInteger, MVT::i64, 0, 2047 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 2048 MVT::i64, 2, 2, 3, 2049 17, MVT::i32, 2050 OPC_CheckPatternPredicate, 5, 2051 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2052 OPC_EmitMergeInputChains1_0, 2053 OPC_EmitInteger, MVT::i32, 0, 2054 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs, 2055 MVT::i32, 2, 2, 3, 2056 0, 2057 42, 2058 OPC_CheckPredicate, 20, 2059 OPC_SwitchType , 17, MVT::i64, 2060 OPC_CheckPatternPredicate, 0, 2061 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2062 OPC_EmitMergeInputChains1_0, 2063 OPC_EmitInteger, MVT::i64, 0, 2064 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs, 2065 MVT::i64, 2, 2, 3, 2066 17, MVT::i32, 2067 OPC_CheckPatternPredicate, 3, 2068 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2069 OPC_EmitMergeInputChains1_0, 2070 OPC_EmitInteger, MVT::i32, 0, 2071 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs, 2072 MVT::i32, 2, 2, 3, 2073 0, 2074 0, 2075 0, 2076 87|128,4, TARGET_VAL(ISD::ATOMIC_STORE), 2077 OPC_RecordMemRef, 2078 OPC_RecordNode, 2079 OPC_Scope, 91|128,2, 2080 OPC_MoveChild1, 2081 OPC_SwitchOpcode , 40|128,1, TARGET_VAL(ISD::ADD), 2082 OPC_RecordChild0, 2083 OPC_RecordChild1, 2084 OPC_MoveChild1, 2085 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 2086 OPC_CheckPredicate, 3, 2087 OPC_MoveParent, 2088 OPC_CheckPredicate, 4, 2089 OPC_SwitchType , 86, MVT::i64, 2090 OPC_MoveParent, 2091 OPC_RecordChild2, 2092 OPC_CheckChild2Type, MVT::i64, 2093 OPC_Scope, 18, 2094 OPC_CheckPredicate, 7, 2095 OPC_CheckPatternPredicate, 4, 2096 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2097 OPC_EmitMergeInputChains1_0, 2098 OPC_EmitConvertToTarget, 2, 2099 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 2100 3, 3, 4, 5, 2101 18, 2102 OPC_CheckPredicate, 9, 2103 OPC_CheckPatternPredicate, 4, 2104 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2105 OPC_EmitMergeInputChains1_0, 2106 OPC_EmitConvertToTarget, 2, 2107 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 2108 3, 3, 4, 5, 2109 20, 2110 OPC_CheckPredicate, 12, 2111 OPC_CheckPredicate, 21, 2112 OPC_CheckPatternPredicate, 0, 2113 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2114 OPC_EmitMergeInputChains1_0, 2115 OPC_EmitConvertToTarget, 2, 2116 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 2117 3, 3, 4, 5, 2118 20, 2119 OPC_CheckPredicate, 20, 2120 OPC_CheckPredicate, 21, 2121 OPC_CheckPatternPredicate, 0, 2122 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2123 OPC_EmitMergeInputChains1_0, 2124 OPC_EmitConvertToTarget, 2, 2125 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs, 2126 3, 3, 4, 5, 2127 0, 2128 65, MVT::i32, 2129 OPC_MoveParent, 2130 OPC_RecordChild2, 2131 OPC_CheckChild2Type, MVT::i32, 2132 OPC_Scope, 18, 2133 OPC_CheckPredicate, 7, 2134 OPC_CheckPatternPredicate, 5, 2135 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2136 OPC_EmitMergeInputChains1_0, 2137 OPC_EmitConvertToTarget, 2, 2138 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 2139 3, 3, 4, 5, 2140 18, 2141 OPC_CheckPredicate, 9, 2142 OPC_CheckPatternPredicate, 5, 2143 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2144 OPC_EmitMergeInputChains1_0, 2145 OPC_EmitConvertToTarget, 2, 2146 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 2147 3, 3, 4, 5, 2148 20, 2149 OPC_CheckPredicate, 12, 2150 OPC_CheckPredicate, 21, 2151 OPC_CheckPatternPredicate, 2, 2152 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2153 OPC_EmitMergeInputChains1_0, 2154 OPC_EmitConvertToTarget, 2, 2155 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 2156 3, 3, 4, 5, 2157 0, 2158 0, 2159 40|128,1, TARGET_VAL(ISD::OR), 2160 OPC_RecordChild0, 2161 OPC_RecordChild1, 2162 OPC_MoveChild1, 2163 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 2164 OPC_CheckPredicate, 3, 2165 OPC_MoveParent, 2166 OPC_CheckPredicate, 4, 2167 OPC_SwitchType , 86, MVT::i64, 2168 OPC_MoveParent, 2169 OPC_RecordChild2, 2170 OPC_CheckChild2Type, MVT::i64, 2171 OPC_Scope, 18, 2172 OPC_CheckPredicate, 7, 2173 OPC_CheckPatternPredicate, 4, 2174 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2175 OPC_EmitMergeInputChains1_0, 2176 OPC_EmitConvertToTarget, 2, 2177 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 2178 3, 3, 4, 5, 2179 18, 2180 OPC_CheckPredicate, 9, 2181 OPC_CheckPatternPredicate, 4, 2182 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2183 OPC_EmitMergeInputChains1_0, 2184 OPC_EmitConvertToTarget, 2, 2185 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 2186 3, 3, 4, 5, 2187 20, 2188 OPC_CheckPredicate, 12, 2189 OPC_CheckPredicate, 21, 2190 OPC_CheckPatternPredicate, 0, 2191 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2192 OPC_EmitMergeInputChains1_0, 2193 OPC_EmitConvertToTarget, 2, 2194 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 2195 3, 3, 4, 5, 2196 20, 2197 OPC_CheckPredicate, 20, 2198 OPC_CheckPredicate, 21, 2199 OPC_CheckPatternPredicate, 0, 2200 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2201 OPC_EmitMergeInputChains1_0, 2202 OPC_EmitConvertToTarget, 2, 2203 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs, 2204 3, 3, 4, 5, 2205 0, 2206 65, MVT::i32, 2207 OPC_MoveParent, 2208 OPC_RecordChild2, 2209 OPC_CheckChild2Type, MVT::i32, 2210 OPC_Scope, 18, 2211 OPC_CheckPredicate, 7, 2212 OPC_CheckPatternPredicate, 5, 2213 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2214 OPC_EmitMergeInputChains1_0, 2215 OPC_EmitConvertToTarget, 2, 2216 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 2217 3, 3, 4, 5, 2218 18, 2219 OPC_CheckPredicate, 9, 2220 OPC_CheckPatternPredicate, 5, 2221 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2222 OPC_EmitMergeInputChains1_0, 2223 OPC_EmitConvertToTarget, 2, 2224 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 2225 3, 3, 4, 5, 2226 20, 2227 OPC_CheckPredicate, 12, 2228 OPC_CheckPredicate, 21, 2229 OPC_CheckPatternPredicate, 2, 2230 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2231 OPC_EmitMergeInputChains1_0, 2232 OPC_EmitConvertToTarget, 2, 2233 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 2234 3, 3, 4, 5, 2235 0, 2236 0, 2237 0, 2238 116|128,1, 2239 OPC_RecordChild1, 2240 OPC_Scope, 31|128,1, 2241 OPC_RecordChild2, 2242 OPC_Scope, 88, 2243 OPC_CheckChild2Type, MVT::i64, 2244 OPC_Scope, 19, 2245 OPC_CheckPredicate, 7, 2246 OPC_CheckPatternPredicate, 4, 2247 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2248 OPC_EmitMergeInputChains1_0, 2249 OPC_EmitInteger, MVT::i64, 0, 2250 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 2251 3, 2, 3, 4, 2252 19, 2253 OPC_CheckPredicate, 9, 2254 OPC_CheckPatternPredicate, 4, 2255 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2256 OPC_EmitMergeInputChains1_0, 2257 OPC_EmitInteger, MVT::i64, 0, 2258 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 2259 3, 2, 3, 4, 2260 21, 2261 OPC_CheckPredicate, 12, 2262 OPC_CheckPredicate, 21, 2263 OPC_CheckPatternPredicate, 0, 2264 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2265 OPC_EmitMergeInputChains1_0, 2266 OPC_EmitInteger, MVT::i64, 0, 2267 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 2268 3, 2, 3, 4, 2269 21, 2270 OPC_CheckPredicate, 20, 2271 OPC_CheckPredicate, 21, 2272 OPC_CheckPatternPredicate, 0, 2273 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2274 OPC_EmitMergeInputChains1_0, 2275 OPC_EmitInteger, MVT::i64, 0, 2276 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs, 2277 3, 2, 3, 4, 2278 0, 2279 66, 2280 OPC_CheckChild2Type, MVT::i32, 2281 OPC_Scope, 19, 2282 OPC_CheckPredicate, 7, 2283 OPC_CheckPatternPredicate, 5, 2284 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2285 OPC_EmitMergeInputChains1_0, 2286 OPC_EmitInteger, MVT::i32, 0, 2287 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs, 2288 3, 2, 3, 4, 2289 19, 2290 OPC_CheckPredicate, 9, 2291 OPC_CheckPatternPredicate, 5, 2292 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2293 OPC_EmitMergeInputChains1_0, 2294 OPC_EmitInteger, MVT::i32, 0, 2295 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs, 2296 3, 2, 3, 4, 2297 21, 2298 OPC_CheckPredicate, 12, 2299 OPC_CheckPredicate, 21, 2300 OPC_CheckPatternPredicate, 2, 2301 OPC_CheckComplexPat, /*CP*/0, /*#*/1, 2302 OPC_EmitMergeInputChains1_0, 2303 OPC_EmitInteger, MVT::i32, 0, 2304 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs, 2305 3, 2, 3, 4, 2306 0, 2307 0, 2308 39, 2309 OPC_CheckChild1Type, MVT::i64, 2310 OPC_RecordChild2, 2311 OPC_CheckChild2Type, MVT::i64, 2312 OPC_Scope, 15, 2313 OPC_CheckPredicate, 12, 2314 OPC_CheckPredicate, 22, 2315 OPC_CheckPatternPredicate, 4, 2316 OPC_EmitMergeInputChains1_0, 2317 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs, 2318 MVT::i64, 2, 1, 2, 2319 15, 2320 OPC_CheckPredicate, 20, 2321 OPC_CheckPredicate, 22, 2322 OPC_CheckPatternPredicate, 0, 2323 OPC_EmitMergeInputChains1_0, 2324 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs, 2325 MVT::i64, 2, 1, 2, 2326 0, 2327 39, 2328 OPC_CheckChild1Type, MVT::i32, 2329 OPC_RecordChild2, 2330 OPC_CheckChild2Type, MVT::i32, 2331 OPC_Scope, 15, 2332 OPC_CheckPredicate, 12, 2333 OPC_CheckPredicate, 22, 2334 OPC_CheckPatternPredicate, 5, 2335 OPC_EmitMergeInputChains1_0, 2336 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs, 2337 MVT::i32, 2, 1, 2, 2338 15, 2339 OPC_CheckPredicate, 20, 2340 OPC_CheckPredicate, 22, 2341 OPC_CheckPatternPredicate, 3, 2342 OPC_EmitMergeInputChains1_0, 2343 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs, 2344 MVT::i32, 2, 1, 2, 2345 0, 2346 0, 2347 0, 2348 104|128,2, TARGET_VAL(ISD::ADD), 2349 OPC_Scope, 9|128,1, 2350 OPC_RecordChild0, 2351 OPC_Scope, 46, 2352 OPC_RecordChild1, 2353 OPC_MoveChild1, 2354 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 2355 OPC_CheckPredicate, 3, 2356 OPC_MoveParent, 2357 OPC_CheckPredicate, 4, 2358 OPC_SwitchType , 15, MVT::i32, 2359 OPC_CheckPatternPredicate, 2, 2360 OPC_CheckComplexPat, /*CP*/0, /*#*/0, 2361 OPC_EmitConvertToTarget, 1, 2362 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADDI_W), 0, 2363 MVT::i32, 2, 2, 3, 2364 15, MVT::i64, 2365 OPC_CheckPatternPredicate, 0, 2366 OPC_CheckComplexPat, /*CP*/0, /*#*/0, 2367 OPC_EmitConvertToTarget, 1, 2368 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADDI_D), 0, 2369 MVT::i64, 2, 2, 3, 2370 0, 2371 86, 2372 OPC_MoveChild1, 2373 OPC_CheckOpcode, TARGET_VAL(ISD::SHL), 2374 OPC_RecordChild0, 2375 OPC_RecordChild1, 2376 OPC_MoveChild1, 2377 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 2378 OPC_CheckPredicate, 0, 2379 OPC_SwitchType , 34, MVT::i64, 2380 OPC_MoveParent, 2381 OPC_MoveParent, 2382 OPC_CheckType, MVT::i64, 2383 OPC_Scope, 13, 2384 OPC_CheckPatternPredicate, 1, 2385 OPC_EmitConvertToTarget, 2, 2386 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_W), 0, 2387 MVT::i64, 3, 1, 0, 3, 2388 13, 2389 OPC_CheckPatternPredicate, 0, 2390 OPC_EmitConvertToTarget, 2, 2391 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_D), 0, 2392 MVT::i64, 3, 1, 0, 3, 2393 0, 2394 34, MVT::i32, 2395 OPC_MoveParent, 2396 OPC_MoveParent, 2397 OPC_CheckType, MVT::i32, 2398 OPC_Scope, 13, 2399 OPC_CheckPatternPredicate, 2, 2400 OPC_EmitConvertToTarget, 2, 2401 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_W), 0, 2402 MVT::i32, 3, 1, 0, 3, 2403 13, 2404 OPC_CheckPatternPredicate, 3, 2405 OPC_EmitConvertToTarget, 2, 2406 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_D), 0, 2407 MVT::i32, 3, 1, 0, 3, 2408 0, 2409 0, 2410 0, 2411 88, 2412 OPC_MoveChild0, 2413 OPC_CheckOpcode, TARGET_VAL(ISD::SHL), 2414 OPC_RecordChild0, 2415 OPC_RecordChild1, 2416 OPC_MoveChild1, 2417 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 2418 OPC_CheckPredicate, 0, 2419 OPC_SwitchType , 35, MVT::i64, 2420 OPC_MoveParent, 2421 OPC_MoveParent, 2422 OPC_RecordChild1, 2423 OPC_CheckType, MVT::i64, 2424 OPC_Scope, 13, 2425 OPC_CheckPatternPredicate, 1, 2426 OPC_EmitConvertToTarget, 1, 2427 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_W), 0, 2428 MVT::i64, 3, 0, 2, 3, 2429 13, 2430 OPC_CheckPatternPredicate, 0, 2431 OPC_EmitConvertToTarget, 1, 2432 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_D), 0, 2433 MVT::i64, 3, 0, 2, 3, 2434 0, 2435 35, MVT::i32, 2436 OPC_MoveParent, 2437 OPC_MoveParent, 2438 OPC_RecordChild1, 2439 OPC_CheckType, MVT::i32, 2440 OPC_Scope, 13, 2441 OPC_CheckPatternPredicate, 2, 2442 OPC_EmitConvertToTarget, 1, 2443 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_W), 0, 2444 MVT::i32, 3, 0, 2, 3, 2445 13, 2446 OPC_CheckPatternPredicate, 3, 2447 OPC_EmitConvertToTarget, 1, 2448 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ALSL_D), 0, 2449 MVT::i32, 3, 0, 2, 3, 2450 0, 2451 0, 2452 0|128,1, 2453 OPC_RecordChild0, 2454 OPC_RecordChild1, 2455 OPC_Scope, 69, 2456 OPC_MoveChild1, 2457 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 2458 OPC_CheckPredicate, 3, 2459 OPC_MoveParent, 2460 OPC_SwitchType , 28, MVT::i64, 2461 OPC_Scope, 12, 2462 OPC_CheckPatternPredicate, 1, 2463 OPC_EmitConvertToTarget, 1, 2464 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADDI_W), 0, 2465 MVT::i64, 2, 0, 2, 2466 12, 2467 OPC_CheckPatternPredicate, 0, 2468 OPC_EmitConvertToTarget, 1, 2469 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADDI_D), 0, 2470 MVT::i64, 2, 0, 2, 2471 0, 2472 28, MVT::i32, 2473 OPC_Scope, 12, 2474 OPC_CheckPatternPredicate, 2, 2475 OPC_EmitConvertToTarget, 1, 2476 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADDI_W), 0, 2477 MVT::i32, 2, 0, 2, 2478 12, 2479 OPC_CheckPatternPredicate, 3, 2480 OPC_EmitConvertToTarget, 1, 2481 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADDI_D), 0, 2482 MVT::i32, 2, 0, 2, 2483 0, 2484 0, 2485 26, 2486 OPC_CheckType, MVT::i64, 2487 OPC_Scope, 10, 2488 OPC_CheckPatternPredicate, 1, 2489 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADD_W), 0, 2490 MVT::i64, 2, 0, 1, 2491 10, 2492 OPC_CheckPatternPredicate, 0, 2493 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADD_D), 0, 2494 MVT::i64, 2, 0, 1, 2495 0, 2496 26, 2497 OPC_CheckType, MVT::i32, 2498 OPC_Scope, 10, 2499 OPC_CheckPatternPredicate, 2, 2500 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADD_W), 0, 2501 MVT::i32, 2, 0, 1, 2502 10, 2503 OPC_CheckPatternPredicate, 3, 2504 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADD_D), 0, 2505 MVT::i32, 2, 0, 1, 2506 0, 2507 0, 2508 0, 2509 65|128,1, TARGET_VAL(ISD::OR), 2510 OPC_Scope, 85, 2511 OPC_RecordChild0, 2512 OPC_Scope, 46, 2513 OPC_RecordChild1, 2514 OPC_MoveChild1, 2515 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 2516 OPC_CheckPredicate, 3, 2517 OPC_MoveParent, 2518 OPC_CheckPredicate, 4, 2519 OPC_SwitchType , 15, MVT::i32, 2520 OPC_CheckPatternPredicate, 2, 2521 OPC_CheckComplexPat, /*CP*/0, /*#*/0, 2522 OPC_EmitConvertToTarget, 1, 2523 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADDI_W), 0, 2524 MVT::i32, 2, 2, 3, 2525 15, MVT::i64, 2526 OPC_CheckPatternPredicate, 0, 2527 OPC_CheckComplexPat, /*CP*/0, /*#*/0, 2528 OPC_EmitConvertToTarget, 1, 2529 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADDI_D), 0, 2530 MVT::i64, 2, 2, 3, 2531 0, 2532 34, 2533 OPC_MoveChild1, 2534 OPC_CheckOpcode, TARGET_VAL(ISD::XOR), 2535 OPC_RecordChild0, 2536 OPC_CheckChild1Integer, 3, 2537 OPC_MoveParent, 2538 OPC_SwitchType , 10, MVT::i64, 2539 OPC_CheckPatternPredicate, 4, 2540 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ORN), 0, 2541 MVT::i64, 2, 0, 1, 2542 10, MVT::i32, 2543 OPC_CheckPatternPredicate, 5, 2544 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ORN), 0, 2545 MVT::i32, 2, 0, 1, 2546 0, 2547 0, 2548 35, 2549 OPC_MoveChild0, 2550 OPC_CheckOpcode, TARGET_VAL(ISD::XOR), 2551 OPC_RecordChild0, 2552 OPC_CheckChild1Integer, 3, 2553 OPC_MoveParent, 2554 OPC_RecordChild1, 2555 OPC_SwitchType , 10, MVT::i64, 2556 OPC_CheckPatternPredicate, 4, 2557 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ORN), 0, 2558 MVT::i64, 2, 1, 0, 2559 10, MVT::i32, 2560 OPC_CheckPatternPredicate, 5, 2561 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ORN), 0, 2562 MVT::i32, 2, 1, 0, 2563 0, 2564 68, 2565 OPC_RecordChild0, 2566 OPC_RecordChild1, 2567 OPC_Scope, 37, 2568 OPC_MoveChild1, 2569 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 2570 OPC_CheckPredicate, 23, 2571 OPC_MoveParent, 2572 OPC_SwitchType , 12, MVT::i64, 2573 OPC_CheckPatternPredicate, 4, 2574 OPC_EmitConvertToTarget, 1, 2575 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ORI), 0, 2576 MVT::i64, 2, 0, 2, 2577 12, MVT::i32, 2578 OPC_CheckPatternPredicate, 5, 2579 OPC_EmitConvertToTarget, 1, 2580 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ORI), 0, 2581 MVT::i32, 2, 0, 2, 2582 0, 2583 12, 2584 OPC_CheckType, MVT::i64, 2585 OPC_CheckPatternPredicate, 4, 2586 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::OR), 0, 2587 MVT::i64, 2, 0, 1, 2588 12, 2589 OPC_CheckType, MVT::i32, 2590 OPC_CheckPatternPredicate, 5, 2591 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::OR), 0, 2592 MVT::i32, 2, 0, 1, 2593 0, 2594 0, 2595 112, TARGET_VAL(ISD::INTRINSIC_VOID), 2596 OPC_RecordNode, 2597 OPC_Scope, 31, 2598 OPC_CheckChild1Integer, 14|128,75, 2599 OPC_RecordChild2, 2600 OPC_MoveChild2, 2601 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 2602 OPC_MoveParent, 2603 OPC_RecordChild3, 2604 OPC_RecordChild4, 2605 OPC_MoveChild4, 2606 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 2607 OPC_MoveParent, 2608 OPC_CheckPatternPredicate, 4, 2609 OPC_EmitMergeInputChains1_0, 2610 OPC_EmitConvertToTarget, 1, 2611 OPC_EmitConvertToTarget, 3, 2612 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::CACOP), 0|OPFL_Chain, 2613 3, 4, 2, 5, 2614 22, 2615 OPC_CheckChild1Integer, 70|128,75, 2616 OPC_RecordChild2, 2617 OPC_RecordChild3, 2618 OPC_MoveChild3, 2619 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 2620 OPC_MoveParent, 2621 OPC_CheckPatternPredicate, 0, 2622 OPC_EmitMergeInputChains1_0, 2623 OPC_EmitConvertToTarget, 2, 2624 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::LDPTE), 0|OPFL_Chain, 2625 2, 1, 3, 2626 21, 2627 OPC_CheckChild1Integer, 16|128,75, 2628 OPC_RecordChild2, 2629 OPC_RecordChild3, 2630 OPC_RecordChild4, 2631 OPC_CheckPatternPredicate, 5, 2632 OPC_EmitMergeInputChains1_0, 2633 OPC_EmitConvertToTarget, 1, 2634 OPC_EmitConvertToTarget, 3, 2635 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::CACOP), 0|OPFL_Chain, 2636 3, 4, 2, 5, 2637 15, 2638 OPC_CheckChild1Integer, 10|128,75, 2639 OPC_RecordChild2, 2640 OPC_RecordChild3, 2641 OPC_CheckPatternPredicate, 0, 2642 OPC_EmitMergeInputChains1_0, 2643 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ASRTLE_D), 0|OPFL_Chain, 2644 2, 1, 2, 2645 15, 2646 OPC_CheckChild1Integer, 8|128,75, 2647 OPC_RecordChild2, 2648 OPC_RecordChild3, 2649 OPC_CheckPatternPredicate, 0, 2650 OPC_EmitMergeInputChains1_0, 2651 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ASRTGT_D), 0|OPFL_Chain, 2652 2, 1, 2, 2653 0, 2654 94|128,25, TARGET_VAL(ISD::BRCOND), 2655 OPC_RecordNode, 2656 OPC_Scope, 47|128,25, 2657 OPC_MoveChild1, 2658 OPC_SwitchOpcode , 105|128,10, TARGET_VAL(ISD::XOR), 2659 OPC_MoveChild0, 2660 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC), 2661 OPC_RecordChild0, 2662 OPC_Scope, 47|128,5, 2663 OPC_CheckChild0Type, MVT::f32, 2664 OPC_RecordChild1, 2665 OPC_Scope, 61, 2666 OPC_CheckChild2CondCode, ISD::SETOEQ, 2667 OPC_MoveParent, 2668 OPC_CheckChild1Integer, 3, 2669 OPC_SwitchType , 25, MVT::i64, 2670 OPC_MoveParent, 2671 OPC_RecordChild2, 2672 OPC_MoveChild2, 2673 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2674 OPC_MoveParent, 2675 OPC_CheckPatternPredicate, 6, 2676 OPC_EmitMergeInputChains1_0, 2677 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0, 2678 MVT::i64, 2, 1, 2, 2679 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2680 2, 4, 3, 2681 25, MVT::i32, 2682 OPC_MoveParent, 2683 OPC_RecordChild2, 2684 OPC_MoveChild2, 2685 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2686 OPC_MoveParent, 2687 OPC_CheckPatternPredicate, 8, 2688 OPC_EmitMergeInputChains1_0, 2689 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0, 2690 MVT::i32, 2, 1, 2, 2691 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2692 2, 4, 3, 2693 0, 2694 61, 2695 OPC_CheckChild2CondCode, ISD::SETOLT, 2696 OPC_MoveParent, 2697 OPC_CheckChild1Integer, 3, 2698 OPC_SwitchType , 25, MVT::i64, 2699 OPC_MoveParent, 2700 OPC_RecordChild2, 2701 OPC_MoveChild2, 2702 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2703 OPC_MoveParent, 2704 OPC_CheckPatternPredicate, 6, 2705 OPC_EmitMergeInputChains1_0, 2706 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 2707 MVT::i64, 2, 1, 2, 2708 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2709 2, 4, 3, 2710 25, MVT::i32, 2711 OPC_MoveParent, 2712 OPC_RecordChild2, 2713 OPC_MoveChild2, 2714 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2715 OPC_MoveParent, 2716 OPC_CheckPatternPredicate, 8, 2717 OPC_EmitMergeInputChains1_0, 2718 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 2719 MVT::i32, 2, 1, 2, 2720 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2721 2, 4, 3, 2722 0, 2723 61, 2724 OPC_CheckChild2CondCode, ISD::SETOLE, 2725 OPC_MoveParent, 2726 OPC_CheckChild1Integer, 3, 2727 OPC_SwitchType , 25, MVT::i64, 2728 OPC_MoveParent, 2729 OPC_RecordChild2, 2730 OPC_MoveChild2, 2731 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2732 OPC_MoveParent, 2733 OPC_CheckPatternPredicate, 6, 2734 OPC_EmitMergeInputChains1_0, 2735 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0, 2736 MVT::i64, 2, 1, 2, 2737 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2738 2, 4, 3, 2739 25, MVT::i32, 2740 OPC_MoveParent, 2741 OPC_RecordChild2, 2742 OPC_MoveChild2, 2743 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2744 OPC_MoveParent, 2745 OPC_CheckPatternPredicate, 8, 2746 OPC_EmitMergeInputChains1_0, 2747 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0, 2748 MVT::i32, 2, 1, 2, 2749 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2750 2, 4, 3, 2751 0, 2752 61, 2753 OPC_CheckChild2CondCode, ISD::SETONE, 2754 OPC_MoveParent, 2755 OPC_CheckChild1Integer, 3, 2756 OPC_SwitchType , 25, MVT::i64, 2757 OPC_MoveParent, 2758 OPC_RecordChild2, 2759 OPC_MoveChild2, 2760 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2761 OPC_MoveParent, 2762 OPC_CheckPatternPredicate, 6, 2763 OPC_EmitMergeInputChains1_0, 2764 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_S), 0, 2765 MVT::i64, 2, 1, 2, 2766 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2767 2, 4, 3, 2768 25, MVT::i32, 2769 OPC_MoveParent, 2770 OPC_RecordChild2, 2771 OPC_MoveChild2, 2772 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2773 OPC_MoveParent, 2774 OPC_CheckPatternPredicate, 8, 2775 OPC_EmitMergeInputChains1_0, 2776 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_S), 0, 2777 MVT::i32, 2, 1, 2, 2778 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2779 2, 4, 3, 2780 0, 2781 61, 2782 OPC_CheckChild2CondCode, ISD::SETO, 2783 OPC_MoveParent, 2784 OPC_CheckChild1Integer, 3, 2785 OPC_SwitchType , 25, MVT::i64, 2786 OPC_MoveParent, 2787 OPC_RecordChild2, 2788 OPC_MoveChild2, 2789 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2790 OPC_MoveParent, 2791 OPC_CheckPatternPredicate, 6, 2792 OPC_EmitMergeInputChains1_0, 2793 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_S), 0, 2794 MVT::i64, 2, 1, 2, 2795 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2796 2, 4, 3, 2797 25, MVT::i32, 2798 OPC_MoveParent, 2799 OPC_RecordChild2, 2800 OPC_MoveChild2, 2801 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2802 OPC_MoveParent, 2803 OPC_CheckPatternPredicate, 8, 2804 OPC_EmitMergeInputChains1_0, 2805 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_S), 0, 2806 MVT::i32, 2, 1, 2, 2807 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2808 2, 4, 3, 2809 0, 2810 61, 2811 OPC_CheckChild2CondCode, ISD::SETUEQ, 2812 OPC_MoveParent, 2813 OPC_CheckChild1Integer, 3, 2814 OPC_SwitchType , 25, MVT::i64, 2815 OPC_MoveParent, 2816 OPC_RecordChild2, 2817 OPC_MoveChild2, 2818 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2819 OPC_MoveParent, 2820 OPC_CheckPatternPredicate, 6, 2821 OPC_EmitMergeInputChains1_0, 2822 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0, 2823 MVT::i64, 2, 1, 2, 2824 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2825 2, 4, 3, 2826 25, MVT::i32, 2827 OPC_MoveParent, 2828 OPC_RecordChild2, 2829 OPC_MoveChild2, 2830 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2831 OPC_MoveParent, 2832 OPC_CheckPatternPredicate, 8, 2833 OPC_EmitMergeInputChains1_0, 2834 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0, 2835 MVT::i32, 2, 1, 2, 2836 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2837 2, 4, 3, 2838 0, 2839 61, 2840 OPC_CheckChild2CondCode, ISD::SETULT, 2841 OPC_MoveParent, 2842 OPC_CheckChild1Integer, 3, 2843 OPC_SwitchType , 25, MVT::i64, 2844 OPC_MoveParent, 2845 OPC_RecordChild2, 2846 OPC_MoveChild2, 2847 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2848 OPC_MoveParent, 2849 OPC_CheckPatternPredicate, 6, 2850 OPC_EmitMergeInputChains1_0, 2851 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_S), 0, 2852 MVT::i64, 2, 1, 2, 2853 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2854 2, 4, 3, 2855 25, MVT::i32, 2856 OPC_MoveParent, 2857 OPC_RecordChild2, 2858 OPC_MoveChild2, 2859 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2860 OPC_MoveParent, 2861 OPC_CheckPatternPredicate, 8, 2862 OPC_EmitMergeInputChains1_0, 2863 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_S), 0, 2864 MVT::i32, 2, 1, 2, 2865 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2866 2, 4, 3, 2867 0, 2868 61, 2869 OPC_CheckChild2CondCode, ISD::SETULE, 2870 OPC_MoveParent, 2871 OPC_CheckChild1Integer, 3, 2872 OPC_SwitchType , 25, MVT::i64, 2873 OPC_MoveParent, 2874 OPC_RecordChild2, 2875 OPC_MoveChild2, 2876 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2877 OPC_MoveParent, 2878 OPC_CheckPatternPredicate, 6, 2879 OPC_EmitMergeInputChains1_0, 2880 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_S), 0, 2881 MVT::i64, 2, 1, 2, 2882 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2883 2, 4, 3, 2884 25, MVT::i32, 2885 OPC_MoveParent, 2886 OPC_RecordChild2, 2887 OPC_MoveChild2, 2888 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2889 OPC_MoveParent, 2890 OPC_CheckPatternPredicate, 8, 2891 OPC_EmitMergeInputChains1_0, 2892 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_S), 0, 2893 MVT::i32, 2, 1, 2, 2894 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2895 2, 4, 3, 2896 0, 2897 61, 2898 OPC_CheckChild2CondCode, ISD::SETUNE, 2899 OPC_MoveParent, 2900 OPC_CheckChild1Integer, 3, 2901 OPC_SwitchType , 25, MVT::i64, 2902 OPC_MoveParent, 2903 OPC_RecordChild2, 2904 OPC_MoveChild2, 2905 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2906 OPC_MoveParent, 2907 OPC_CheckPatternPredicate, 6, 2908 OPC_EmitMergeInputChains1_0, 2909 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0, 2910 MVT::i64, 2, 1, 2, 2911 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2912 2, 4, 3, 2913 25, MVT::i32, 2914 OPC_MoveParent, 2915 OPC_RecordChild2, 2916 OPC_MoveChild2, 2917 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2918 OPC_MoveParent, 2919 OPC_CheckPatternPredicate, 8, 2920 OPC_EmitMergeInputChains1_0, 2921 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0, 2922 MVT::i32, 2, 1, 2, 2923 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2924 2, 4, 3, 2925 0, 2926 61, 2927 OPC_CheckChild2CondCode, ISD::SETUO, 2928 OPC_MoveParent, 2929 OPC_CheckChild1Integer, 3, 2930 OPC_SwitchType , 25, MVT::i64, 2931 OPC_MoveParent, 2932 OPC_RecordChild2, 2933 OPC_MoveChild2, 2934 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2935 OPC_MoveParent, 2936 OPC_CheckPatternPredicate, 6, 2937 OPC_EmitMergeInputChains1_0, 2938 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_S), 0, 2939 MVT::i64, 2, 1, 2, 2940 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2941 2, 4, 3, 2942 25, MVT::i32, 2943 OPC_MoveParent, 2944 OPC_RecordChild2, 2945 OPC_MoveChild2, 2946 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2947 OPC_MoveParent, 2948 OPC_CheckPatternPredicate, 8, 2949 OPC_EmitMergeInputChains1_0, 2950 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_S), 0, 2951 MVT::i32, 2, 1, 2, 2952 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2953 2, 4, 3, 2954 0, 2955 61, 2956 OPC_CheckChild2CondCode, ISD::SETLT, 2957 OPC_MoveParent, 2958 OPC_CheckChild1Integer, 3, 2959 OPC_SwitchType , 25, MVT::i64, 2960 OPC_MoveParent, 2961 OPC_RecordChild2, 2962 OPC_MoveChild2, 2963 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2964 OPC_MoveParent, 2965 OPC_CheckPatternPredicate, 6, 2966 OPC_EmitMergeInputChains1_0, 2967 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 2968 MVT::i64, 2, 1, 2, 2969 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2970 2, 4, 3, 2971 25, MVT::i32, 2972 OPC_MoveParent, 2973 OPC_RecordChild2, 2974 OPC_MoveChild2, 2975 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2976 OPC_MoveParent, 2977 OPC_CheckPatternPredicate, 8, 2978 OPC_EmitMergeInputChains1_0, 2979 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 2980 MVT::i32, 2, 1, 2, 2981 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 2982 2, 4, 3, 2983 0, 2984 0, 2985 47|128,5, 2986 OPC_CheckChild0Type, MVT::f64, 2987 OPC_RecordChild1, 2988 OPC_Scope, 61, 2989 OPC_CheckChild2CondCode, ISD::SETOEQ, 2990 OPC_MoveParent, 2991 OPC_CheckChild1Integer, 3, 2992 OPC_SwitchType , 25, MVT::i64, 2993 OPC_MoveParent, 2994 OPC_RecordChild2, 2995 OPC_MoveChild2, 2996 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 2997 OPC_MoveParent, 2998 OPC_CheckPatternPredicate, 7, 2999 OPC_EmitMergeInputChains1_0, 3000 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0, 3001 MVT::i64, 2, 1, 2, 3002 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3003 2, 4, 3, 3004 25, MVT::i32, 3005 OPC_MoveParent, 3006 OPC_RecordChild2, 3007 OPC_MoveChild2, 3008 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3009 OPC_MoveParent, 3010 OPC_CheckPatternPredicate, 9, 3011 OPC_EmitMergeInputChains1_0, 3012 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0, 3013 MVT::i32, 2, 1, 2, 3014 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3015 2, 4, 3, 3016 0, 3017 61, 3018 OPC_CheckChild2CondCode, ISD::SETOLT, 3019 OPC_MoveParent, 3020 OPC_CheckChild1Integer, 3, 3021 OPC_SwitchType , 25, MVT::i64, 3022 OPC_MoveParent, 3023 OPC_RecordChild2, 3024 OPC_MoveChild2, 3025 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3026 OPC_MoveParent, 3027 OPC_CheckPatternPredicate, 7, 3028 OPC_EmitMergeInputChains1_0, 3029 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 3030 MVT::i64, 2, 1, 2, 3031 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3032 2, 4, 3, 3033 25, MVT::i32, 3034 OPC_MoveParent, 3035 OPC_RecordChild2, 3036 OPC_MoveChild2, 3037 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3038 OPC_MoveParent, 3039 OPC_CheckPatternPredicate, 9, 3040 OPC_EmitMergeInputChains1_0, 3041 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 3042 MVT::i32, 2, 1, 2, 3043 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3044 2, 4, 3, 3045 0, 3046 61, 3047 OPC_CheckChild2CondCode, ISD::SETOLE, 3048 OPC_MoveParent, 3049 OPC_CheckChild1Integer, 3, 3050 OPC_SwitchType , 25, MVT::i64, 3051 OPC_MoveParent, 3052 OPC_RecordChild2, 3053 OPC_MoveChild2, 3054 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3055 OPC_MoveParent, 3056 OPC_CheckPatternPredicate, 7, 3057 OPC_EmitMergeInputChains1_0, 3058 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0, 3059 MVT::i64, 2, 1, 2, 3060 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3061 2, 4, 3, 3062 25, MVT::i32, 3063 OPC_MoveParent, 3064 OPC_RecordChild2, 3065 OPC_MoveChild2, 3066 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3067 OPC_MoveParent, 3068 OPC_CheckPatternPredicate, 9, 3069 OPC_EmitMergeInputChains1_0, 3070 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0, 3071 MVT::i32, 2, 1, 2, 3072 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3073 2, 4, 3, 3074 0, 3075 61, 3076 OPC_CheckChild2CondCode, ISD::SETONE, 3077 OPC_MoveParent, 3078 OPC_CheckChild1Integer, 3, 3079 OPC_SwitchType , 25, MVT::i64, 3080 OPC_MoveParent, 3081 OPC_RecordChild2, 3082 OPC_MoveChild2, 3083 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3084 OPC_MoveParent, 3085 OPC_CheckPatternPredicate, 7, 3086 OPC_EmitMergeInputChains1_0, 3087 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_D), 0, 3088 MVT::i64, 2, 1, 2, 3089 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3090 2, 4, 3, 3091 25, MVT::i32, 3092 OPC_MoveParent, 3093 OPC_RecordChild2, 3094 OPC_MoveChild2, 3095 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3096 OPC_MoveParent, 3097 OPC_CheckPatternPredicate, 9, 3098 OPC_EmitMergeInputChains1_0, 3099 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_D), 0, 3100 MVT::i32, 2, 1, 2, 3101 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3102 2, 4, 3, 3103 0, 3104 61, 3105 OPC_CheckChild2CondCode, ISD::SETO, 3106 OPC_MoveParent, 3107 OPC_CheckChild1Integer, 3, 3108 OPC_SwitchType , 25, MVT::i64, 3109 OPC_MoveParent, 3110 OPC_RecordChild2, 3111 OPC_MoveChild2, 3112 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3113 OPC_MoveParent, 3114 OPC_CheckPatternPredicate, 7, 3115 OPC_EmitMergeInputChains1_0, 3116 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_D), 0, 3117 MVT::i64, 2, 1, 2, 3118 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3119 2, 4, 3, 3120 25, MVT::i32, 3121 OPC_MoveParent, 3122 OPC_RecordChild2, 3123 OPC_MoveChild2, 3124 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3125 OPC_MoveParent, 3126 OPC_CheckPatternPredicate, 9, 3127 OPC_EmitMergeInputChains1_0, 3128 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_D), 0, 3129 MVT::i32, 2, 1, 2, 3130 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3131 2, 4, 3, 3132 0, 3133 61, 3134 OPC_CheckChild2CondCode, ISD::SETUEQ, 3135 OPC_MoveParent, 3136 OPC_CheckChild1Integer, 3, 3137 OPC_SwitchType , 25, MVT::i64, 3138 OPC_MoveParent, 3139 OPC_RecordChild2, 3140 OPC_MoveChild2, 3141 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3142 OPC_MoveParent, 3143 OPC_CheckPatternPredicate, 7, 3144 OPC_EmitMergeInputChains1_0, 3145 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0, 3146 MVT::i64, 2, 1, 2, 3147 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3148 2, 4, 3, 3149 25, MVT::i32, 3150 OPC_MoveParent, 3151 OPC_RecordChild2, 3152 OPC_MoveChild2, 3153 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3154 OPC_MoveParent, 3155 OPC_CheckPatternPredicate, 9, 3156 OPC_EmitMergeInputChains1_0, 3157 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0, 3158 MVT::i32, 2, 1, 2, 3159 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3160 2, 4, 3, 3161 0, 3162 61, 3163 OPC_CheckChild2CondCode, ISD::SETULT, 3164 OPC_MoveParent, 3165 OPC_CheckChild1Integer, 3, 3166 OPC_SwitchType , 25, MVT::i64, 3167 OPC_MoveParent, 3168 OPC_RecordChild2, 3169 OPC_MoveChild2, 3170 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3171 OPC_MoveParent, 3172 OPC_CheckPatternPredicate, 7, 3173 OPC_EmitMergeInputChains1_0, 3174 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_D), 0, 3175 MVT::i64, 2, 1, 2, 3176 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3177 2, 4, 3, 3178 25, MVT::i32, 3179 OPC_MoveParent, 3180 OPC_RecordChild2, 3181 OPC_MoveChild2, 3182 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3183 OPC_MoveParent, 3184 OPC_CheckPatternPredicate, 9, 3185 OPC_EmitMergeInputChains1_0, 3186 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_D), 0, 3187 MVT::i32, 2, 1, 2, 3188 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3189 2, 4, 3, 3190 0, 3191 61, 3192 OPC_CheckChild2CondCode, ISD::SETULE, 3193 OPC_MoveParent, 3194 OPC_CheckChild1Integer, 3, 3195 OPC_SwitchType , 25, MVT::i64, 3196 OPC_MoveParent, 3197 OPC_RecordChild2, 3198 OPC_MoveChild2, 3199 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3200 OPC_MoveParent, 3201 OPC_CheckPatternPredicate, 7, 3202 OPC_EmitMergeInputChains1_0, 3203 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_D), 0, 3204 MVT::i64, 2, 1, 2, 3205 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3206 2, 4, 3, 3207 25, MVT::i32, 3208 OPC_MoveParent, 3209 OPC_RecordChild2, 3210 OPC_MoveChild2, 3211 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3212 OPC_MoveParent, 3213 OPC_CheckPatternPredicate, 9, 3214 OPC_EmitMergeInputChains1_0, 3215 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_D), 0, 3216 MVT::i32, 2, 1, 2, 3217 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3218 2, 4, 3, 3219 0, 3220 61, 3221 OPC_CheckChild2CondCode, ISD::SETUNE, 3222 OPC_MoveParent, 3223 OPC_CheckChild1Integer, 3, 3224 OPC_SwitchType , 25, MVT::i64, 3225 OPC_MoveParent, 3226 OPC_RecordChild2, 3227 OPC_MoveChild2, 3228 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3229 OPC_MoveParent, 3230 OPC_CheckPatternPredicate, 7, 3231 OPC_EmitMergeInputChains1_0, 3232 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0, 3233 MVT::i64, 2, 1, 2, 3234 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3235 2, 4, 3, 3236 25, MVT::i32, 3237 OPC_MoveParent, 3238 OPC_RecordChild2, 3239 OPC_MoveChild2, 3240 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3241 OPC_MoveParent, 3242 OPC_CheckPatternPredicate, 9, 3243 OPC_EmitMergeInputChains1_0, 3244 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0, 3245 MVT::i32, 2, 1, 2, 3246 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3247 2, 4, 3, 3248 0, 3249 61, 3250 OPC_CheckChild2CondCode, ISD::SETUO, 3251 OPC_MoveParent, 3252 OPC_CheckChild1Integer, 3, 3253 OPC_SwitchType , 25, MVT::i64, 3254 OPC_MoveParent, 3255 OPC_RecordChild2, 3256 OPC_MoveChild2, 3257 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3258 OPC_MoveParent, 3259 OPC_CheckPatternPredicate, 7, 3260 OPC_EmitMergeInputChains1_0, 3261 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_D), 0, 3262 MVT::i64, 2, 1, 2, 3263 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3264 2, 4, 3, 3265 25, MVT::i32, 3266 OPC_MoveParent, 3267 OPC_RecordChild2, 3268 OPC_MoveChild2, 3269 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3270 OPC_MoveParent, 3271 OPC_CheckPatternPredicate, 9, 3272 OPC_EmitMergeInputChains1_0, 3273 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_D), 0, 3274 MVT::i32, 2, 1, 2, 3275 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3276 2, 4, 3, 3277 0, 3278 61, 3279 OPC_CheckChild2CondCode, ISD::SETLT, 3280 OPC_MoveParent, 3281 OPC_CheckChild1Integer, 3, 3282 OPC_SwitchType , 25, MVT::i64, 3283 OPC_MoveParent, 3284 OPC_RecordChild2, 3285 OPC_MoveChild2, 3286 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3287 OPC_MoveParent, 3288 OPC_CheckPatternPredicate, 7, 3289 OPC_EmitMergeInputChains1_0, 3290 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 3291 MVT::i64, 2, 1, 2, 3292 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3293 2, 4, 3, 3294 25, MVT::i32, 3295 OPC_MoveParent, 3296 OPC_RecordChild2, 3297 OPC_MoveChild2, 3298 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3299 OPC_MoveParent, 3300 OPC_CheckPatternPredicate, 9, 3301 OPC_EmitMergeInputChains1_0, 3302 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 3303 MVT::i32, 2, 1, 2, 3304 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCEQZ), 0|OPFL_Chain, 3305 2, 4, 3, 3306 0, 3307 0, 3308 0, 3309 59|128,14, TARGET_VAL(ISD::SETCC), 3310 OPC_RecordChild0, 3311 OPC_Scope, 10|128,2, 3312 OPC_CheckChild0Type, MVT::i64, 3313 OPC_CheckType, MVT::i64, 3314 OPC_Scope, 44, 3315 OPC_CheckChild1Integer, 0, 3316 OPC_Scope, 19, 3317 OPC_CheckChild2CondCode, ISD::SETEQ, 3318 OPC_MoveParent, 3319 OPC_RecordChild2, 3320 OPC_MoveChild2, 3321 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3322 OPC_MoveParent, 3323 OPC_CheckPatternPredicate, 4, 3324 OPC_EmitMergeInputChains1_0, 3325 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BEQZ), 0|OPFL_Chain, 3326 2, 1, 2, 3327 19, 3328 OPC_CheckChild2CondCode, ISD::SETNE, 3329 OPC_MoveParent, 3330 OPC_RecordChild2, 3331 OPC_MoveChild2, 3332 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3333 OPC_MoveParent, 3334 OPC_CheckPatternPredicate, 4, 3335 OPC_EmitMergeInputChains1_0, 3336 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BNEZ), 0|OPFL_Chain, 3337 2, 1, 2, 3338 0, 3339 85|128,1, 3340 OPC_RecordChild1, 3341 OPC_Scope, 20, 3342 OPC_CheckChild2CondCode, ISD::SETEQ, 3343 OPC_MoveParent, 3344 OPC_RecordChild2, 3345 OPC_MoveChild2, 3346 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3347 OPC_MoveParent, 3348 OPC_CheckPatternPredicate, 4, 3349 OPC_EmitMergeInputChains1_0, 3350 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BEQ), 0|OPFL_Chain, 3351 3, 1, 2, 3, 3352 20, 3353 OPC_CheckChild2CondCode, ISD::SETNE, 3354 OPC_MoveParent, 3355 OPC_RecordChild2, 3356 OPC_MoveChild2, 3357 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3358 OPC_MoveParent, 3359 OPC_CheckPatternPredicate, 4, 3360 OPC_EmitMergeInputChains1_0, 3361 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BNE), 0|OPFL_Chain, 3362 3, 1, 2, 3, 3363 20, 3364 OPC_CheckChild2CondCode, ISD::SETLT, 3365 OPC_MoveParent, 3366 OPC_RecordChild2, 3367 OPC_MoveChild2, 3368 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3369 OPC_MoveParent, 3370 OPC_CheckPatternPredicate, 4, 3371 OPC_EmitMergeInputChains1_0, 3372 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BLT), 0|OPFL_Chain, 3373 3, 1, 2, 3, 3374 20, 3375 OPC_CheckChild2CondCode, ISD::SETGE, 3376 OPC_MoveParent, 3377 OPC_RecordChild2, 3378 OPC_MoveChild2, 3379 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3380 OPC_MoveParent, 3381 OPC_CheckPatternPredicate, 4, 3382 OPC_EmitMergeInputChains1_0, 3383 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BGE), 0|OPFL_Chain, 3384 3, 1, 2, 3, 3385 20, 3386 OPC_CheckChild2CondCode, ISD::SETULT, 3387 OPC_MoveParent, 3388 OPC_RecordChild2, 3389 OPC_MoveChild2, 3390 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3391 OPC_MoveParent, 3392 OPC_CheckPatternPredicate, 4, 3393 OPC_EmitMergeInputChains1_0, 3394 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BLTU), 0|OPFL_Chain, 3395 3, 1, 2, 3, 3396 20, 3397 OPC_CheckChild2CondCode, ISD::SETUGE, 3398 OPC_MoveParent, 3399 OPC_RecordChild2, 3400 OPC_MoveChild2, 3401 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3402 OPC_MoveParent, 3403 OPC_CheckPatternPredicate, 4, 3404 OPC_EmitMergeInputChains1_0, 3405 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BGEU), 0|OPFL_Chain, 3406 3, 1, 2, 3, 3407 20, 3408 OPC_CheckChild2CondCode, ISD::SETGT, 3409 OPC_MoveParent, 3410 OPC_RecordChild2, 3411 OPC_MoveChild2, 3412 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3413 OPC_MoveParent, 3414 OPC_CheckPatternPredicate, 4, 3415 OPC_EmitMergeInputChains1_0, 3416 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BLT), 0|OPFL_Chain, 3417 3, 2, 1, 3, 3418 20, 3419 OPC_CheckChild2CondCode, ISD::SETLE, 3420 OPC_MoveParent, 3421 OPC_RecordChild2, 3422 OPC_MoveChild2, 3423 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3424 OPC_MoveParent, 3425 OPC_CheckPatternPredicate, 4, 3426 OPC_EmitMergeInputChains1_0, 3427 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BGE), 0|OPFL_Chain, 3428 3, 2, 1, 3, 3429 20, 3430 OPC_CheckChild2CondCode, ISD::SETUGT, 3431 OPC_MoveParent, 3432 OPC_RecordChild2, 3433 OPC_MoveChild2, 3434 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3435 OPC_MoveParent, 3436 OPC_CheckPatternPredicate, 4, 3437 OPC_EmitMergeInputChains1_0, 3438 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BLTU), 0|OPFL_Chain, 3439 3, 2, 1, 3, 3440 20, 3441 OPC_CheckChild2CondCode, ISD::SETULE, 3442 OPC_MoveParent, 3443 OPC_RecordChild2, 3444 OPC_MoveChild2, 3445 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3446 OPC_MoveParent, 3447 OPC_CheckPatternPredicate, 4, 3448 OPC_EmitMergeInputChains1_0, 3449 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BGEU), 0|OPFL_Chain, 3450 3, 2, 1, 3, 3451 0, 3452 0, 3453 10|128,2, 3454 OPC_CheckChild0Type, MVT::i32, 3455 OPC_CheckType, MVT::i32, 3456 OPC_Scope, 44, 3457 OPC_CheckChild1Integer, 0, 3458 OPC_Scope, 19, 3459 OPC_CheckChild2CondCode, ISD::SETEQ, 3460 OPC_MoveParent, 3461 OPC_RecordChild2, 3462 OPC_MoveChild2, 3463 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3464 OPC_MoveParent, 3465 OPC_CheckPatternPredicate, 5, 3466 OPC_EmitMergeInputChains1_0, 3467 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BEQZ), 0|OPFL_Chain, 3468 2, 1, 2, 3469 19, 3470 OPC_CheckChild2CondCode, ISD::SETNE, 3471 OPC_MoveParent, 3472 OPC_RecordChild2, 3473 OPC_MoveChild2, 3474 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3475 OPC_MoveParent, 3476 OPC_CheckPatternPredicate, 5, 3477 OPC_EmitMergeInputChains1_0, 3478 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BNEZ), 0|OPFL_Chain, 3479 2, 1, 2, 3480 0, 3481 85|128,1, 3482 OPC_RecordChild1, 3483 OPC_Scope, 20, 3484 OPC_CheckChild2CondCode, ISD::SETEQ, 3485 OPC_MoveParent, 3486 OPC_RecordChild2, 3487 OPC_MoveChild2, 3488 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3489 OPC_MoveParent, 3490 OPC_CheckPatternPredicate, 5, 3491 OPC_EmitMergeInputChains1_0, 3492 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BEQ), 0|OPFL_Chain, 3493 3, 1, 2, 3, 3494 20, 3495 OPC_CheckChild2CondCode, ISD::SETNE, 3496 OPC_MoveParent, 3497 OPC_RecordChild2, 3498 OPC_MoveChild2, 3499 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3500 OPC_MoveParent, 3501 OPC_CheckPatternPredicate, 5, 3502 OPC_EmitMergeInputChains1_0, 3503 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BNE), 0|OPFL_Chain, 3504 3, 1, 2, 3, 3505 20, 3506 OPC_CheckChild2CondCode, ISD::SETLT, 3507 OPC_MoveParent, 3508 OPC_RecordChild2, 3509 OPC_MoveChild2, 3510 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3511 OPC_MoveParent, 3512 OPC_CheckPatternPredicate, 5, 3513 OPC_EmitMergeInputChains1_0, 3514 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BLT), 0|OPFL_Chain, 3515 3, 1, 2, 3, 3516 20, 3517 OPC_CheckChild2CondCode, ISD::SETGE, 3518 OPC_MoveParent, 3519 OPC_RecordChild2, 3520 OPC_MoveChild2, 3521 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3522 OPC_MoveParent, 3523 OPC_CheckPatternPredicate, 5, 3524 OPC_EmitMergeInputChains1_0, 3525 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BGE), 0|OPFL_Chain, 3526 3, 1, 2, 3, 3527 20, 3528 OPC_CheckChild2CondCode, ISD::SETULT, 3529 OPC_MoveParent, 3530 OPC_RecordChild2, 3531 OPC_MoveChild2, 3532 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3533 OPC_MoveParent, 3534 OPC_CheckPatternPredicate, 5, 3535 OPC_EmitMergeInputChains1_0, 3536 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BLTU), 0|OPFL_Chain, 3537 3, 1, 2, 3, 3538 20, 3539 OPC_CheckChild2CondCode, ISD::SETUGE, 3540 OPC_MoveParent, 3541 OPC_RecordChild2, 3542 OPC_MoveChild2, 3543 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3544 OPC_MoveParent, 3545 OPC_CheckPatternPredicate, 5, 3546 OPC_EmitMergeInputChains1_0, 3547 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BGEU), 0|OPFL_Chain, 3548 3, 1, 2, 3, 3549 20, 3550 OPC_CheckChild2CondCode, ISD::SETGT, 3551 OPC_MoveParent, 3552 OPC_RecordChild2, 3553 OPC_MoveChild2, 3554 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3555 OPC_MoveParent, 3556 OPC_CheckPatternPredicate, 5, 3557 OPC_EmitMergeInputChains1_0, 3558 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BLT), 0|OPFL_Chain, 3559 3, 2, 1, 3, 3560 20, 3561 OPC_CheckChild2CondCode, ISD::SETLE, 3562 OPC_MoveParent, 3563 OPC_RecordChild2, 3564 OPC_MoveChild2, 3565 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3566 OPC_MoveParent, 3567 OPC_CheckPatternPredicate, 5, 3568 OPC_EmitMergeInputChains1_0, 3569 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BGE), 0|OPFL_Chain, 3570 3, 2, 1, 3, 3571 20, 3572 OPC_CheckChild2CondCode, ISD::SETUGT, 3573 OPC_MoveParent, 3574 OPC_RecordChild2, 3575 OPC_MoveChild2, 3576 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3577 OPC_MoveParent, 3578 OPC_CheckPatternPredicate, 5, 3579 OPC_EmitMergeInputChains1_0, 3580 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BLTU), 0|OPFL_Chain, 3581 3, 2, 1, 3, 3582 20, 3583 OPC_CheckChild2CondCode, ISD::SETULE, 3584 OPC_MoveParent, 3585 OPC_RecordChild2, 3586 OPC_MoveChild2, 3587 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3588 OPC_MoveParent, 3589 OPC_CheckPatternPredicate, 5, 3590 OPC_EmitMergeInputChains1_0, 3591 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BGEU), 0|OPFL_Chain, 3592 3, 2, 1, 3, 3593 0, 3594 0, 3595 14|128,5, 3596 OPC_CheckChild0Type, MVT::f32, 3597 OPC_RecordChild1, 3598 OPC_Scope, 58, 3599 OPC_CheckChild2CondCode, ISD::SETOEQ, 3600 OPC_SwitchType , 25, MVT::i64, 3601 OPC_MoveParent, 3602 OPC_RecordChild2, 3603 OPC_MoveChild2, 3604 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3605 OPC_MoveParent, 3606 OPC_CheckPatternPredicate, 6, 3607 OPC_EmitMergeInputChains1_0, 3608 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0, 3609 MVT::i64, 2, 1, 2, 3610 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3611 2, 4, 3, 3612 25, MVT::i32, 3613 OPC_MoveParent, 3614 OPC_RecordChild2, 3615 OPC_MoveChild2, 3616 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3617 OPC_MoveParent, 3618 OPC_CheckPatternPredicate, 8, 3619 OPC_EmitMergeInputChains1_0, 3620 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0, 3621 MVT::i32, 2, 1, 2, 3622 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3623 2, 4, 3, 3624 0, 3625 58, 3626 OPC_CheckChild2CondCode, ISD::SETOLT, 3627 OPC_SwitchType , 25, MVT::i64, 3628 OPC_MoveParent, 3629 OPC_RecordChild2, 3630 OPC_MoveChild2, 3631 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3632 OPC_MoveParent, 3633 OPC_CheckPatternPredicate, 6, 3634 OPC_EmitMergeInputChains1_0, 3635 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 3636 MVT::i64, 2, 1, 2, 3637 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3638 2, 4, 3, 3639 25, MVT::i32, 3640 OPC_MoveParent, 3641 OPC_RecordChild2, 3642 OPC_MoveChild2, 3643 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3644 OPC_MoveParent, 3645 OPC_CheckPatternPredicate, 8, 3646 OPC_EmitMergeInputChains1_0, 3647 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 3648 MVT::i32, 2, 1, 2, 3649 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3650 2, 4, 3, 3651 0, 3652 58, 3653 OPC_CheckChild2CondCode, ISD::SETOLE, 3654 OPC_SwitchType , 25, MVT::i64, 3655 OPC_MoveParent, 3656 OPC_RecordChild2, 3657 OPC_MoveChild2, 3658 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3659 OPC_MoveParent, 3660 OPC_CheckPatternPredicate, 6, 3661 OPC_EmitMergeInputChains1_0, 3662 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0, 3663 MVT::i64, 2, 1, 2, 3664 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3665 2, 4, 3, 3666 25, MVT::i32, 3667 OPC_MoveParent, 3668 OPC_RecordChild2, 3669 OPC_MoveChild2, 3670 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3671 OPC_MoveParent, 3672 OPC_CheckPatternPredicate, 8, 3673 OPC_EmitMergeInputChains1_0, 3674 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0, 3675 MVT::i32, 2, 1, 2, 3676 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3677 2, 4, 3, 3678 0, 3679 58, 3680 OPC_CheckChild2CondCode, ISD::SETONE, 3681 OPC_SwitchType , 25, MVT::i64, 3682 OPC_MoveParent, 3683 OPC_RecordChild2, 3684 OPC_MoveChild2, 3685 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3686 OPC_MoveParent, 3687 OPC_CheckPatternPredicate, 6, 3688 OPC_EmitMergeInputChains1_0, 3689 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_S), 0, 3690 MVT::i64, 2, 1, 2, 3691 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3692 2, 4, 3, 3693 25, MVT::i32, 3694 OPC_MoveParent, 3695 OPC_RecordChild2, 3696 OPC_MoveChild2, 3697 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3698 OPC_MoveParent, 3699 OPC_CheckPatternPredicate, 8, 3700 OPC_EmitMergeInputChains1_0, 3701 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_S), 0, 3702 MVT::i32, 2, 1, 2, 3703 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3704 2, 4, 3, 3705 0, 3706 58, 3707 OPC_CheckChild2CondCode, ISD::SETO, 3708 OPC_SwitchType , 25, MVT::i64, 3709 OPC_MoveParent, 3710 OPC_RecordChild2, 3711 OPC_MoveChild2, 3712 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3713 OPC_MoveParent, 3714 OPC_CheckPatternPredicate, 6, 3715 OPC_EmitMergeInputChains1_0, 3716 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_S), 0, 3717 MVT::i64, 2, 1, 2, 3718 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3719 2, 4, 3, 3720 25, MVT::i32, 3721 OPC_MoveParent, 3722 OPC_RecordChild2, 3723 OPC_MoveChild2, 3724 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3725 OPC_MoveParent, 3726 OPC_CheckPatternPredicate, 8, 3727 OPC_EmitMergeInputChains1_0, 3728 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_S), 0, 3729 MVT::i32, 2, 1, 2, 3730 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3731 2, 4, 3, 3732 0, 3733 58, 3734 OPC_CheckChild2CondCode, ISD::SETUEQ, 3735 OPC_SwitchType , 25, MVT::i64, 3736 OPC_MoveParent, 3737 OPC_RecordChild2, 3738 OPC_MoveChild2, 3739 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3740 OPC_MoveParent, 3741 OPC_CheckPatternPredicate, 6, 3742 OPC_EmitMergeInputChains1_0, 3743 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0, 3744 MVT::i64, 2, 1, 2, 3745 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3746 2, 4, 3, 3747 25, MVT::i32, 3748 OPC_MoveParent, 3749 OPC_RecordChild2, 3750 OPC_MoveChild2, 3751 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3752 OPC_MoveParent, 3753 OPC_CheckPatternPredicate, 8, 3754 OPC_EmitMergeInputChains1_0, 3755 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0, 3756 MVT::i32, 2, 1, 2, 3757 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3758 2, 4, 3, 3759 0, 3760 58, 3761 OPC_CheckChild2CondCode, ISD::SETULT, 3762 OPC_SwitchType , 25, MVT::i64, 3763 OPC_MoveParent, 3764 OPC_RecordChild2, 3765 OPC_MoveChild2, 3766 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3767 OPC_MoveParent, 3768 OPC_CheckPatternPredicate, 6, 3769 OPC_EmitMergeInputChains1_0, 3770 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_S), 0, 3771 MVT::i64, 2, 1, 2, 3772 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3773 2, 4, 3, 3774 25, MVT::i32, 3775 OPC_MoveParent, 3776 OPC_RecordChild2, 3777 OPC_MoveChild2, 3778 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3779 OPC_MoveParent, 3780 OPC_CheckPatternPredicate, 8, 3781 OPC_EmitMergeInputChains1_0, 3782 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_S), 0, 3783 MVT::i32, 2, 1, 2, 3784 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3785 2, 4, 3, 3786 0, 3787 58, 3788 OPC_CheckChild2CondCode, ISD::SETULE, 3789 OPC_SwitchType , 25, MVT::i64, 3790 OPC_MoveParent, 3791 OPC_RecordChild2, 3792 OPC_MoveChild2, 3793 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3794 OPC_MoveParent, 3795 OPC_CheckPatternPredicate, 6, 3796 OPC_EmitMergeInputChains1_0, 3797 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_S), 0, 3798 MVT::i64, 2, 1, 2, 3799 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3800 2, 4, 3, 3801 25, MVT::i32, 3802 OPC_MoveParent, 3803 OPC_RecordChild2, 3804 OPC_MoveChild2, 3805 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3806 OPC_MoveParent, 3807 OPC_CheckPatternPredicate, 8, 3808 OPC_EmitMergeInputChains1_0, 3809 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_S), 0, 3810 MVT::i32, 2, 1, 2, 3811 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3812 2, 4, 3, 3813 0, 3814 58, 3815 OPC_CheckChild2CondCode, ISD::SETUNE, 3816 OPC_SwitchType , 25, MVT::i64, 3817 OPC_MoveParent, 3818 OPC_RecordChild2, 3819 OPC_MoveChild2, 3820 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3821 OPC_MoveParent, 3822 OPC_CheckPatternPredicate, 6, 3823 OPC_EmitMergeInputChains1_0, 3824 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0, 3825 MVT::i64, 2, 1, 2, 3826 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3827 2, 4, 3, 3828 25, MVT::i32, 3829 OPC_MoveParent, 3830 OPC_RecordChild2, 3831 OPC_MoveChild2, 3832 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3833 OPC_MoveParent, 3834 OPC_CheckPatternPredicate, 8, 3835 OPC_EmitMergeInputChains1_0, 3836 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0, 3837 MVT::i32, 2, 1, 2, 3838 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3839 2, 4, 3, 3840 0, 3841 58, 3842 OPC_CheckChild2CondCode, ISD::SETUO, 3843 OPC_SwitchType , 25, MVT::i64, 3844 OPC_MoveParent, 3845 OPC_RecordChild2, 3846 OPC_MoveChild2, 3847 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3848 OPC_MoveParent, 3849 OPC_CheckPatternPredicate, 6, 3850 OPC_EmitMergeInputChains1_0, 3851 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_S), 0, 3852 MVT::i64, 2, 1, 2, 3853 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3854 2, 4, 3, 3855 25, MVT::i32, 3856 OPC_MoveParent, 3857 OPC_RecordChild2, 3858 OPC_MoveChild2, 3859 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3860 OPC_MoveParent, 3861 OPC_CheckPatternPredicate, 8, 3862 OPC_EmitMergeInputChains1_0, 3863 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_S), 0, 3864 MVT::i32, 2, 1, 2, 3865 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3866 2, 4, 3, 3867 0, 3868 58, 3869 OPC_CheckChild2CondCode, ISD::SETLT, 3870 OPC_SwitchType , 25, MVT::i64, 3871 OPC_MoveParent, 3872 OPC_RecordChild2, 3873 OPC_MoveChild2, 3874 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3875 OPC_MoveParent, 3876 OPC_CheckPatternPredicate, 6, 3877 OPC_EmitMergeInputChains1_0, 3878 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 3879 MVT::i64, 2, 1, 2, 3880 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3881 2, 4, 3, 3882 25, MVT::i32, 3883 OPC_MoveParent, 3884 OPC_RecordChild2, 3885 OPC_MoveChild2, 3886 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3887 OPC_MoveParent, 3888 OPC_CheckPatternPredicate, 8, 3889 OPC_EmitMergeInputChains1_0, 3890 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 3891 MVT::i32, 2, 1, 2, 3892 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3893 2, 4, 3, 3894 0, 3895 0, 3896 14|128,5, 3897 OPC_CheckChild0Type, MVT::f64, 3898 OPC_RecordChild1, 3899 OPC_Scope, 58, 3900 OPC_CheckChild2CondCode, ISD::SETOEQ, 3901 OPC_SwitchType , 25, MVT::i64, 3902 OPC_MoveParent, 3903 OPC_RecordChild2, 3904 OPC_MoveChild2, 3905 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3906 OPC_MoveParent, 3907 OPC_CheckPatternPredicate, 7, 3908 OPC_EmitMergeInputChains1_0, 3909 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0, 3910 MVT::i64, 2, 1, 2, 3911 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3912 2, 4, 3, 3913 25, MVT::i32, 3914 OPC_MoveParent, 3915 OPC_RecordChild2, 3916 OPC_MoveChild2, 3917 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3918 OPC_MoveParent, 3919 OPC_CheckPatternPredicate, 9, 3920 OPC_EmitMergeInputChains1_0, 3921 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0, 3922 MVT::i32, 2, 1, 2, 3923 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3924 2, 4, 3, 3925 0, 3926 58, 3927 OPC_CheckChild2CondCode, ISD::SETOLT, 3928 OPC_SwitchType , 25, MVT::i64, 3929 OPC_MoveParent, 3930 OPC_RecordChild2, 3931 OPC_MoveChild2, 3932 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3933 OPC_MoveParent, 3934 OPC_CheckPatternPredicate, 7, 3935 OPC_EmitMergeInputChains1_0, 3936 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 3937 MVT::i64, 2, 1, 2, 3938 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3939 2, 4, 3, 3940 25, MVT::i32, 3941 OPC_MoveParent, 3942 OPC_RecordChild2, 3943 OPC_MoveChild2, 3944 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3945 OPC_MoveParent, 3946 OPC_CheckPatternPredicate, 9, 3947 OPC_EmitMergeInputChains1_0, 3948 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 3949 MVT::i32, 2, 1, 2, 3950 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3951 2, 4, 3, 3952 0, 3953 58, 3954 OPC_CheckChild2CondCode, ISD::SETOLE, 3955 OPC_SwitchType , 25, MVT::i64, 3956 OPC_MoveParent, 3957 OPC_RecordChild2, 3958 OPC_MoveChild2, 3959 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3960 OPC_MoveParent, 3961 OPC_CheckPatternPredicate, 7, 3962 OPC_EmitMergeInputChains1_0, 3963 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0, 3964 MVT::i64, 2, 1, 2, 3965 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3966 2, 4, 3, 3967 25, MVT::i32, 3968 OPC_MoveParent, 3969 OPC_RecordChild2, 3970 OPC_MoveChild2, 3971 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3972 OPC_MoveParent, 3973 OPC_CheckPatternPredicate, 9, 3974 OPC_EmitMergeInputChains1_0, 3975 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0, 3976 MVT::i32, 2, 1, 2, 3977 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3978 2, 4, 3, 3979 0, 3980 58, 3981 OPC_CheckChild2CondCode, ISD::SETONE, 3982 OPC_SwitchType , 25, MVT::i64, 3983 OPC_MoveParent, 3984 OPC_RecordChild2, 3985 OPC_MoveChild2, 3986 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3987 OPC_MoveParent, 3988 OPC_CheckPatternPredicate, 7, 3989 OPC_EmitMergeInputChains1_0, 3990 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_D), 0, 3991 MVT::i64, 2, 1, 2, 3992 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 3993 2, 4, 3, 3994 25, MVT::i32, 3995 OPC_MoveParent, 3996 OPC_RecordChild2, 3997 OPC_MoveChild2, 3998 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 3999 OPC_MoveParent, 4000 OPC_CheckPatternPredicate, 9, 4001 OPC_EmitMergeInputChains1_0, 4002 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_D), 0, 4003 MVT::i32, 2, 1, 2, 4004 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4005 2, 4, 3, 4006 0, 4007 58, 4008 OPC_CheckChild2CondCode, ISD::SETO, 4009 OPC_SwitchType , 25, MVT::i64, 4010 OPC_MoveParent, 4011 OPC_RecordChild2, 4012 OPC_MoveChild2, 4013 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4014 OPC_MoveParent, 4015 OPC_CheckPatternPredicate, 7, 4016 OPC_EmitMergeInputChains1_0, 4017 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_D), 0, 4018 MVT::i64, 2, 1, 2, 4019 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4020 2, 4, 3, 4021 25, MVT::i32, 4022 OPC_MoveParent, 4023 OPC_RecordChild2, 4024 OPC_MoveChild2, 4025 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4026 OPC_MoveParent, 4027 OPC_CheckPatternPredicate, 9, 4028 OPC_EmitMergeInputChains1_0, 4029 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_D), 0, 4030 MVT::i32, 2, 1, 2, 4031 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4032 2, 4, 3, 4033 0, 4034 58, 4035 OPC_CheckChild2CondCode, ISD::SETUEQ, 4036 OPC_SwitchType , 25, MVT::i64, 4037 OPC_MoveParent, 4038 OPC_RecordChild2, 4039 OPC_MoveChild2, 4040 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4041 OPC_MoveParent, 4042 OPC_CheckPatternPredicate, 7, 4043 OPC_EmitMergeInputChains1_0, 4044 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0, 4045 MVT::i64, 2, 1, 2, 4046 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4047 2, 4, 3, 4048 25, MVT::i32, 4049 OPC_MoveParent, 4050 OPC_RecordChild2, 4051 OPC_MoveChild2, 4052 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4053 OPC_MoveParent, 4054 OPC_CheckPatternPredicate, 9, 4055 OPC_EmitMergeInputChains1_0, 4056 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0, 4057 MVT::i32, 2, 1, 2, 4058 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4059 2, 4, 3, 4060 0, 4061 58, 4062 OPC_CheckChild2CondCode, ISD::SETULT, 4063 OPC_SwitchType , 25, MVT::i64, 4064 OPC_MoveParent, 4065 OPC_RecordChild2, 4066 OPC_MoveChild2, 4067 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4068 OPC_MoveParent, 4069 OPC_CheckPatternPredicate, 7, 4070 OPC_EmitMergeInputChains1_0, 4071 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_D), 0, 4072 MVT::i64, 2, 1, 2, 4073 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4074 2, 4, 3, 4075 25, MVT::i32, 4076 OPC_MoveParent, 4077 OPC_RecordChild2, 4078 OPC_MoveChild2, 4079 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4080 OPC_MoveParent, 4081 OPC_CheckPatternPredicate, 9, 4082 OPC_EmitMergeInputChains1_0, 4083 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_D), 0, 4084 MVT::i32, 2, 1, 2, 4085 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4086 2, 4, 3, 4087 0, 4088 58, 4089 OPC_CheckChild2CondCode, ISD::SETULE, 4090 OPC_SwitchType , 25, MVT::i64, 4091 OPC_MoveParent, 4092 OPC_RecordChild2, 4093 OPC_MoveChild2, 4094 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4095 OPC_MoveParent, 4096 OPC_CheckPatternPredicate, 7, 4097 OPC_EmitMergeInputChains1_0, 4098 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_D), 0, 4099 MVT::i64, 2, 1, 2, 4100 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4101 2, 4, 3, 4102 25, MVT::i32, 4103 OPC_MoveParent, 4104 OPC_RecordChild2, 4105 OPC_MoveChild2, 4106 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4107 OPC_MoveParent, 4108 OPC_CheckPatternPredicate, 9, 4109 OPC_EmitMergeInputChains1_0, 4110 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_D), 0, 4111 MVT::i32, 2, 1, 2, 4112 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4113 2, 4, 3, 4114 0, 4115 58, 4116 OPC_CheckChild2CondCode, ISD::SETUNE, 4117 OPC_SwitchType , 25, MVT::i64, 4118 OPC_MoveParent, 4119 OPC_RecordChild2, 4120 OPC_MoveChild2, 4121 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4122 OPC_MoveParent, 4123 OPC_CheckPatternPredicate, 7, 4124 OPC_EmitMergeInputChains1_0, 4125 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0, 4126 MVT::i64, 2, 1, 2, 4127 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4128 2, 4, 3, 4129 25, MVT::i32, 4130 OPC_MoveParent, 4131 OPC_RecordChild2, 4132 OPC_MoveChild2, 4133 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4134 OPC_MoveParent, 4135 OPC_CheckPatternPredicate, 9, 4136 OPC_EmitMergeInputChains1_0, 4137 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0, 4138 MVT::i32, 2, 1, 2, 4139 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4140 2, 4, 3, 4141 0, 4142 58, 4143 OPC_CheckChild2CondCode, ISD::SETUO, 4144 OPC_SwitchType , 25, MVT::i64, 4145 OPC_MoveParent, 4146 OPC_RecordChild2, 4147 OPC_MoveChild2, 4148 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4149 OPC_MoveParent, 4150 OPC_CheckPatternPredicate, 7, 4151 OPC_EmitMergeInputChains1_0, 4152 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_D), 0, 4153 MVT::i64, 2, 1, 2, 4154 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4155 2, 4, 3, 4156 25, MVT::i32, 4157 OPC_MoveParent, 4158 OPC_RecordChild2, 4159 OPC_MoveChild2, 4160 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4161 OPC_MoveParent, 4162 OPC_CheckPatternPredicate, 9, 4163 OPC_EmitMergeInputChains1_0, 4164 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_D), 0, 4165 MVT::i32, 2, 1, 2, 4166 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4167 2, 4, 3, 4168 0, 4169 58, 4170 OPC_CheckChild2CondCode, ISD::SETLT, 4171 OPC_SwitchType , 25, MVT::i64, 4172 OPC_MoveParent, 4173 OPC_RecordChild2, 4174 OPC_MoveChild2, 4175 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4176 OPC_MoveParent, 4177 OPC_CheckPatternPredicate, 7, 4178 OPC_EmitMergeInputChains1_0, 4179 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 4180 MVT::i64, 2, 1, 2, 4181 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4182 2, 4, 3, 4183 25, MVT::i32, 4184 OPC_MoveParent, 4185 OPC_RecordChild2, 4186 OPC_MoveChild2, 4187 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4188 OPC_MoveParent, 4189 OPC_CheckPatternPredicate, 9, 4190 OPC_EmitMergeInputChains1_0, 4191 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 4192 MVT::i32, 2, 1, 2, 4193 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BCNEZ), 0|OPFL_Chain, 4194 2, 4, 3, 4195 0, 4196 0, 4197 0, 4198 0, 4199 41, 4200 OPC_RecordChild1, 4201 OPC_Scope, 18, 4202 OPC_CheckChild1Type, MVT::i64, 4203 OPC_RecordChild2, 4204 OPC_MoveChild2, 4205 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4206 OPC_MoveParent, 4207 OPC_CheckPatternPredicate, 4, 4208 OPC_EmitMergeInputChains1_0, 4209 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BNEZ), 0|OPFL_Chain, 4210 2, 1, 2, 4211 18, 4212 OPC_CheckChild1Type, MVT::i32, 4213 OPC_RecordChild2, 4214 OPC_MoveChild2, 4215 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 4216 OPC_MoveParent, 4217 OPC_CheckPatternPredicate, 5, 4218 OPC_EmitMergeInputChains1_0, 4219 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BNEZ), 0|OPFL_Chain, 4220 2, 1, 2, 4221 0, 4222 0, 4223 17|128,1, TARGET_VAL(ISD::XOR), 4224 OPC_Scope, 35, 4225 OPC_MoveChild0, 4226 OPC_CheckOpcode, TARGET_VAL(ISD::OR), 4227 OPC_RecordChild0, 4228 OPC_RecordChild1, 4229 OPC_MoveParent, 4230 OPC_CheckChild1Integer, 3, 4231 OPC_SwitchType , 10, MVT::i64, 4232 OPC_CheckPatternPredicate, 4, 4233 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::NOR), 0, 4234 MVT::i64, 2, 0, 1, 4235 10, MVT::i32, 4236 OPC_CheckPatternPredicate, 5, 4237 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::NOR), 0, 4238 MVT::i32, 2, 0, 1, 4239 0, 4240 106, 4241 OPC_RecordChild0, 4242 OPC_Scope, 34, 4243 OPC_CheckChild1Integer, 3, 4244 OPC_SwitchType , 13, MVT::i64, 4245 OPC_CheckPatternPredicate, 4, 4246 OPC_EmitRegister, MVT::i64, LoongArch::R0, 4247 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::NOR), 0, 4248 MVT::i64, 2, 0, 1, 4249 13, MVT::i32, 4250 OPC_CheckPatternPredicate, 5, 4251 OPC_EmitRegister, MVT::i32, LoongArch::R0, 4252 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::NOR), 0, 4253 MVT::i32, 2, 0, 1, 4254 0, 4255 67, 4256 OPC_RecordChild1, 4257 OPC_Scope, 37, 4258 OPC_MoveChild1, 4259 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4260 OPC_CheckPredicate, 23, 4261 OPC_MoveParent, 4262 OPC_SwitchType , 12, MVT::i64, 4263 OPC_CheckPatternPredicate, 4, 4264 OPC_EmitConvertToTarget, 1, 4265 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XORI), 0, 4266 MVT::i64, 2, 0, 2, 4267 12, MVT::i32, 4268 OPC_CheckPatternPredicate, 5, 4269 OPC_EmitConvertToTarget, 1, 4270 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XORI), 0, 4271 MVT::i32, 2, 0, 2, 4272 0, 4273 12, 4274 OPC_CheckType, MVT::i64, 4275 OPC_CheckPatternPredicate, 4, 4276 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XOR), 0, 4277 MVT::i64, 2, 0, 1, 4278 12, 4279 OPC_CheckType, MVT::i32, 4280 OPC_CheckPatternPredicate, 5, 4281 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XOR), 0, 4282 MVT::i32, 2, 0, 1, 4283 0, 4284 0, 4285 0, 4286 15|128,1, TARGET_VAL(ISD::AND), 4287 OPC_Scope, 35, 4288 OPC_RecordChild0, 4289 OPC_MoveChild1, 4290 OPC_CheckOpcode, TARGET_VAL(ISD::XOR), 4291 OPC_RecordChild0, 4292 OPC_CheckChild1Integer, 3, 4293 OPC_MoveParent, 4294 OPC_SwitchType , 10, MVT::i64, 4295 OPC_CheckPatternPredicate, 4, 4296 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ANDN), 0, 4297 MVT::i64, 2, 0, 1, 4298 10, MVT::i32, 4299 OPC_CheckPatternPredicate, 5, 4300 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ANDN), 0, 4301 MVT::i32, 2, 0, 1, 4302 0, 4303 35, 4304 OPC_MoveChild0, 4305 OPC_CheckOpcode, TARGET_VAL(ISD::XOR), 4306 OPC_RecordChild0, 4307 OPC_CheckChild1Integer, 3, 4308 OPC_MoveParent, 4309 OPC_RecordChild1, 4310 OPC_SwitchType , 10, MVT::i64, 4311 OPC_CheckPatternPredicate, 4, 4312 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ANDN), 0, 4313 MVT::i64, 2, 1, 0, 4314 10, MVT::i32, 4315 OPC_CheckPatternPredicate, 5, 4316 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ANDN), 0, 4317 MVT::i32, 2, 1, 0, 4318 0, 4319 68, 4320 OPC_RecordChild0, 4321 OPC_RecordChild1, 4322 OPC_Scope, 37, 4323 OPC_MoveChild1, 4324 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4325 OPC_CheckPredicate, 23, 4326 OPC_MoveParent, 4327 OPC_SwitchType , 12, MVT::i64, 4328 OPC_CheckPatternPredicate, 4, 4329 OPC_EmitConvertToTarget, 1, 4330 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ANDI), 0, 4331 MVT::i64, 2, 0, 2, 4332 12, MVT::i32, 4333 OPC_CheckPatternPredicate, 5, 4334 OPC_EmitConvertToTarget, 1, 4335 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ANDI), 0, 4336 MVT::i32, 2, 0, 2, 4337 0, 4338 12, 4339 OPC_CheckType, MVT::i64, 4340 OPC_CheckPatternPredicate, 4, 4341 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AND), 0, 4342 MVT::i64, 2, 0, 1, 4343 12, 4344 OPC_CheckType, MVT::i32, 4345 OPC_CheckPatternPredicate, 5, 4346 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AND), 0, 4347 MVT::i32, 2, 0, 1, 4348 0, 4349 0, 4350 122, TARGET_VAL(ISD::CTLZ), 4351 OPC_Scope, 63, 4352 OPC_MoveChild0, 4353 OPC_CheckOpcode, TARGET_VAL(ISD::XOR), 4354 OPC_RecordChild0, 4355 OPC_CheckChild1Integer, 3, 4356 OPC_SwitchType , 25, MVT::i64, 4357 OPC_MoveParent, 4358 OPC_CheckType, MVT::i64, 4359 OPC_Scope, 9, 4360 OPC_CheckPatternPredicate, 0, 4361 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLO_D), 0, 4362 MVT::i64, 1, 0, 4363 9, 4364 OPC_CheckPatternPredicate, 1, 4365 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLO_W), 0, 4366 MVT::i64, 1, 0, 4367 0, 4368 25, MVT::i32, 4369 OPC_MoveParent, 4370 OPC_CheckType, MVT::i32, 4371 OPC_Scope, 9, 4372 OPC_CheckPatternPredicate, 3, 4373 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLO_D), 0, 4374 MVT::i32, 1, 0, 4375 9, 4376 OPC_CheckPatternPredicate, 2, 4377 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLO_W), 0, 4378 MVT::i32, 1, 0, 4379 0, 4380 0, 4381 55, 4382 OPC_RecordChild0, 4383 OPC_SwitchType , 24, MVT::i64, 4384 OPC_CheckChild0Type, MVT::i64, 4385 OPC_Scope, 9, 4386 OPC_CheckPatternPredicate, 0, 4387 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLZ_D), 0, 4388 MVT::i64, 1, 0, 4389 9, 4390 OPC_CheckPatternPredicate, 1, 4391 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLZ_W), 0, 4392 MVT::i64, 1, 0, 4393 0, 4394 24, MVT::i32, 4395 OPC_CheckChild0Type, MVT::i32, 4396 OPC_Scope, 9, 4397 OPC_CheckPatternPredicate, 3, 4398 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLZ_D), 0, 4399 MVT::i32, 1, 0, 4400 9, 4401 OPC_CheckPatternPredicate, 2, 4402 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLZ_W), 0, 4403 MVT::i32, 1, 0, 4404 0, 4405 0, 4406 0, 4407 122, TARGET_VAL(ISD::CTTZ), 4408 OPC_Scope, 63, 4409 OPC_MoveChild0, 4410 OPC_CheckOpcode, TARGET_VAL(ISD::XOR), 4411 OPC_RecordChild0, 4412 OPC_CheckChild1Integer, 3, 4413 OPC_SwitchType , 25, MVT::i64, 4414 OPC_MoveParent, 4415 OPC_CheckType, MVT::i64, 4416 OPC_Scope, 9, 4417 OPC_CheckPatternPredicate, 0, 4418 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTO_D), 0, 4419 MVT::i64, 1, 0, 4420 9, 4421 OPC_CheckPatternPredicate, 1, 4422 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTO_W), 0, 4423 MVT::i64, 1, 0, 4424 0, 4425 25, MVT::i32, 4426 OPC_MoveParent, 4427 OPC_CheckType, MVT::i32, 4428 OPC_Scope, 9, 4429 OPC_CheckPatternPredicate, 3, 4430 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTO_D), 0, 4431 MVT::i32, 1, 0, 4432 9, 4433 OPC_CheckPatternPredicate, 2, 4434 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTO_W), 0, 4435 MVT::i32, 1, 0, 4436 0, 4437 0, 4438 55, 4439 OPC_RecordChild0, 4440 OPC_SwitchType , 24, MVT::i64, 4441 OPC_CheckChild0Type, MVT::i64, 4442 OPC_Scope, 9, 4443 OPC_CheckPatternPredicate, 0, 4444 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTZ_D), 0, 4445 MVT::i64, 1, 0, 4446 9, 4447 OPC_CheckPatternPredicate, 1, 4448 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTZ_W), 0, 4449 MVT::i64, 1, 0, 4450 0, 4451 24, MVT::i32, 4452 OPC_CheckChild0Type, MVT::i32, 4453 OPC_Scope, 9, 4454 OPC_CheckPatternPredicate, 3, 4455 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTZ_D), 0, 4456 MVT::i32, 1, 0, 4457 9, 4458 OPC_CheckPatternPredicate, 2, 4459 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTZ_W), 0, 4460 MVT::i32, 1, 0, 4461 0, 4462 0, 4463 0, 4464 70, TARGET_VAL(LoongArchISD::CLZ_W), 4465 OPC_Scope, 37, 4466 OPC_MoveChild0, 4467 OPC_CheckOpcode, TARGET_VAL(ISD::XOR), 4468 OPC_RecordChild0, 4469 OPC_CheckChild1Integer, 3, 4470 OPC_SwitchType , 12, MVT::i64, 4471 OPC_MoveParent, 4472 OPC_CheckType, MVT::i64, 4473 OPC_CheckPatternPredicate, 0, 4474 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLO_W), 0, 4475 MVT::i64, 1, 0, 4476 12, MVT::i32, 4477 OPC_MoveParent, 4478 OPC_CheckType, MVT::i32, 4479 OPC_CheckPatternPredicate, 3, 4480 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLO_W), 0, 4481 MVT::i32, 1, 0, 4482 0, 4483 29, 4484 OPC_RecordChild0, 4485 OPC_SwitchType , 11, MVT::i64, 4486 OPC_CheckChild0Type, MVT::i64, 4487 OPC_CheckPatternPredicate, 0, 4488 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLZ_W), 0, 4489 MVT::i64, 1, 0, 4490 11, MVT::i32, 4491 OPC_CheckChild0Type, MVT::i32, 4492 OPC_CheckPatternPredicate, 3, 4493 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CLZ_W), 0, 4494 MVT::i32, 1, 0, 4495 0, 4496 0, 4497 70, TARGET_VAL(LoongArchISD::CTZ_W), 4498 OPC_Scope, 37, 4499 OPC_MoveChild0, 4500 OPC_CheckOpcode, TARGET_VAL(ISD::XOR), 4501 OPC_RecordChild0, 4502 OPC_CheckChild1Integer, 3, 4503 OPC_SwitchType , 12, MVT::i64, 4504 OPC_MoveParent, 4505 OPC_CheckType, MVT::i64, 4506 OPC_CheckPatternPredicate, 0, 4507 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTO_W), 0, 4508 MVT::i64, 1, 0, 4509 12, MVT::i32, 4510 OPC_MoveParent, 4511 OPC_CheckType, MVT::i32, 4512 OPC_CheckPatternPredicate, 3, 4513 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTO_W), 0, 4514 MVT::i32, 1, 0, 4515 0, 4516 29, 4517 OPC_RecordChild0, 4518 OPC_SwitchType , 11, MVT::i64, 4519 OPC_CheckChild0Type, MVT::i64, 4520 OPC_CheckPatternPredicate, 0, 4521 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTZ_W), 0, 4522 MVT::i64, 1, 0, 4523 11, MVT::i32, 4524 OPC_CheckChild0Type, MVT::i32, 4525 OPC_CheckPatternPredicate, 3, 4526 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CTZ_W), 0, 4527 MVT::i32, 1, 0, 4528 0, 4529 0, 4530 7|128,1, TARGET_VAL(LoongArchISD::BSTRINS), 4531 OPC_RecordChild0, 4532 OPC_RecordChild1, 4533 OPC_RecordChild2, 4534 OPC_MoveChild2, 4535 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4536 OPC_Scope, 62, 4537 OPC_CheckPredicate, 1, 4538 OPC_SwitchType , 27, MVT::i64, 4539 OPC_MoveParent, 4540 OPC_RecordChild3, 4541 OPC_MoveChild3, 4542 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4543 OPC_CheckPredicate, 1, 4544 OPC_MoveParent, 4545 OPC_CheckType, MVT::i64, 4546 OPC_CheckPatternPredicate, 1, 4547 OPC_EmitConvertToTarget, 2, 4548 OPC_EmitConvertToTarget, 3, 4549 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BSTRINS_W), 0, 4550 MVT::i64, 4, 0, 1, 4, 5, 4551 27, MVT::i32, 4552 OPC_MoveParent, 4553 OPC_RecordChild3, 4554 OPC_MoveChild3, 4555 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4556 OPC_CheckPredicate, 1, 4557 OPC_MoveParent, 4558 OPC_CheckType, MVT::i32, 4559 OPC_CheckPatternPredicate, 2, 4560 OPC_EmitConvertToTarget, 2, 4561 OPC_EmitConvertToTarget, 3, 4562 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BSTRINS_W), 0, 4563 MVT::i32, 4, 0, 1, 4, 5, 4564 0, 4565 62, 4566 OPC_CheckPredicate, 2, 4567 OPC_SwitchType , 27, MVT::i64, 4568 OPC_MoveParent, 4569 OPC_RecordChild3, 4570 OPC_MoveChild3, 4571 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4572 OPC_CheckPredicate, 2, 4573 OPC_MoveParent, 4574 OPC_CheckType, MVT::i64, 4575 OPC_CheckPatternPredicate, 0, 4576 OPC_EmitConvertToTarget, 2, 4577 OPC_EmitConvertToTarget, 3, 4578 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BSTRINS_D), 0, 4579 MVT::i64, 4, 0, 1, 4, 5, 4580 27, MVT::i32, 4581 OPC_MoveParent, 4582 OPC_RecordChild3, 4583 OPC_MoveChild3, 4584 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4585 OPC_CheckPredicate, 2, 4586 OPC_MoveParent, 4587 OPC_CheckType, MVT::i32, 4588 OPC_CheckPatternPredicate, 3, 4589 OPC_EmitConvertToTarget, 2, 4590 OPC_EmitConvertToTarget, 3, 4591 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BSTRINS_D), 0, 4592 MVT::i32, 4, 0, 1, 4, 5, 4593 0, 4594 0, 4595 34|128,3, TARGET_VAL(ISD::INTRINSIC_W_CHAIN), 4596 OPC_RecordNode, 4597 OPC_Scope, 28, 4598 OPC_CheckChild1Integer, 98|128,75, 4599 OPC_RecordChild2, 4600 OPC_CheckChild2Type, MVT::i64, 4601 OPC_RecordChild3, 4602 OPC_RecordChild4, 4603 OPC_RecordChild5, 4604 OPC_MoveChild5, 4605 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4606 OPC_MoveParent, 4607 OPC_CheckPatternPredicate, 0, 4608 OPC_EmitMergeInputChains1_0, 4609 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32), 0|OPFL_Chain, 4610 MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 4611 28, 4612 OPC_CheckChild1Integer, 74|128,75, 4613 OPC_RecordChild2, 4614 OPC_CheckChild2Type, MVT::i64, 4615 OPC_RecordChild3, 4616 OPC_RecordChild4, 4617 OPC_RecordChild5, 4618 OPC_MoveChild5, 4619 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4620 OPC_MoveParent, 4621 OPC_CheckPatternPredicate, 0, 4622 OPC_EmitMergeInputChains1_0, 4623 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32), 0|OPFL_Chain, 4624 MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 4625 28, 4626 OPC_CheckChild1Integer, 86|128,75, 4627 OPC_RecordChild2, 4628 OPC_CheckChild2Type, MVT::i64, 4629 OPC_RecordChild3, 4630 OPC_RecordChild4, 4631 OPC_RecordChild5, 4632 OPC_MoveChild5, 4633 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4634 OPC_MoveParent, 4635 OPC_CheckPatternPredicate, 0, 4636 OPC_EmitMergeInputChains1_0, 4637 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32), 0|OPFL_Chain, 4638 MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 4639 28, 4640 OPC_CheckChild1Integer, 82|128,75, 4641 OPC_RecordChild2, 4642 OPC_CheckChild2Type, MVT::i64, 4643 OPC_RecordChild3, 4644 OPC_RecordChild4, 4645 OPC_RecordChild5, 4646 OPC_MoveChild5, 4647 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4648 OPC_MoveParent, 4649 OPC_CheckPatternPredicate, 0, 4650 OPC_EmitMergeInputChains1_0, 4651 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32), 0|OPFL_Chain, 4652 MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 4653 30, 4654 OPC_CheckChild1Integer, 90|128,75, 4655 OPC_RecordChild2, 4656 OPC_CheckChild2Type, MVT::i64, 4657 OPC_RecordChild3, 4658 OPC_RecordChild4, 4659 OPC_RecordChild5, 4660 OPC_MoveChild5, 4661 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4662 OPC_MoveParent, 4663 OPC_CheckPatternPredicate, 0, 4664 OPC_EmitMergeInputChains1_0, 4665 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMax32), 0|OPFL_Chain, 4666 3, MVT::i64, MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 4667 30, 4668 OPC_CheckChild1Integer, 94|128,75, 4669 OPC_RecordChild2, 4670 OPC_CheckChild2Type, MVT::i64, 4671 OPC_RecordChild3, 4672 OPC_RecordChild4, 4673 OPC_RecordChild5, 4674 OPC_MoveChild5, 4675 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4676 OPC_MoveParent, 4677 OPC_CheckPatternPredicate, 0, 4678 OPC_EmitMergeInputChains1_0, 4679 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMin32), 0|OPFL_Chain, 4680 3, MVT::i64, MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 4681 30, 4682 OPC_CheckChild1Integer, 100|128,75, 4683 OPC_RecordChild2, 4684 OPC_CheckChild2Type, MVT::i64, 4685 OPC_RecordChild3, 4686 OPC_RecordChild4, 4687 OPC_RecordChild5, 4688 OPC_RecordChild6, 4689 OPC_MoveChild6, 4690 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4691 OPC_MoveParent, 4692 OPC_CheckPatternPredicate, 0, 4693 OPC_EmitMergeInputChains1_0, 4694 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoMaskedCmpXchg32), 0|OPFL_Chain, 4695 MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5, 4696 32, 4697 OPC_CheckChild1Integer, 76|128,75, 4698 OPC_RecordChild2, 4699 OPC_CheckChild2Type, MVT::i64, 4700 OPC_RecordChild3, 4701 OPC_RecordChild4, 4702 OPC_RecordChild5, 4703 OPC_RecordChild6, 4704 OPC_MoveChild6, 4705 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4706 OPC_MoveParent, 4707 OPC_CheckPatternPredicate, 0, 4708 OPC_EmitMergeInputChains1_0, 4709 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMax32), 0|OPFL_Chain, 4710 3, MVT::i64, MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5, 4711 32, 4712 OPC_CheckChild1Integer, 78|128,75, 4713 OPC_RecordChild2, 4714 OPC_CheckChild2Type, MVT::i64, 4715 OPC_RecordChild3, 4716 OPC_RecordChild4, 4717 OPC_RecordChild5, 4718 OPC_RecordChild6, 4719 OPC_MoveChild6, 4720 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4721 OPC_MoveParent, 4722 OPC_CheckPatternPredicate, 0, 4723 OPC_EmitMergeInputChains1_0, 4724 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMin32), 0|OPFL_Chain, 4725 3, MVT::i64, MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5, 4726 28, 4727 OPC_CheckChild1Integer, 96|128,75, 4728 OPC_RecordChild2, 4729 OPC_CheckChild2Type, MVT::i32, 4730 OPC_RecordChild3, 4731 OPC_RecordChild4, 4732 OPC_RecordChild5, 4733 OPC_MoveChild5, 4734 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4735 OPC_MoveParent, 4736 OPC_CheckPatternPredicate, 2, 4737 OPC_EmitMergeInputChains1_0, 4738 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32), 0|OPFL_Chain, 4739 MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 4740 28, 4741 OPC_CheckChild1Integer, 72|128,75, 4742 OPC_RecordChild2, 4743 OPC_CheckChild2Type, MVT::i32, 4744 OPC_RecordChild3, 4745 OPC_RecordChild4, 4746 OPC_RecordChild5, 4747 OPC_MoveChild5, 4748 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4749 OPC_MoveParent, 4750 OPC_CheckPatternPredicate, 2, 4751 OPC_EmitMergeInputChains1_0, 4752 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32), 0|OPFL_Chain, 4753 MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 4754 28, 4755 OPC_CheckChild1Integer, 84|128,75, 4756 OPC_RecordChild2, 4757 OPC_CheckChild2Type, MVT::i32, 4758 OPC_RecordChild3, 4759 OPC_RecordChild4, 4760 OPC_RecordChild5, 4761 OPC_MoveChild5, 4762 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4763 OPC_MoveParent, 4764 OPC_CheckPatternPredicate, 2, 4765 OPC_EmitMergeInputChains1_0, 4766 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32), 0|OPFL_Chain, 4767 MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 4768 28, 4769 OPC_CheckChild1Integer, 80|128,75, 4770 OPC_RecordChild2, 4771 OPC_CheckChild2Type, MVT::i32, 4772 OPC_RecordChild3, 4773 OPC_RecordChild4, 4774 OPC_RecordChild5, 4775 OPC_MoveChild5, 4776 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4777 OPC_MoveParent, 4778 OPC_CheckPatternPredicate, 2, 4779 OPC_EmitMergeInputChains1_0, 4780 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32), 0|OPFL_Chain, 4781 MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 4782 23, 4783 OPC_CheckChild1Integer, 68|128,75, 4784 OPC_RecordChild2, 4785 OPC_RecordChild3, 4786 OPC_MoveChild3, 4787 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4788 OPC_MoveParent, 4789 OPC_CheckPatternPredicate, 0, 4790 OPC_EmitMergeInputChains1_0, 4791 OPC_EmitConvertToTarget, 2, 4792 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDDIR), 0|OPFL_Chain, 4793 MVT::i64, 2, 1, 3, 4794 0, 4795 88|128,1, TARGET_VAL(ISD::SIGN_EXTEND_INREG), 4796 OPC_Scope, 6|128,1, 4797 OPC_MoveChild0, 4798 OPC_SwitchOpcode , 45, TARGET_VAL(ISD::ADD), 4799 OPC_RecordChild0, 4800 OPC_RecordChild1, 4801 OPC_Scope, 24, 4802 OPC_MoveChild1, 4803 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4804 OPC_CheckPredicate, 3, 4805 OPC_MoveParent, 4806 OPC_MoveParent, 4807 OPC_MoveChild1, 4808 OPC_CheckValueType, MVT::i32, 4809 OPC_MoveParent, 4810 OPC_CheckPatternPredicate, 0, 4811 OPC_EmitConvertToTarget, 1, 4812 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADDI_W), 0, 4813 MVT::i64, 2, 0, 2, 4814 15, 4815 OPC_MoveParent, 4816 OPC_MoveChild1, 4817 OPC_CheckValueType, MVT::i32, 4818 OPC_MoveParent, 4819 OPC_CheckPatternPredicate, 0, 4820 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADD_W), 0, 4821 MVT::i64, 2, 0, 1, 4822 0, 4823 28, TARGET_VAL(ISD::ROTR), 4824 OPC_RecordChild0, 4825 OPC_RecordChild1, 4826 OPC_MoveChild1, 4827 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4828 OPC_CheckPredicate, 1, 4829 OPC_CheckType, MVT::i64, 4830 OPC_MoveParent, 4831 OPC_MoveParent, 4832 OPC_MoveChild1, 4833 OPC_CheckValueType, MVT::i32, 4834 OPC_MoveParent, 4835 OPC_CheckPatternPredicate, 0, 4836 OPC_EmitConvertToTarget, 1, 4837 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTRI_W), 0, 4838 MVT::i64, 2, 0, 2, 4839 29, TARGET_VAL(LoongArchISD::ROTL_W), 4840 OPC_RecordChild0, 4841 OPC_RecordChild1, 4842 OPC_MoveChild1, 4843 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4844 OPC_CheckPredicate, 1, 4845 OPC_MoveParent, 4846 OPC_MoveParent, 4847 OPC_MoveChild1, 4848 OPC_CheckValueType, MVT::i32, 4849 OPC_MoveParent, 4850 OPC_CheckPatternPredicate, 0, 4851 OPC_EmitConvertToTarget, 1, 4852 OPC_EmitNodeXForm, 0, 2, 4853 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTRI_W), 0, 4854 MVT::i64, 2, 0, 3, 4855 17, TARGET_VAL(ISD::SUB), 4856 OPC_RecordChild0, 4857 OPC_RecordChild1, 4858 OPC_MoveParent, 4859 OPC_MoveChild1, 4860 OPC_CheckValueType, MVT::i32, 4861 OPC_MoveParent, 4862 OPC_CheckPatternPredicate, 0, 4863 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SUB_W), 0, 4864 MVT::i64, 2, 0, 1, 4865 0, 4866 77, 4867 OPC_RecordChild0, 4868 OPC_MoveChild1, 4869 OPC_Scope, 27, 4870 OPC_CheckValueType, MVT::i8, 4871 OPC_MoveParent, 4872 OPC_SwitchType , 9, MVT::i64, 4873 OPC_CheckPatternPredicate, 4, 4874 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::EXT_W_B), 0, 4875 MVT::i64, 1, 0, 4876 9, MVT::i32, 4877 OPC_CheckPatternPredicate, 5, 4878 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::EXT_W_B), 0, 4879 MVT::i32, 1, 0, 4880 0, 4881 27, 4882 OPC_CheckValueType, MVT::i16, 4883 OPC_MoveParent, 4884 OPC_SwitchType , 9, MVT::i64, 4885 OPC_CheckPatternPredicate, 4, 4886 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::EXT_W_H), 0, 4887 MVT::i64, 1, 0, 4888 9, MVT::i32, 4889 OPC_CheckPatternPredicate, 5, 4890 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::EXT_W_H), 0, 4891 MVT::i32, 1, 0, 4892 0, 4893 16, 4894 OPC_CheckValueType, MVT::i32, 4895 OPC_MoveParent, 4896 OPC_CheckPatternPredicate, 0, 4897 OPC_EmitInteger, MVT::i64, 0, 4898 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ADDI_W), 0, 4899 MVT::i64, 2, 0, 1, 4900 0, 4901 0, 4902 85, TARGET_VAL(ISD::BRIND), 4903 OPC_RecordNode, 4904 OPC_Scope, 45, 4905 OPC_MoveChild1, 4906 OPC_CheckOpcode, TARGET_VAL(ISD::ADD), 4907 OPC_RecordChild0, 4908 OPC_RecordChild1, 4909 OPC_MoveChild1, 4910 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 4911 OPC_CheckPredicate, 24, 4912 OPC_MoveParent, 4913 OPC_SwitchType , 13, MVT::i64, 4914 OPC_MoveParent, 4915 OPC_CheckPatternPredicate, 4, 4916 OPC_EmitMergeInputChains1_0, 4917 OPC_EmitConvertToTarget, 2, 4918 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoBRIND), 0|OPFL_Chain, 4919 2, 1, 3, 4920 13, MVT::i32, 4921 OPC_MoveParent, 4922 OPC_CheckPatternPredicate, 5, 4923 OPC_EmitMergeInputChains1_0, 4924 OPC_EmitConvertToTarget, 2, 4925 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoBRIND), 0|OPFL_Chain, 4926 2, 1, 3, 4927 0, 4928 35, 4929 OPC_RecordChild1, 4930 OPC_Scope, 15, 4931 OPC_CheckChild1Type, MVT::i64, 4932 OPC_CheckPatternPredicate, 4, 4933 OPC_EmitMergeInputChains1_0, 4934 OPC_EmitInteger, MVT::i64, 0, 4935 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoBRIND), 0|OPFL_Chain, 4936 2, 1, 2, 4937 15, 4938 OPC_CheckChild1Type, MVT::i32, 4939 OPC_CheckPatternPredicate, 5, 4940 OPC_EmitMergeInputChains1_0, 4941 OPC_EmitInteger, MVT::i32, 0, 4942 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoBRIND), 0|OPFL_Chain, 4943 2, 1, 2, 4944 0, 4945 0, 4946 21, TARGET_VAL(ISD::CALLSEQ_START), 4947 OPC_RecordNode, 4948 OPC_RecordChild1, 4949 OPC_MoveChild1, 4950 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4951 OPC_MoveParent, 4952 OPC_RecordChild2, 4953 OPC_MoveChild2, 4954 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4955 OPC_MoveParent, 4956 OPC_EmitMergeInputChains1_0, 4957 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput, 4958 2, 1, 2, 4959 22, TARGET_VAL(ISD::CALLSEQ_END), 4960 OPC_RecordNode, 4961 OPC_CaptureGlueInput, 4962 OPC_RecordChild1, 4963 OPC_MoveChild1, 4964 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4965 OPC_MoveParent, 4966 OPC_RecordChild2, 4967 OPC_MoveChild2, 4968 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4969 OPC_MoveParent, 4970 OPC_EmitMergeInputChains1_0, 4971 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput, 4972 2, 1, 2, 4973 39, TARGET_VAL(ISD::ATOMIC_FENCE), 4974 OPC_RecordNode, 4975 OPC_MoveChild1, 4976 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4977 OPC_MoveParent, 4978 OPC_MoveChild2, 4979 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant), 4980 OPC_MoveParent, 4981 OPC_Scope, 12, 4982 OPC_CheckPatternPredicate, 4, 4983 OPC_EmitMergeInputChains1_0, 4984 OPC_EmitInteger, MVT::i64, 0, 4985 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::DBAR), 0|OPFL_Chain, 4986 1, 1, 4987 12, 4988 OPC_CheckPatternPredicate, 5, 4989 OPC_EmitMergeInputChains1_0, 4990 OPC_EmitInteger, MVT::i32, 0, 4991 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::DBAR), 0|OPFL_Chain, 4992 1, 1, 4993 0, 4994 111|128,12, TARGET_VAL(ISD::SETCC), 4995 OPC_RecordChild0, 4996 OPC_Scope, 52|128,3, 4997 OPC_CheckChild0Type, MVT::i64, 4998 OPC_Scope, 38, 4999 OPC_CheckChild1Integer, 0, 5000 OPC_CheckType, MVT::i64, 5001 OPC_Scope, 15, 5002 OPC_CheckChild2CondCode, ISD::SETEQ, 5003 OPC_CheckPatternPredicate, 4, 5004 OPC_EmitInteger, MVT::i64, 2, 5005 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTUI), 0, 5006 MVT::i64, 2, 0, 1, 5007 15, 5008 OPC_CheckChild2CondCode, ISD::SETNE, 5009 OPC_CheckPatternPredicate, 4, 5010 OPC_EmitRegister, MVT::i64, LoongArch::R0, 5011 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5012 MVT::i64, 2, 1, 0, 5013 0, 5014 7|128,3, 5015 OPC_RecordChild1, 5016 OPC_Scope, 42|128,1, 5017 OPC_MoveChild1, 5018 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5019 OPC_Scope, 37, 5020 OPC_CheckPredicate, 3, 5021 OPC_MoveParent, 5022 OPC_CheckType, MVT::i64, 5023 OPC_Scope, 14, 5024 OPC_CheckChild2CondCode, ISD::SETLT, 5025 OPC_CheckPatternPredicate, 4, 5026 OPC_EmitConvertToTarget, 1, 5027 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTI), 0, 5028 MVT::i64, 2, 0, 2, 5029 14, 5030 OPC_CheckChild2CondCode, ISD::SETULT, 5031 OPC_CheckPatternPredicate, 4, 5032 OPC_EmitConvertToTarget, 1, 5033 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTUI), 0, 5034 MVT::i64, 2, 0, 2, 5035 0, 5036 125, 5037 OPC_CheckPredicate, 25, 5038 OPC_MoveParent, 5039 OPC_CheckType, MVT::i64, 5040 OPC_Scope, 58, 5041 OPC_CheckChild2CondCode, ISD::SETEQ, 5042 OPC_Scope, 26, 5043 OPC_CheckPatternPredicate, 1, 5044 OPC_EmitConvertToTarget, 1, 5045 OPC_EmitNodeXForm, 1, 2, 5046 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_W), 0, 5047 MVT::i64, 2, 0, 3, 5048 OPC_EmitInteger, MVT::i64, 2, 5049 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTUI), 0, 5050 MVT::i64, 2, 4, 5, 5051 26, 5052 OPC_CheckPatternPredicate, 0, 5053 OPC_EmitConvertToTarget, 1, 5054 OPC_EmitNodeXForm, 1, 2, 5055 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_D), 0, 5056 MVT::i64, 2, 0, 3, 5057 OPC_EmitInteger, MVT::i64, 2, 5058 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTUI), 0, 5059 MVT::i64, 2, 4, 5, 5060 0, 5061 58, 5062 OPC_CheckChild2CondCode, ISD::SETNE, 5063 OPC_Scope, 26, 5064 OPC_CheckPatternPredicate, 1, 5065 OPC_EmitRegister, MVT::i64, LoongArch::R0, 5066 OPC_EmitConvertToTarget, 1, 5067 OPC_EmitNodeXForm, 1, 3, 5068 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_W), 0, 5069 MVT::i64, 2, 0, 4, 5070 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5071 MVT::i64, 2, 2, 5, 5072 26, 5073 OPC_CheckPatternPredicate, 0, 5074 OPC_EmitRegister, MVT::i64, LoongArch::R0, 5075 OPC_EmitConvertToTarget, 1, 5076 OPC_EmitNodeXForm, 1, 3, 5077 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_D), 0, 5078 MVT::i64, 2, 0, 4, 5079 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5080 MVT::i64, 2, 2, 5, 5081 0, 5082 0, 5083 0, 5084 14, 5085 OPC_CheckChild2CondCode, ISD::SETLT, 5086 OPC_CheckType, MVT::i64, 5087 OPC_CheckPatternPredicate, 4, 5088 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLT), 0, 5089 MVT::i64, 2, 0, 1, 5090 14, 5091 OPC_CheckChild2CondCode, ISD::SETULT, 5092 OPC_CheckType, MVT::i64, 5093 OPC_CheckPatternPredicate, 4, 5094 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5095 MVT::i64, 2, 0, 1, 5096 14, 5097 OPC_CheckChild2CondCode, ISD::SETUGT, 5098 OPC_CheckType, MVT::i64, 5099 OPC_CheckPatternPredicate, 4, 5100 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5101 MVT::i64, 2, 1, 0, 5102 14, 5103 OPC_CheckChild2CondCode, ISD::SETGT, 5104 OPC_CheckType, MVT::i64, 5105 OPC_CheckPatternPredicate, 4, 5106 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLT), 0, 5107 MVT::i64, 2, 1, 0, 5108 25, 5109 OPC_CheckChild2CondCode, ISD::SETEQ, 5110 OPC_CheckType, MVT::i64, 5111 OPC_CheckPatternPredicate, 4, 5112 OPC_EmitNode1, TARGET_VAL(LoongArch::XOR), 0, 5113 MVT::i64, 2, 0, 1, 5114 OPC_EmitInteger, MVT::i64, 2, 5115 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTUI), 0, 5116 MVT::i64, 2, 2, 3, 5117 25, 5118 OPC_CheckChild2CondCode, ISD::SETNE, 5119 OPC_CheckType, MVT::i64, 5120 OPC_CheckPatternPredicate, 4, 5121 OPC_EmitRegister, MVT::i64, LoongArch::R0, 5122 OPC_EmitNode1, TARGET_VAL(LoongArch::XOR), 0, 5123 MVT::i64, 2, 0, 1, 5124 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5125 MVT::i64, 2, 2, 3, 5126 25, 5127 OPC_CheckChild2CondCode, ISD::SETUGE, 5128 OPC_CheckType, MVT::i64, 5129 OPC_CheckPatternPredicate, 4, 5130 OPC_EmitNode1, TARGET_VAL(LoongArch::SLTU), 0, 5131 MVT::i64, 2, 0, 1, 5132 OPC_EmitInteger, MVT::i64, 2, 5133 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XORI), 0, 5134 MVT::i64, 2, 2, 3, 5135 25, 5136 OPC_CheckChild2CondCode, ISD::SETULE, 5137 OPC_CheckType, MVT::i64, 5138 OPC_CheckPatternPredicate, 4, 5139 OPC_EmitNode1, TARGET_VAL(LoongArch::SLTU), 0, 5140 MVT::i64, 2, 1, 0, 5141 OPC_EmitInteger, MVT::i64, 2, 5142 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XORI), 0, 5143 MVT::i64, 2, 2, 3, 5144 25, 5145 OPC_CheckChild2CondCode, ISD::SETGE, 5146 OPC_CheckType, MVT::i64, 5147 OPC_CheckPatternPredicate, 4, 5148 OPC_EmitNode1, TARGET_VAL(LoongArch::SLT), 0, 5149 MVT::i64, 2, 0, 1, 5150 OPC_EmitInteger, MVT::i64, 2, 5151 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XORI), 0, 5152 MVT::i64, 2, 2, 3, 5153 25, 5154 OPC_CheckChild2CondCode, ISD::SETLE, 5155 OPC_CheckType, MVT::i64, 5156 OPC_CheckPatternPredicate, 4, 5157 OPC_EmitNode1, TARGET_VAL(LoongArch::SLT), 0, 5158 MVT::i64, 2, 1, 0, 5159 OPC_EmitInteger, MVT::i64, 2, 5160 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XORI), 0, 5161 MVT::i64, 2, 2, 3, 5162 0, 5163 0, 5164 52|128,3, 5165 OPC_CheckChild0Type, MVT::i32, 5166 OPC_Scope, 38, 5167 OPC_CheckChild1Integer, 0, 5168 OPC_CheckType, MVT::i32, 5169 OPC_Scope, 15, 5170 OPC_CheckChild2CondCode, ISD::SETEQ, 5171 OPC_CheckPatternPredicate, 5, 5172 OPC_EmitInteger, MVT::i32, 2, 5173 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTUI), 0, 5174 MVT::i32, 2, 0, 1, 5175 15, 5176 OPC_CheckChild2CondCode, ISD::SETNE, 5177 OPC_CheckPatternPredicate, 5, 5178 OPC_EmitRegister, MVT::i32, LoongArch::R0, 5179 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5180 MVT::i32, 2, 1, 0, 5181 0, 5182 7|128,3, 5183 OPC_RecordChild1, 5184 OPC_Scope, 42|128,1, 5185 OPC_MoveChild1, 5186 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5187 OPC_Scope, 37, 5188 OPC_CheckPredicate, 3, 5189 OPC_MoveParent, 5190 OPC_CheckType, MVT::i32, 5191 OPC_Scope, 14, 5192 OPC_CheckChild2CondCode, ISD::SETLT, 5193 OPC_CheckPatternPredicate, 5, 5194 OPC_EmitConvertToTarget, 1, 5195 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTI), 0, 5196 MVT::i32, 2, 0, 2, 5197 14, 5198 OPC_CheckChild2CondCode, ISD::SETULT, 5199 OPC_CheckPatternPredicate, 5, 5200 OPC_EmitConvertToTarget, 1, 5201 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTUI), 0, 5202 MVT::i32, 2, 0, 2, 5203 0, 5204 125, 5205 OPC_CheckPredicate, 25, 5206 OPC_MoveParent, 5207 OPC_CheckType, MVT::i32, 5208 OPC_Scope, 58, 5209 OPC_CheckChild2CondCode, ISD::SETEQ, 5210 OPC_Scope, 26, 5211 OPC_CheckPatternPredicate, 2, 5212 OPC_EmitConvertToTarget, 1, 5213 OPC_EmitNodeXForm, 1, 2, 5214 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_W), 0, 5215 MVT::i32, 2, 0, 3, 5216 OPC_EmitInteger, MVT::i32, 2, 5217 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTUI), 0, 5218 MVT::i32, 2, 4, 5, 5219 26, 5220 OPC_CheckPatternPredicate, 3, 5221 OPC_EmitConvertToTarget, 1, 5222 OPC_EmitNodeXForm, 1, 2, 5223 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_D), 0, 5224 MVT::i32, 2, 0, 3, 5225 OPC_EmitInteger, MVT::i32, 2, 5226 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTUI), 0, 5227 MVT::i32, 2, 4, 5, 5228 0, 5229 58, 5230 OPC_CheckChild2CondCode, ISD::SETNE, 5231 OPC_Scope, 26, 5232 OPC_CheckPatternPredicate, 2, 5233 OPC_EmitRegister, MVT::i32, LoongArch::R0, 5234 OPC_EmitConvertToTarget, 1, 5235 OPC_EmitNodeXForm, 1, 3, 5236 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_W), 0, 5237 MVT::i32, 2, 0, 4, 5238 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5239 MVT::i32, 2, 2, 5, 5240 26, 5241 OPC_CheckPatternPredicate, 3, 5242 OPC_EmitRegister, MVT::i32, LoongArch::R0, 5243 OPC_EmitConvertToTarget, 1, 5244 OPC_EmitNodeXForm, 1, 3, 5245 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_D), 0, 5246 MVT::i32, 2, 0, 4, 5247 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5248 MVT::i32, 2, 2, 5, 5249 0, 5250 0, 5251 0, 5252 14, 5253 OPC_CheckChild2CondCode, ISD::SETLT, 5254 OPC_CheckType, MVT::i32, 5255 OPC_CheckPatternPredicate, 5, 5256 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLT), 0, 5257 MVT::i32, 2, 0, 1, 5258 14, 5259 OPC_CheckChild2CondCode, ISD::SETULT, 5260 OPC_CheckType, MVT::i32, 5261 OPC_CheckPatternPredicate, 5, 5262 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5263 MVT::i32, 2, 0, 1, 5264 14, 5265 OPC_CheckChild2CondCode, ISD::SETUGT, 5266 OPC_CheckType, MVT::i32, 5267 OPC_CheckPatternPredicate, 5, 5268 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5269 MVT::i32, 2, 1, 0, 5270 14, 5271 OPC_CheckChild2CondCode, ISD::SETGT, 5272 OPC_CheckType, MVT::i32, 5273 OPC_CheckPatternPredicate, 5, 5274 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLT), 0, 5275 MVT::i32, 2, 1, 0, 5276 25, 5277 OPC_CheckChild2CondCode, ISD::SETEQ, 5278 OPC_CheckType, MVT::i32, 5279 OPC_CheckPatternPredicate, 5, 5280 OPC_EmitNode1, TARGET_VAL(LoongArch::XOR), 0, 5281 MVT::i32, 2, 0, 1, 5282 OPC_EmitInteger, MVT::i32, 2, 5283 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTUI), 0, 5284 MVT::i32, 2, 2, 3, 5285 25, 5286 OPC_CheckChild2CondCode, ISD::SETNE, 5287 OPC_CheckType, MVT::i32, 5288 OPC_CheckPatternPredicate, 5, 5289 OPC_EmitRegister, MVT::i32, LoongArch::R0, 5290 OPC_EmitNode1, TARGET_VAL(LoongArch::XOR), 0, 5291 MVT::i32, 2, 0, 1, 5292 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLTU), 0, 5293 MVT::i32, 2, 2, 3, 5294 25, 5295 OPC_CheckChild2CondCode, ISD::SETUGE, 5296 OPC_CheckType, MVT::i32, 5297 OPC_CheckPatternPredicate, 5, 5298 OPC_EmitNode1, TARGET_VAL(LoongArch::SLTU), 0, 5299 MVT::i32, 2, 0, 1, 5300 OPC_EmitInteger, MVT::i32, 2, 5301 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XORI), 0, 5302 MVT::i32, 2, 2, 3, 5303 25, 5304 OPC_CheckChild2CondCode, ISD::SETULE, 5305 OPC_CheckType, MVT::i32, 5306 OPC_CheckPatternPredicate, 5, 5307 OPC_EmitNode1, TARGET_VAL(LoongArch::SLTU), 0, 5308 MVT::i32, 2, 1, 0, 5309 OPC_EmitInteger, MVT::i32, 2, 5310 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XORI), 0, 5311 MVT::i32, 2, 2, 3, 5312 25, 5313 OPC_CheckChild2CondCode, ISD::SETGE, 5314 OPC_CheckType, MVT::i32, 5315 OPC_CheckPatternPredicate, 5, 5316 OPC_EmitNode1, TARGET_VAL(LoongArch::SLT), 0, 5317 MVT::i32, 2, 0, 1, 5318 OPC_EmitInteger, MVT::i32, 2, 5319 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XORI), 0, 5320 MVT::i32, 2, 2, 3, 5321 25, 5322 OPC_CheckChild2CondCode, ISD::SETLE, 5323 OPC_CheckType, MVT::i32, 5324 OPC_CheckPatternPredicate, 5, 5325 OPC_EmitNode1, TARGET_VAL(LoongArch::SLT), 0, 5326 MVT::i32, 2, 1, 0, 5327 OPC_EmitInteger, MVT::i32, 2, 5328 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XORI), 0, 5329 MVT::i32, 2, 2, 3, 5330 0, 5331 0, 5332 126|128,2, 5333 OPC_CheckChild0Type, MVT::f32, 5334 OPC_RecordChild1, 5335 OPC_Scope, 28, 5336 OPC_CheckChild2CondCode, ISD::SETOEQ, 5337 OPC_SwitchType , 10, MVT::i64, 5338 OPC_CheckPatternPredicate, 6, 5339 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0, 5340 MVT::i64, 2, 0, 1, 5341 10, MVT::i32, 5342 OPC_CheckPatternPredicate, 8, 5343 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0, 5344 MVT::i32, 2, 0, 1, 5345 0, 5346 28, 5347 OPC_CheckChild2CondCode, ISD::SETEQ, 5348 OPC_SwitchType , 10, MVT::i64, 5349 OPC_CheckPatternPredicate, 6, 5350 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0, 5351 MVT::i64, 2, 0, 1, 5352 10, MVT::i32, 5353 OPC_CheckPatternPredicate, 8, 5354 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0, 5355 MVT::i32, 2, 0, 1, 5356 0, 5357 28, 5358 OPC_CheckChild2CondCode, ISD::SETOLT, 5359 OPC_SwitchType , 10, MVT::i64, 5360 OPC_CheckPatternPredicate, 6, 5361 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 5362 MVT::i64, 2, 0, 1, 5363 10, MVT::i32, 5364 OPC_CheckPatternPredicate, 8, 5365 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 5366 MVT::i32, 2, 0, 1, 5367 0, 5368 28, 5369 OPC_CheckChild2CondCode, ISD::SETOLE, 5370 OPC_SwitchType , 10, MVT::i64, 5371 OPC_CheckPatternPredicate, 6, 5372 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0, 5373 MVT::i64, 2, 0, 1, 5374 10, MVT::i32, 5375 OPC_CheckPatternPredicate, 8, 5376 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0, 5377 MVT::i32, 2, 0, 1, 5378 0, 5379 28, 5380 OPC_CheckChild2CondCode, ISD::SETLE, 5381 OPC_SwitchType , 10, MVT::i64, 5382 OPC_CheckPatternPredicate, 6, 5383 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0, 5384 MVT::i64, 2, 0, 1, 5385 10, MVT::i32, 5386 OPC_CheckPatternPredicate, 8, 5387 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0, 5388 MVT::i32, 2, 0, 1, 5389 0, 5390 28, 5391 OPC_CheckChild2CondCode, ISD::SETONE, 5392 OPC_SwitchType , 10, MVT::i64, 5393 OPC_CheckPatternPredicate, 6, 5394 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CNE_S), 0, 5395 MVT::i64, 2, 0, 1, 5396 10, MVT::i32, 5397 OPC_CheckPatternPredicate, 8, 5398 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CNE_S), 0, 5399 MVT::i32, 2, 0, 1, 5400 0, 5401 28, 5402 OPC_CheckChild2CondCode, ISD::SETO, 5403 OPC_SwitchType , 10, MVT::i64, 5404 OPC_CheckPatternPredicate, 6, 5405 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_COR_S), 0, 5406 MVT::i64, 2, 0, 1, 5407 10, MVT::i32, 5408 OPC_CheckPatternPredicate, 8, 5409 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_COR_S), 0, 5410 MVT::i32, 2, 0, 1, 5411 0, 5412 28, 5413 OPC_CheckChild2CondCode, ISD::SETUEQ, 5414 OPC_SwitchType , 10, MVT::i64, 5415 OPC_CheckPatternPredicate, 6, 5416 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0, 5417 MVT::i64, 2, 0, 1, 5418 10, MVT::i32, 5419 OPC_CheckPatternPredicate, 8, 5420 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0, 5421 MVT::i32, 2, 0, 1, 5422 0, 5423 28, 5424 OPC_CheckChild2CondCode, ISD::SETULT, 5425 OPC_SwitchType , 10, MVT::i64, 5426 OPC_CheckPatternPredicate, 6, 5427 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULT_S), 0, 5428 MVT::i64, 2, 0, 1, 5429 10, MVT::i32, 5430 OPC_CheckPatternPredicate, 8, 5431 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULT_S), 0, 5432 MVT::i32, 2, 0, 1, 5433 0, 5434 28, 5435 OPC_CheckChild2CondCode, ISD::SETULE, 5436 OPC_SwitchType , 10, MVT::i64, 5437 OPC_CheckPatternPredicate, 6, 5438 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULE_S), 0, 5439 MVT::i64, 2, 0, 1, 5440 10, MVT::i32, 5441 OPC_CheckPatternPredicate, 8, 5442 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULE_S), 0, 5443 MVT::i32, 2, 0, 1, 5444 0, 5445 28, 5446 OPC_CheckChild2CondCode, ISD::SETUNE, 5447 OPC_SwitchType , 10, MVT::i64, 5448 OPC_CheckPatternPredicate, 6, 5449 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0, 5450 MVT::i64, 2, 0, 1, 5451 10, MVT::i32, 5452 OPC_CheckPatternPredicate, 8, 5453 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0, 5454 MVT::i32, 2, 0, 1, 5455 0, 5456 28, 5457 OPC_CheckChild2CondCode, ISD::SETUO, 5458 OPC_SwitchType , 10, MVT::i64, 5459 OPC_CheckPatternPredicate, 6, 5460 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUN_S), 0, 5461 MVT::i64, 2, 0, 1, 5462 10, MVT::i32, 5463 OPC_CheckPatternPredicate, 8, 5464 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUN_S), 0, 5465 MVT::i32, 2, 0, 1, 5466 0, 5467 28, 5468 OPC_CheckChild2CondCode, ISD::SETLT, 5469 OPC_SwitchType , 10, MVT::i64, 5470 OPC_CheckPatternPredicate, 6, 5471 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 5472 MVT::i64, 2, 0, 1, 5473 10, MVT::i32, 5474 OPC_CheckPatternPredicate, 8, 5475 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 5476 MVT::i32, 2, 0, 1, 5477 0, 5478 0, 5479 126|128,2, 5480 OPC_CheckChild0Type, MVT::f64, 5481 OPC_RecordChild1, 5482 OPC_Scope, 28, 5483 OPC_CheckChild2CondCode, ISD::SETOEQ, 5484 OPC_SwitchType , 10, MVT::i64, 5485 OPC_CheckPatternPredicate, 7, 5486 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0, 5487 MVT::i64, 2, 0, 1, 5488 10, MVT::i32, 5489 OPC_CheckPatternPredicate, 9, 5490 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0, 5491 MVT::i32, 2, 0, 1, 5492 0, 5493 28, 5494 OPC_CheckChild2CondCode, ISD::SETEQ, 5495 OPC_SwitchType , 10, MVT::i64, 5496 OPC_CheckPatternPredicate, 7, 5497 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0, 5498 MVT::i64, 2, 0, 1, 5499 10, MVT::i32, 5500 OPC_CheckPatternPredicate, 9, 5501 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0, 5502 MVT::i32, 2, 0, 1, 5503 0, 5504 28, 5505 OPC_CheckChild2CondCode, ISD::SETOLT, 5506 OPC_SwitchType , 10, MVT::i64, 5507 OPC_CheckPatternPredicate, 7, 5508 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 5509 MVT::i64, 2, 0, 1, 5510 10, MVT::i32, 5511 OPC_CheckPatternPredicate, 9, 5512 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 5513 MVT::i32, 2, 0, 1, 5514 0, 5515 28, 5516 OPC_CheckChild2CondCode, ISD::SETOLE, 5517 OPC_SwitchType , 10, MVT::i64, 5518 OPC_CheckPatternPredicate, 7, 5519 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0, 5520 MVT::i64, 2, 0, 1, 5521 10, MVT::i32, 5522 OPC_CheckPatternPredicate, 9, 5523 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0, 5524 MVT::i32, 2, 0, 1, 5525 0, 5526 28, 5527 OPC_CheckChild2CondCode, ISD::SETLE, 5528 OPC_SwitchType , 10, MVT::i64, 5529 OPC_CheckPatternPredicate, 7, 5530 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0, 5531 MVT::i64, 2, 0, 1, 5532 10, MVT::i32, 5533 OPC_CheckPatternPredicate, 9, 5534 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0, 5535 MVT::i32, 2, 0, 1, 5536 0, 5537 28, 5538 OPC_CheckChild2CondCode, ISD::SETONE, 5539 OPC_SwitchType , 10, MVT::i64, 5540 OPC_CheckPatternPredicate, 7, 5541 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CNE_D), 0, 5542 MVT::i64, 2, 0, 1, 5543 10, MVT::i32, 5544 OPC_CheckPatternPredicate, 9, 5545 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CNE_D), 0, 5546 MVT::i32, 2, 0, 1, 5547 0, 5548 28, 5549 OPC_CheckChild2CondCode, ISD::SETO, 5550 OPC_SwitchType , 10, MVT::i64, 5551 OPC_CheckPatternPredicate, 7, 5552 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_COR_D), 0, 5553 MVT::i64, 2, 0, 1, 5554 10, MVT::i32, 5555 OPC_CheckPatternPredicate, 9, 5556 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_COR_D), 0, 5557 MVT::i32, 2, 0, 1, 5558 0, 5559 28, 5560 OPC_CheckChild2CondCode, ISD::SETUEQ, 5561 OPC_SwitchType , 10, MVT::i64, 5562 OPC_CheckPatternPredicate, 7, 5563 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0, 5564 MVT::i64, 2, 0, 1, 5565 10, MVT::i32, 5566 OPC_CheckPatternPredicate, 9, 5567 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0, 5568 MVT::i32, 2, 0, 1, 5569 0, 5570 28, 5571 OPC_CheckChild2CondCode, ISD::SETULT, 5572 OPC_SwitchType , 10, MVT::i64, 5573 OPC_CheckPatternPredicate, 7, 5574 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULT_D), 0, 5575 MVT::i64, 2, 0, 1, 5576 10, MVT::i32, 5577 OPC_CheckPatternPredicate, 9, 5578 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULT_D), 0, 5579 MVT::i32, 2, 0, 1, 5580 0, 5581 28, 5582 OPC_CheckChild2CondCode, ISD::SETULE, 5583 OPC_SwitchType , 10, MVT::i64, 5584 OPC_CheckPatternPredicate, 7, 5585 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULE_D), 0, 5586 MVT::i64, 2, 0, 1, 5587 10, MVT::i32, 5588 OPC_CheckPatternPredicate, 9, 5589 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULE_D), 0, 5590 MVT::i32, 2, 0, 1, 5591 0, 5592 28, 5593 OPC_CheckChild2CondCode, ISD::SETUNE, 5594 OPC_SwitchType , 10, MVT::i64, 5595 OPC_CheckPatternPredicate, 7, 5596 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0, 5597 MVT::i64, 2, 0, 1, 5598 10, MVT::i32, 5599 OPC_CheckPatternPredicate, 9, 5600 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0, 5601 MVT::i32, 2, 0, 1, 5602 0, 5603 28, 5604 OPC_CheckChild2CondCode, ISD::SETUO, 5605 OPC_SwitchType , 10, MVT::i64, 5606 OPC_CheckPatternPredicate, 7, 5607 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUN_D), 0, 5608 MVT::i64, 2, 0, 1, 5609 10, MVT::i32, 5610 OPC_CheckPatternPredicate, 9, 5611 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUN_D), 0, 5612 MVT::i32, 2, 0, 1, 5613 0, 5614 28, 5615 OPC_CheckChild2CondCode, ISD::SETLT, 5616 OPC_SwitchType , 10, MVT::i64, 5617 OPC_CheckPatternPredicate, 7, 5618 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 5619 MVT::i64, 2, 0, 1, 5620 10, MVT::i32, 5621 OPC_CheckPatternPredicate, 9, 5622 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 5623 MVT::i32, 2, 0, 1, 5624 0, 5625 0, 5626 0, 5627 19|128,1, TARGET_VAL(ISD::ROTR), 5628 OPC_RecordChild0, 5629 OPC_RecordChild1, 5630 OPC_Scope, 84, 5631 OPC_MoveChild1, 5632 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5633 OPC_Scope, 38, 5634 OPC_CheckPredicate, 1, 5635 OPC_SwitchType , 15, MVT::i64, 5636 OPC_MoveParent, 5637 OPC_CheckType, MVT::i64, 5638 OPC_CheckPatternPredicate, 1, 5639 OPC_EmitConvertToTarget, 1, 5640 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTRI_W), 0, 5641 MVT::i64, 2, 0, 2, 5642 15, MVT::i32, 5643 OPC_MoveParent, 5644 OPC_CheckType, MVT::i32, 5645 OPC_CheckPatternPredicate, 2, 5646 OPC_EmitConvertToTarget, 1, 5647 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTRI_W), 0, 5648 MVT::i32, 2, 0, 2, 5649 0, 5650 38, 5651 OPC_CheckPredicate, 2, 5652 OPC_SwitchType , 15, MVT::i64, 5653 OPC_MoveParent, 5654 OPC_CheckType, MVT::i64, 5655 OPC_CheckPatternPredicate, 0, 5656 OPC_EmitConvertToTarget, 1, 5657 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTRI_D), 0, 5658 MVT::i64, 2, 0, 2, 5659 15, MVT::i32, 5660 OPC_MoveParent, 5661 OPC_CheckType, MVT::i32, 5662 OPC_CheckPatternPredicate, 3, 5663 OPC_EmitConvertToTarget, 1, 5664 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTRI_D), 0, 5665 MVT::i32, 2, 0, 2, 5666 0, 5667 0, 5668 28, 5669 OPC_CheckChild1Type, MVT::i64, 5670 OPC_CheckType, MVT::i64, 5671 OPC_Scope, 10, 5672 OPC_CheckPatternPredicate, 1, 5673 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTR_W), 0, 5674 MVT::i64, 2, 0, 1, 5675 10, 5676 OPC_CheckPatternPredicate, 0, 5677 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTR_D), 0, 5678 MVT::i64, 2, 0, 1, 5679 0, 5680 28, 5681 OPC_CheckChild1Type, MVT::i32, 5682 OPC_CheckType, MVT::i32, 5683 OPC_Scope, 10, 5684 OPC_CheckPatternPredicate, 2, 5685 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTR_W), 0, 5686 MVT::i32, 2, 0, 1, 5687 10, 5688 OPC_CheckPatternPredicate, 3, 5689 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTR_D), 0, 5690 MVT::i32, 2, 0, 1, 5691 0, 5692 0, 5693 24, TARGET_VAL(LoongArchISD::ROTL_W), 5694 OPC_RecordChild0, 5695 OPC_RecordChild1, 5696 OPC_MoveChild1, 5697 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5698 OPC_CheckPredicate, 1, 5699 OPC_MoveParent, 5700 OPC_CheckPatternPredicate, 0, 5701 OPC_EmitConvertToTarget, 1, 5702 OPC_EmitNodeXForm, 0, 2, 5703 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTRI_W), 0, 5704 MVT::i64, 2, 0, 3, 5705 31|128,1, TARGET_VAL(ISD::SHL), 5706 OPC_RecordChild0, 5707 OPC_RecordChild1, 5708 OPC_Scope, 84, 5709 OPC_MoveChild1, 5710 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5711 OPC_Scope, 38, 5712 OPC_CheckPredicate, 1, 5713 OPC_SwitchType , 15, MVT::i64, 5714 OPC_MoveParent, 5715 OPC_CheckType, MVT::i64, 5716 OPC_CheckPatternPredicate, 1, 5717 OPC_EmitConvertToTarget, 1, 5718 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLLI_W), 0, 5719 MVT::i64, 2, 0, 2, 5720 15, MVT::i32, 5721 OPC_MoveParent, 5722 OPC_CheckType, MVT::i32, 5723 OPC_CheckPatternPredicate, 2, 5724 OPC_EmitConvertToTarget, 1, 5725 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLLI_W), 0, 5726 MVT::i32, 2, 0, 2, 5727 0, 5728 38, 5729 OPC_CheckPredicate, 2, 5730 OPC_SwitchType , 15, MVT::i64, 5731 OPC_MoveParent, 5732 OPC_CheckType, MVT::i64, 5733 OPC_CheckPatternPredicate, 0, 5734 OPC_EmitConvertToTarget, 1, 5735 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLLI_D), 0, 5736 MVT::i64, 2, 0, 2, 5737 15, MVT::i32, 5738 OPC_MoveParent, 5739 OPC_CheckType, MVT::i32, 5740 OPC_CheckPatternPredicate, 3, 5741 OPC_EmitConvertToTarget, 1, 5742 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLLI_D), 0, 5743 MVT::i32, 2, 0, 2, 5744 0, 5745 0, 5746 34, 5747 OPC_CheckChild1Type, MVT::i64, 5748 OPC_CheckType, MVT::i64, 5749 OPC_Scope, 13, 5750 OPC_CheckPatternPredicate, 1, 5751 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5752 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLL_W), 0, 5753 MVT::i64, 2, 0, 2, 5754 13, 5755 OPC_CheckPatternPredicate, 0, 5756 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5757 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLL_D), 0, 5758 MVT::i64, 2, 0, 2, 5759 0, 5760 34, 5761 OPC_CheckChild1Type, MVT::i32, 5762 OPC_CheckType, MVT::i32, 5763 OPC_Scope, 13, 5764 OPC_CheckPatternPredicate, 2, 5765 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5766 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLL_W), 0, 5767 MVT::i32, 2, 0, 2, 5768 13, 5769 OPC_CheckPatternPredicate, 3, 5770 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5771 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLL_D), 0, 5772 MVT::i32, 2, 0, 2, 5773 0, 5774 0, 5775 31|128,1, TARGET_VAL(ISD::SRA), 5776 OPC_RecordChild0, 5777 OPC_RecordChild1, 5778 OPC_Scope, 84, 5779 OPC_MoveChild1, 5780 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5781 OPC_Scope, 38, 5782 OPC_CheckPredicate, 1, 5783 OPC_SwitchType , 15, MVT::i64, 5784 OPC_MoveParent, 5785 OPC_CheckType, MVT::i64, 5786 OPC_CheckPatternPredicate, 1, 5787 OPC_EmitConvertToTarget, 1, 5788 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRAI_W), 0, 5789 MVT::i64, 2, 0, 2, 5790 15, MVT::i32, 5791 OPC_MoveParent, 5792 OPC_CheckType, MVT::i32, 5793 OPC_CheckPatternPredicate, 2, 5794 OPC_EmitConvertToTarget, 1, 5795 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRAI_W), 0, 5796 MVT::i32, 2, 0, 2, 5797 0, 5798 38, 5799 OPC_CheckPredicate, 2, 5800 OPC_SwitchType , 15, MVT::i64, 5801 OPC_MoveParent, 5802 OPC_CheckType, MVT::i64, 5803 OPC_CheckPatternPredicate, 0, 5804 OPC_EmitConvertToTarget, 1, 5805 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRAI_D), 0, 5806 MVT::i64, 2, 0, 2, 5807 15, MVT::i32, 5808 OPC_MoveParent, 5809 OPC_CheckType, MVT::i32, 5810 OPC_CheckPatternPredicate, 3, 5811 OPC_EmitConvertToTarget, 1, 5812 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRAI_D), 0, 5813 MVT::i32, 2, 0, 2, 5814 0, 5815 0, 5816 34, 5817 OPC_CheckChild1Type, MVT::i64, 5818 OPC_CheckType, MVT::i64, 5819 OPC_Scope, 13, 5820 OPC_CheckPatternPredicate, 1, 5821 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5822 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRA_W), 0, 5823 MVT::i64, 2, 0, 2, 5824 13, 5825 OPC_CheckPatternPredicate, 0, 5826 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5827 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRA_D), 0, 5828 MVT::i64, 2, 0, 2, 5829 0, 5830 34, 5831 OPC_CheckChild1Type, MVT::i32, 5832 OPC_CheckType, MVT::i32, 5833 OPC_Scope, 13, 5834 OPC_CheckPatternPredicate, 2, 5835 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5836 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRA_W), 0, 5837 MVT::i32, 2, 0, 2, 5838 13, 5839 OPC_CheckPatternPredicate, 3, 5840 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5841 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRA_D), 0, 5842 MVT::i32, 2, 0, 2, 5843 0, 5844 0, 5845 31|128,1, TARGET_VAL(ISD::SRL), 5846 OPC_RecordChild0, 5847 OPC_RecordChild1, 5848 OPC_Scope, 84, 5849 OPC_MoveChild1, 5850 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5851 OPC_Scope, 38, 5852 OPC_CheckPredicate, 1, 5853 OPC_SwitchType , 15, MVT::i64, 5854 OPC_MoveParent, 5855 OPC_CheckType, MVT::i64, 5856 OPC_CheckPatternPredicate, 1, 5857 OPC_EmitConvertToTarget, 1, 5858 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRLI_W), 0, 5859 MVT::i64, 2, 0, 2, 5860 15, MVT::i32, 5861 OPC_MoveParent, 5862 OPC_CheckType, MVT::i32, 5863 OPC_CheckPatternPredicate, 2, 5864 OPC_EmitConvertToTarget, 1, 5865 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRLI_W), 0, 5866 MVT::i32, 2, 0, 2, 5867 0, 5868 38, 5869 OPC_CheckPredicate, 2, 5870 OPC_SwitchType , 15, MVT::i64, 5871 OPC_MoveParent, 5872 OPC_CheckType, MVT::i64, 5873 OPC_CheckPatternPredicate, 0, 5874 OPC_EmitConvertToTarget, 1, 5875 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRLI_D), 0, 5876 MVT::i64, 2, 0, 2, 5877 15, MVT::i32, 5878 OPC_MoveParent, 5879 OPC_CheckType, MVT::i32, 5880 OPC_CheckPatternPredicate, 3, 5881 OPC_EmitConvertToTarget, 1, 5882 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRLI_D), 0, 5883 MVT::i32, 2, 0, 2, 5884 0, 5885 0, 5886 34, 5887 OPC_CheckChild1Type, MVT::i64, 5888 OPC_CheckType, MVT::i64, 5889 OPC_Scope, 13, 5890 OPC_CheckPatternPredicate, 1, 5891 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5892 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRL_W), 0, 5893 MVT::i64, 2, 0, 2, 5894 13, 5895 OPC_CheckPatternPredicate, 0, 5896 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5897 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRL_D), 0, 5898 MVT::i64, 2, 0, 2, 5899 0, 5900 34, 5901 OPC_CheckChild1Type, MVT::i32, 5902 OPC_CheckType, MVT::i32, 5903 OPC_Scope, 13, 5904 OPC_CheckPatternPredicate, 2, 5905 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5906 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRL_W), 0, 5907 MVT::i32, 2, 0, 2, 5908 13, 5909 OPC_CheckPatternPredicate, 3, 5910 OPC_CheckComplexPat, /*CP*/2, /*#*/1, 5911 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRL_D), 0, 5912 MVT::i32, 2, 0, 2, 5913 0, 5914 0, 5915 38, TARGET_VAL(LoongArchISD::DBAR), 5916 OPC_RecordNode, 5917 OPC_RecordChild1, 5918 OPC_MoveChild1, 5919 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5920 OPC_CheckPredicate, 26, 5921 OPC_SwitchType , 12, MVT::i64, 5922 OPC_MoveParent, 5923 OPC_CheckPatternPredicate, 4, 5924 OPC_EmitMergeInputChains1_0, 5925 OPC_EmitConvertToTarget, 1, 5926 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::DBAR), 0|OPFL_Chain, 5927 1, 2, 5928 12, MVT::i32, 5929 OPC_MoveParent, 5930 OPC_CheckPatternPredicate, 5, 5931 OPC_EmitMergeInputChains1_0, 5932 OPC_EmitConvertToTarget, 1, 5933 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::DBAR), 0|OPFL_Chain, 5934 1, 2, 5935 0, 5936 38, TARGET_VAL(LoongArchISD::IBAR), 5937 OPC_RecordNode, 5938 OPC_RecordChild1, 5939 OPC_MoveChild1, 5940 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5941 OPC_CheckPredicate, 26, 5942 OPC_SwitchType , 12, MVT::i64, 5943 OPC_MoveParent, 5944 OPC_CheckPatternPredicate, 4, 5945 OPC_EmitMergeInputChains1_0, 5946 OPC_EmitConvertToTarget, 1, 5947 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::IBAR), 0|OPFL_Chain, 5948 1, 2, 5949 12, MVT::i32, 5950 OPC_MoveParent, 5951 OPC_CheckPatternPredicate, 5, 5952 OPC_EmitMergeInputChains1_0, 5953 OPC_EmitConvertToTarget, 1, 5954 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::IBAR), 0|OPFL_Chain, 5955 1, 2, 5956 0, 5957 38, TARGET_VAL(LoongArchISD::BREAK), 5958 OPC_RecordNode, 5959 OPC_RecordChild1, 5960 OPC_MoveChild1, 5961 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5962 OPC_CheckPredicate, 26, 5963 OPC_SwitchType , 12, MVT::i64, 5964 OPC_MoveParent, 5965 OPC_CheckPatternPredicate, 4, 5966 OPC_EmitMergeInputChains1_0, 5967 OPC_EmitConvertToTarget, 1, 5968 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BREAK), 0|OPFL_Chain, 5969 1, 2, 5970 12, MVT::i32, 5971 OPC_MoveParent, 5972 OPC_CheckPatternPredicate, 5, 5973 OPC_EmitMergeInputChains1_0, 5974 OPC_EmitConvertToTarget, 1, 5975 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BREAK), 0|OPFL_Chain, 5976 1, 2, 5977 0, 5978 38, TARGET_VAL(LoongArchISD::SYSCALL), 5979 OPC_RecordNode, 5980 OPC_RecordChild1, 5981 OPC_MoveChild1, 5982 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 5983 OPC_CheckPredicate, 26, 5984 OPC_SwitchType , 12, MVT::i64, 5985 OPC_MoveParent, 5986 OPC_CheckPatternPredicate, 4, 5987 OPC_EmitMergeInputChains1_0, 5988 OPC_EmitConvertToTarget, 1, 5989 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::SYSCALL), 0|OPFL_Chain, 5990 1, 2, 5991 12, MVT::i32, 5992 OPC_MoveParent, 5993 OPC_CheckPatternPredicate, 5, 5994 OPC_EmitMergeInputChains1_0, 5995 OPC_EmitConvertToTarget, 1, 5996 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::SYSCALL), 0|OPFL_Chain, 5997 1, 2, 5998 0, 5999 44, TARGET_VAL(LoongArchISD::CSRRD), 6000 OPC_RecordNode, 6001 OPC_RecordChild1, 6002 OPC_MoveChild1, 6003 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 6004 OPC_CheckPredicate, 27, 6005 OPC_SwitchType , 15, MVT::i64, 6006 OPC_MoveParent, 6007 OPC_CheckType, MVT::i64, 6008 OPC_CheckPatternPredicate, 4, 6009 OPC_EmitMergeInputChains1_0, 6010 OPC_EmitConvertToTarget, 1, 6011 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CSRRD), 0|OPFL_Chain, 6012 MVT::i64, 1, 2, 6013 15, MVT::i32, 6014 OPC_MoveParent, 6015 OPC_CheckType, MVT::i32, 6016 OPC_CheckPatternPredicate, 5, 6017 OPC_EmitMergeInputChains1_0, 6018 OPC_EmitConvertToTarget, 1, 6019 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CSRRD), 0|OPFL_Chain, 6020 MVT::i32, 1, 2, 6021 0, 6022 47, TARGET_VAL(LoongArchISD::CSRWR), 6023 OPC_RecordNode, 6024 OPC_RecordChild1, 6025 OPC_RecordChild2, 6026 OPC_MoveChild2, 6027 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 6028 OPC_CheckPredicate, 27, 6029 OPC_SwitchType , 16, MVT::i64, 6030 OPC_MoveParent, 6031 OPC_CheckType, MVT::i64, 6032 OPC_CheckPatternPredicate, 4, 6033 OPC_EmitMergeInputChains1_0, 6034 OPC_EmitConvertToTarget, 2, 6035 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CSRWR), 0|OPFL_Chain, 6036 MVT::i64, 2, 1, 3, 6037 16, MVT::i32, 6038 OPC_MoveParent, 6039 OPC_CheckType, MVT::i32, 6040 OPC_CheckPatternPredicate, 5, 6041 OPC_EmitMergeInputChains1_0, 6042 OPC_EmitConvertToTarget, 2, 6043 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CSRWR), 0|OPFL_Chain, 6044 MVT::i32, 2, 1, 3, 6045 0, 6046 50, TARGET_VAL(LoongArchISD::CSRXCHG), 6047 OPC_RecordNode, 6048 OPC_RecordChild1, 6049 OPC_RecordChild2, 6050 OPC_RecordChild3, 6051 OPC_MoveChild3, 6052 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 6053 OPC_CheckPredicate, 27, 6054 OPC_SwitchType , 17, MVT::i64, 6055 OPC_MoveParent, 6056 OPC_CheckType, MVT::i64, 6057 OPC_CheckPatternPredicate, 4, 6058 OPC_EmitMergeInputChains1_0, 6059 OPC_EmitConvertToTarget, 3, 6060 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CSRXCHG), 0|OPFL_Chain, 6061 MVT::i64, 3, 1, 2, 4, 6062 17, MVT::i32, 6063 OPC_MoveParent, 6064 OPC_CheckType, MVT::i32, 6065 OPC_CheckPatternPredicate, 5, 6066 OPC_EmitMergeInputChains1_0, 6067 OPC_EmitConvertToTarget, 3, 6068 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CSRXCHG), 0|OPFL_Chain, 6069 MVT::i32, 3, 1, 2, 4, 6070 0, 6071 46, TARGET_VAL(LoongArchISD::MOVGR2FCSR), 6072 OPC_RecordNode, 6073 OPC_RecordChild1, 6074 OPC_MoveChild1, 6075 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 6076 OPC_CheckPredicate, 28, 6077 OPC_SwitchType , 16, MVT::i64, 6078 OPC_MoveParent, 6079 OPC_RecordChild2, 6080 OPC_CheckChild2Type, MVT::i64, 6081 OPC_CheckPatternPredicate, 6, 6082 OPC_EmitMergeInputChains1_0, 6083 OPC_EmitConvertToTarget, 1, 6084 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::WRFCSR), 0|OPFL_Chain, 6085 2, 3, 2, 6086 16, MVT::i32, 6087 OPC_MoveParent, 6088 OPC_RecordChild2, 6089 OPC_CheckChild2Type, MVT::i32, 6090 OPC_CheckPatternPredicate, 8, 6091 OPC_EmitMergeInputChains1_0, 6092 OPC_EmitConvertToTarget, 1, 6093 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::WRFCSR), 0|OPFL_Chain, 6094 2, 3, 2, 6095 0, 6096 41, TARGET_VAL(LoongArchISD::MOVFCSR2GR), 6097 OPC_RecordChild0, 6098 OPC_MoveChild0, 6099 OPC_CheckOpcode, TARGET_VAL(ISD::Constant), 6100 OPC_CheckPredicate, 28, 6101 OPC_SwitchType , 14, MVT::i64, 6102 OPC_MoveParent, 6103 OPC_CheckType, MVT::i64, 6104 OPC_CheckPatternPredicate, 6, 6105 OPC_EmitConvertToTarget, 0, 6106 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::RDFCSR), 0, 6107 MVT::i64, 1, 1, 6108 14, MVT::i32, 6109 OPC_MoveParent, 6110 OPC_CheckType, MVT::i32, 6111 OPC_CheckPatternPredicate, 8, 6112 OPC_EmitConvertToTarget, 0, 6113 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::RDFCSR), 0, 6114 MVT::i32, 1, 1, 6115 0, 6116 15, TARGET_VAL(LoongArchISD::SLL_W), 6117 OPC_RecordChild0, 6118 OPC_RecordChild1, 6119 OPC_CheckPatternPredicate, 0, 6120 OPC_CheckComplexPat, /*CP*/3, /*#*/1, 6121 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SLL_W), 0, 6122 MVT::i64, 2, 0, 2, 6123 15, TARGET_VAL(LoongArchISD::SRA_W), 6124 OPC_RecordChild0, 6125 OPC_RecordChild1, 6126 OPC_CheckPatternPredicate, 0, 6127 OPC_CheckComplexPat, /*CP*/3, /*#*/1, 6128 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRA_W), 0, 6129 MVT::i64, 2, 0, 2, 6130 15, TARGET_VAL(LoongArchISD::SRL_W), 6131 OPC_RecordChild0, 6132 OPC_RecordChild1, 6133 OPC_CheckPatternPredicate, 0, 6134 OPC_CheckComplexPat, /*CP*/3, /*#*/1, 6135 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SRL_W), 0, 6136 MVT::i64, 2, 0, 2, 6137 91, TARGET_VAL(LoongArchISD::CALL), 6138 OPC_RecordNode, 6139 OPC_CaptureGlueInput, 6140 OPC_RecordChild1, 6141 OPC_Scope, 61, 6142 OPC_MoveChild1, 6143 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::TargetGlobalAddress), 6144 OPC_SwitchType , 10, MVT::i64, 6145 OPC_MoveParent, 6146 OPC_CheckPatternPredicate, 4, 6147 OPC_EmitMergeInputChains1_0, 6148 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6149 1, 1, 6150 10, MVT::i32, 6151 OPC_MoveParent, 6152 OPC_CheckPatternPredicate, 5, 6153 OPC_EmitMergeInputChains1_0, 6154 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6155 1, 1, 6156 0, 6157 26, TARGET_VAL(ISD::TargetExternalSymbol), 6158 OPC_SwitchType , 10, MVT::i64, 6159 OPC_MoveParent, 6160 OPC_CheckPatternPredicate, 4, 6161 OPC_EmitMergeInputChains1_0, 6162 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6163 1, 1, 6164 10, MVT::i32, 6165 OPC_MoveParent, 6166 OPC_CheckPatternPredicate, 5, 6167 OPC_EmitMergeInputChains1_0, 6168 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6169 1, 1, 6170 0, 6171 0, 6172 11, 6173 OPC_CheckChild1Type, MVT::i64, 6174 OPC_CheckPatternPredicate, 4, 6175 OPC_EmitMergeInputChains1_0, 6176 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6177 1, 1, 6178 11, 6179 OPC_CheckChild1Type, MVT::i32, 6180 OPC_CheckPatternPredicate, 5, 6181 OPC_EmitMergeInputChains1_0, 6182 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6183 1, 1, 6184 0, 6185 91, TARGET_VAL(LoongArchISD::TAIL), 6186 OPC_RecordNode, 6187 OPC_CaptureGlueInput, 6188 OPC_RecordChild1, 6189 OPC_Scope, 61, 6190 OPC_MoveChild1, 6191 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::TargetGlobalAddress), 6192 OPC_SwitchType , 10, MVT::i64, 6193 OPC_MoveParent, 6194 OPC_CheckPatternPredicate, 4, 6195 OPC_EmitMergeInputChains1_0, 6196 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6197 1, 1, 6198 10, MVT::i32, 6199 OPC_MoveParent, 6200 OPC_CheckPatternPredicate, 5, 6201 OPC_EmitMergeInputChains1_0, 6202 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6203 1, 1, 6204 0, 6205 26, TARGET_VAL(ISD::TargetExternalSymbol), 6206 OPC_SwitchType , 10, MVT::i64, 6207 OPC_MoveParent, 6208 OPC_CheckPatternPredicate, 4, 6209 OPC_EmitMergeInputChains1_0, 6210 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6211 1, 1, 6212 10, MVT::i32, 6213 OPC_MoveParent, 6214 OPC_CheckPatternPredicate, 5, 6215 OPC_EmitMergeInputChains1_0, 6216 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6217 1, 1, 6218 0, 6219 0, 6220 11, 6221 OPC_CheckChild1Type, MVT::i64, 6222 OPC_CheckPatternPredicate, 4, 6223 OPC_EmitMergeInputChains1_0, 6224 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6225 1, 1, 6226 11, 6227 OPC_CheckChild1Type, MVT::i32, 6228 OPC_CheckPatternPredicate, 5, 6229 OPC_EmitMergeInputChains1_0, 6230 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1, 6231 1, 1, 6232 0, 6233 5|128,1, TARGET_VAL(ISD::BSWAP), 6234 OPC_Scope, 56, 6235 OPC_MoveChild0, 6236 OPC_CheckOpcode, TARGET_VAL(ISD::BITREVERSE), 6237 OPC_RecordChild0, 6238 OPC_MoveParent, 6239 OPC_SwitchType , 22, MVT::i64, 6240 OPC_Scope, 9, 6241 OPC_CheckPatternPredicate, 1, 6242 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_4B), 0, 6243 MVT::i64, 1, 0, 6244 9, 6245 OPC_CheckPatternPredicate, 0, 6246 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_8B), 0, 6247 MVT::i64, 1, 0, 6248 0, 6249 22, MVT::i32, 6250 OPC_Scope, 9, 6251 OPC_CheckPatternPredicate, 2, 6252 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_4B), 0, 6253 MVT::i32, 1, 0, 6254 9, 6255 OPC_CheckPatternPredicate, 3, 6256 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_8B), 0, 6257 MVT::i32, 1, 0, 6258 0, 6259 0, 6260 73, 6261 OPC_RecordChild0, 6262 OPC_SwitchType , 33, MVT::i64, 6263 OPC_Scope, 9, 6264 OPC_CheckPatternPredicate, 0, 6265 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::REVB_D), 0, 6266 MVT::i64, 1, 0, 6267 20, 6268 OPC_CheckPatternPredicate, 1, 6269 OPC_EmitNode1, TARGET_VAL(LoongArch::REVB_2H), 0, 6270 MVT::i64, 1, 0, 6271 OPC_EmitInteger, MVT::i64, 32, 6272 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTRI_W), 0, 6273 MVT::i64, 2, 1, 2, 6274 0, 6275 33, MVT::i32, 6276 OPC_Scope, 9, 6277 OPC_CheckPatternPredicate, 3, 6278 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::REVB_D), 0, 6279 MVT::i32, 1, 0, 6280 20, 6281 OPC_CheckPatternPredicate, 2, 6282 OPC_EmitNode1, TARGET_VAL(LoongArch::REVB_2H), 0, 6283 MVT::i32, 1, 0, 6284 OPC_EmitInteger, MVT::i32, 32, 6285 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTRI_W), 0, 6286 MVT::i32, 2, 1, 2, 6287 0, 6288 0, 6289 0, 6290 111, TARGET_VAL(ISD::BITREVERSE), 6291 OPC_Scope, 56, 6292 OPC_MoveChild0, 6293 OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP), 6294 OPC_RecordChild0, 6295 OPC_MoveParent, 6296 OPC_SwitchType , 22, MVT::i64, 6297 OPC_Scope, 9, 6298 OPC_CheckPatternPredicate, 1, 6299 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_4B), 0, 6300 MVT::i64, 1, 0, 6301 9, 6302 OPC_CheckPatternPredicate, 0, 6303 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_8B), 0, 6304 MVT::i64, 1, 0, 6305 0, 6306 22, MVT::i32, 6307 OPC_Scope, 9, 6308 OPC_CheckPatternPredicate, 2, 6309 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_4B), 0, 6310 MVT::i32, 1, 0, 6311 9, 6312 OPC_CheckPatternPredicate, 3, 6313 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_8B), 0, 6314 MVT::i32, 1, 0, 6315 0, 6316 0, 6317 51, 6318 OPC_RecordChild0, 6319 OPC_SwitchType , 22, MVT::i64, 6320 OPC_Scope, 9, 6321 OPC_CheckPatternPredicate, 1, 6322 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_W), 0, 6323 MVT::i64, 1, 0, 6324 9, 6325 OPC_CheckPatternPredicate, 0, 6326 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_D), 0, 6327 MVT::i64, 1, 0, 6328 0, 6329 22, MVT::i32, 6330 OPC_Scope, 9, 6331 OPC_CheckPatternPredicate, 2, 6332 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_W), 0, 6333 MVT::i32, 1, 0, 6334 9, 6335 OPC_CheckPatternPredicate, 3, 6336 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_D), 0, 6337 MVT::i32, 1, 0, 6338 0, 6339 0, 6340 0, 6341 37|128,3, TARGET_VAL(ISD::ATOMIC_LOAD_NAND), 6342 OPC_RecordMemRef, 6343 OPC_RecordNode, 6344 OPC_RecordChild1, 6345 OPC_SwitchType , 77|128,1, MVT::i64, 6346 OPC_CheckChild1Type, MVT::i64, 6347 OPC_RecordChild2, 6348 OPC_Scope, 99, 6349 OPC_CheckPredicate, 20, 6350 OPC_Scope, 18, 6351 OPC_CheckPredicate, 29, 6352 OPC_CheckPatternPredicate, 0, 6353 OPC_EmitMergeInputChains1_0, 6354 OPC_EmitInteger, MVT::i64, 4, 6355 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs, 6356 MVT::i64, MVT::i64, 3, 1, 2, 3, 6357 18, 6358 OPC_CheckPredicate, 30, 6359 OPC_CheckPatternPredicate, 0, 6360 OPC_EmitMergeInputChains1_0, 6361 OPC_EmitInteger, MVT::i64, 8, 6362 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs, 6363 MVT::i64, MVT::i64, 3, 1, 2, 3, 6364 18, 6365 OPC_CheckPredicate, 31, 6366 OPC_CheckPatternPredicate, 0, 6367 OPC_EmitMergeInputChains1_0, 6368 OPC_EmitInteger, MVT::i64, 10, 6369 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs, 6370 MVT::i64, MVT::i64, 3, 1, 2, 3, 6371 18, 6372 OPC_CheckPredicate, 32, 6373 OPC_CheckPatternPredicate, 0, 6374 OPC_EmitMergeInputChains1_0, 6375 OPC_EmitInteger, MVT::i64, 12, 6376 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs, 6377 MVT::i64, MVT::i64, 3, 1, 2, 3, 6378 18, 6379 OPC_CheckPredicate, 33, 6380 OPC_CheckPatternPredicate, 0, 6381 OPC_EmitMergeInputChains1_0, 6382 OPC_EmitInteger, MVT::i64, 14, 6383 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs, 6384 MVT::i64, MVT::i64, 3, 1, 2, 3, 6385 0, 6386 99, 6387 OPC_CheckPredicate, 12, 6388 OPC_Scope, 18, 6389 OPC_CheckPredicate, 29, 6390 OPC_CheckPatternPredicate, 4, 6391 OPC_EmitMergeInputChains1_0, 6392 OPC_EmitInteger, MVT::i64, 4, 6393 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs, 6394 MVT::i64, MVT::i64, 3, 1, 2, 3, 6395 18, 6396 OPC_CheckPredicate, 30, 6397 OPC_CheckPatternPredicate, 4, 6398 OPC_EmitMergeInputChains1_0, 6399 OPC_EmitInteger, MVT::i64, 8, 6400 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs, 6401 MVT::i64, MVT::i64, 3, 1, 2, 3, 6402 18, 6403 OPC_CheckPredicate, 31, 6404 OPC_CheckPatternPredicate, 4, 6405 OPC_EmitMergeInputChains1_0, 6406 OPC_EmitInteger, MVT::i64, 10, 6407 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs, 6408 MVT::i64, MVT::i64, 3, 1, 2, 3, 6409 18, 6410 OPC_CheckPredicate, 32, 6411 OPC_CheckPatternPredicate, 4, 6412 OPC_EmitMergeInputChains1_0, 6413 OPC_EmitInteger, MVT::i64, 12, 6414 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs, 6415 MVT::i64, MVT::i64, 3, 1, 2, 3, 6416 18, 6417 OPC_CheckPredicate, 33, 6418 OPC_CheckPatternPredicate, 4, 6419 OPC_EmitMergeInputChains1_0, 6420 OPC_EmitInteger, MVT::i64, 14, 6421 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs, 6422 MVT::i64, MVT::i64, 3, 1, 2, 3, 6423 0, 6424 0, 6425 77|128,1, MVT::i32, 6426 OPC_CheckChild1Type, MVT::i32, 6427 OPC_RecordChild2, 6428 OPC_Scope, 99, 6429 OPC_CheckPredicate, 20, 6430 OPC_Scope, 18, 6431 OPC_CheckPredicate, 29, 6432 OPC_CheckPatternPredicate, 3, 6433 OPC_EmitMergeInputChains1_0, 6434 OPC_EmitInteger, MVT::i32, 4, 6435 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs, 6436 MVT::i32, MVT::i32, 3, 1, 2, 3, 6437 18, 6438 OPC_CheckPredicate, 30, 6439 OPC_CheckPatternPredicate, 3, 6440 OPC_EmitMergeInputChains1_0, 6441 OPC_EmitInteger, MVT::i32, 8, 6442 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs, 6443 MVT::i32, MVT::i32, 3, 1, 2, 3, 6444 18, 6445 OPC_CheckPredicate, 31, 6446 OPC_CheckPatternPredicate, 3, 6447 OPC_EmitMergeInputChains1_0, 6448 OPC_EmitInteger, MVT::i32, 10, 6449 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs, 6450 MVT::i32, MVT::i32, 3, 1, 2, 3, 6451 18, 6452 OPC_CheckPredicate, 32, 6453 OPC_CheckPatternPredicate, 3, 6454 OPC_EmitMergeInputChains1_0, 6455 OPC_EmitInteger, MVT::i32, 12, 6456 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs, 6457 MVT::i32, MVT::i32, 3, 1, 2, 3, 6458 18, 6459 OPC_CheckPredicate, 33, 6460 OPC_CheckPatternPredicate, 3, 6461 OPC_EmitMergeInputChains1_0, 6462 OPC_EmitInteger, MVT::i32, 14, 6463 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs, 6464 MVT::i32, MVT::i32, 3, 1, 2, 3, 6465 0, 6466 99, 6467 OPC_CheckPredicate, 12, 6468 OPC_Scope, 18, 6469 OPC_CheckPredicate, 29, 6470 OPC_CheckPatternPredicate, 5, 6471 OPC_EmitMergeInputChains1_0, 6472 OPC_EmitInteger, MVT::i32, 4, 6473 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs, 6474 MVT::i32, MVT::i32, 3, 1, 2, 3, 6475 18, 6476 OPC_CheckPredicate, 30, 6477 OPC_CheckPatternPredicate, 5, 6478 OPC_EmitMergeInputChains1_0, 6479 OPC_EmitInteger, MVT::i32, 8, 6480 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs, 6481 MVT::i32, MVT::i32, 3, 1, 2, 3, 6482 18, 6483 OPC_CheckPredicate, 31, 6484 OPC_CheckPatternPredicate, 5, 6485 OPC_EmitMergeInputChains1_0, 6486 OPC_EmitInteger, MVT::i32, 10, 6487 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs, 6488 MVT::i32, MVT::i32, 3, 1, 2, 3, 6489 18, 6490 OPC_CheckPredicate, 32, 6491 OPC_CheckPatternPredicate, 5, 6492 OPC_EmitMergeInputChains1_0, 6493 OPC_EmitInteger, MVT::i32, 12, 6494 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs, 6495 MVT::i32, MVT::i32, 3, 1, 2, 3, 6496 18, 6497 OPC_CheckPredicate, 33, 6498 OPC_CheckPatternPredicate, 5, 6499 OPC_EmitMergeInputChains1_0, 6500 OPC_EmitInteger, MVT::i32, 14, 6501 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs, 6502 MVT::i32, MVT::i32, 3, 1, 2, 3, 6503 0, 6504 0, 6505 0, 6506 21|128,2, TARGET_VAL(ISD::ATOMIC_SWAP), 6507 OPC_RecordMemRef, 6508 OPC_RecordNode, 6509 OPC_RecordChild1, 6510 OPC_SwitchType , 5|128,1, MVT::i64, 6511 OPC_CheckChild1Type, MVT::i64, 6512 OPC_RecordChild2, 6513 OPC_Scope, 13, 6514 OPC_CheckPredicate, 12, 6515 OPC_CheckPatternPredicate, 0, 6516 OPC_EmitMergeInputChains1_0, 6517 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 6518 MVT::i64, 2, 2, 1, 6519 13, 6520 OPC_CheckPredicate, 20, 6521 OPC_CheckPatternPredicate, 0, 6522 OPC_EmitMergeInputChains1_0, 6523 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 6524 MVT::i64, 2, 2, 1, 6525 99, 6526 OPC_CheckPredicate, 12, 6527 OPC_Scope, 18, 6528 OPC_CheckPredicate, 29, 6529 OPC_CheckPatternPredicate, 1, 6530 OPC_EmitMergeInputChains1_0, 6531 OPC_EmitInteger, MVT::i64, 4, 6532 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs, 6533 MVT::i64, MVT::i64, 3, 1, 2, 3, 6534 18, 6535 OPC_CheckPredicate, 30, 6536 OPC_CheckPatternPredicate, 1, 6537 OPC_EmitMergeInputChains1_0, 6538 OPC_EmitInteger, MVT::i64, 8, 6539 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs, 6540 MVT::i64, MVT::i64, 3, 1, 2, 3, 6541 18, 6542 OPC_CheckPredicate, 31, 6543 OPC_CheckPatternPredicate, 1, 6544 OPC_EmitMergeInputChains1_0, 6545 OPC_EmitInteger, MVT::i64, 10, 6546 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs, 6547 MVT::i64, MVT::i64, 3, 1, 2, 3, 6548 18, 6549 OPC_CheckPredicate, 32, 6550 OPC_CheckPatternPredicate, 1, 6551 OPC_EmitMergeInputChains1_0, 6552 OPC_EmitInteger, MVT::i64, 12, 6553 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs, 6554 MVT::i64, MVT::i64, 3, 1, 2, 3, 6555 18, 6556 OPC_CheckPredicate, 33, 6557 OPC_CheckPatternPredicate, 1, 6558 OPC_EmitMergeInputChains1_0, 6559 OPC_EmitInteger, MVT::i64, 14, 6560 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs, 6561 MVT::i64, MVT::i64, 3, 1, 2, 3, 6562 0, 6563 0, 6564 5|128,1, MVT::i32, 6565 OPC_CheckChild1Type, MVT::i32, 6566 OPC_RecordChild2, 6567 OPC_Scope, 13, 6568 OPC_CheckPredicate, 12, 6569 OPC_CheckPatternPredicate, 3, 6570 OPC_EmitMergeInputChains1_0, 6571 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 6572 MVT::i32, 2, 2, 1, 6573 13, 6574 OPC_CheckPredicate, 20, 6575 OPC_CheckPatternPredicate, 3, 6576 OPC_EmitMergeInputChains1_0, 6577 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 6578 MVT::i32, 2, 2, 1, 6579 99, 6580 OPC_CheckPredicate, 12, 6581 OPC_Scope, 18, 6582 OPC_CheckPredicate, 29, 6583 OPC_CheckPatternPredicate, 2, 6584 OPC_EmitMergeInputChains1_0, 6585 OPC_EmitInteger, MVT::i32, 4, 6586 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs, 6587 MVT::i32, MVT::i32, 3, 1, 2, 3, 6588 18, 6589 OPC_CheckPredicate, 30, 6590 OPC_CheckPatternPredicate, 2, 6591 OPC_EmitMergeInputChains1_0, 6592 OPC_EmitInteger, MVT::i32, 8, 6593 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs, 6594 MVT::i32, MVT::i32, 3, 1, 2, 3, 6595 18, 6596 OPC_CheckPredicate, 31, 6597 OPC_CheckPatternPredicate, 2, 6598 OPC_EmitMergeInputChains1_0, 6599 OPC_EmitInteger, MVT::i32, 10, 6600 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs, 6601 MVT::i32, MVT::i32, 3, 1, 2, 3, 6602 18, 6603 OPC_CheckPredicate, 32, 6604 OPC_CheckPatternPredicate, 2, 6605 OPC_EmitMergeInputChains1_0, 6606 OPC_EmitInteger, MVT::i32, 12, 6607 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs, 6608 MVT::i32, MVT::i32, 3, 1, 2, 3, 6609 18, 6610 OPC_CheckPredicate, 33, 6611 OPC_CheckPatternPredicate, 2, 6612 OPC_EmitMergeInputChains1_0, 6613 OPC_EmitInteger, MVT::i32, 14, 6614 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs, 6615 MVT::i32, MVT::i32, 3, 1, 2, 3, 6616 0, 6617 0, 6618 0, 6619 17|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_ADD), 6620 OPC_RecordMemRef, 6621 OPC_RecordNode, 6622 OPC_RecordChild1, 6623 OPC_SwitchType , 3|128,1, MVT::i64, 6624 OPC_CheckChild1Type, MVT::i64, 6625 OPC_RecordChild2, 6626 OPC_Scope, 13, 6627 OPC_CheckPredicate, 20, 6628 OPC_CheckPatternPredicate, 0, 6629 OPC_EmitMergeInputChains1_0, 6630 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 6631 MVT::i64, 2, 2, 1, 6632 111, 6633 OPC_CheckPredicate, 12, 6634 OPC_Scope, 11, 6635 OPC_CheckPatternPredicate, 0, 6636 OPC_EmitMergeInputChains1_0, 6637 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 6638 MVT::i64, 2, 2, 1, 6639 18, 6640 OPC_CheckPredicate, 29, 6641 OPC_CheckPatternPredicate, 1, 6642 OPC_EmitMergeInputChains1_0, 6643 OPC_EmitInteger, MVT::i64, 4, 6644 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs, 6645 MVT::i64, MVT::i64, 3, 1, 2, 3, 6646 18, 6647 OPC_CheckPredicate, 30, 6648 OPC_CheckPatternPredicate, 1, 6649 OPC_EmitMergeInputChains1_0, 6650 OPC_EmitInteger, MVT::i64, 8, 6651 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs, 6652 MVT::i64, MVT::i64, 3, 1, 2, 3, 6653 18, 6654 OPC_CheckPredicate, 31, 6655 OPC_CheckPatternPredicate, 1, 6656 OPC_EmitMergeInputChains1_0, 6657 OPC_EmitInteger, MVT::i64, 10, 6658 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs, 6659 MVT::i64, MVT::i64, 3, 1, 2, 3, 6660 18, 6661 OPC_CheckPredicate, 32, 6662 OPC_CheckPatternPredicate, 1, 6663 OPC_EmitMergeInputChains1_0, 6664 OPC_EmitInteger, MVT::i64, 12, 6665 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs, 6666 MVT::i64, MVT::i64, 3, 1, 2, 3, 6667 18, 6668 OPC_CheckPredicate, 33, 6669 OPC_CheckPatternPredicate, 1, 6670 OPC_EmitMergeInputChains1_0, 6671 OPC_EmitInteger, MVT::i64, 14, 6672 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs, 6673 MVT::i64, MVT::i64, 3, 1, 2, 3, 6674 0, 6675 0, 6676 3|128,1, MVT::i32, 6677 OPC_CheckChild1Type, MVT::i32, 6678 OPC_RecordChild2, 6679 OPC_Scope, 13, 6680 OPC_CheckPredicate, 20, 6681 OPC_CheckPatternPredicate, 3, 6682 OPC_EmitMergeInputChains1_0, 6683 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 6684 MVT::i32, 2, 2, 1, 6685 111, 6686 OPC_CheckPredicate, 12, 6687 OPC_Scope, 11, 6688 OPC_CheckPatternPredicate, 3, 6689 OPC_EmitMergeInputChains1_0, 6690 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 6691 MVT::i32, 2, 2, 1, 6692 18, 6693 OPC_CheckPredicate, 29, 6694 OPC_CheckPatternPredicate, 2, 6695 OPC_EmitMergeInputChains1_0, 6696 OPC_EmitInteger, MVT::i32, 4, 6697 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs, 6698 MVT::i32, MVT::i32, 3, 1, 2, 3, 6699 18, 6700 OPC_CheckPredicate, 30, 6701 OPC_CheckPatternPredicate, 2, 6702 OPC_EmitMergeInputChains1_0, 6703 OPC_EmitInteger, MVT::i32, 8, 6704 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs, 6705 MVT::i32, MVT::i32, 3, 1, 2, 3, 6706 18, 6707 OPC_CheckPredicate, 31, 6708 OPC_CheckPatternPredicate, 2, 6709 OPC_EmitMergeInputChains1_0, 6710 OPC_EmitInteger, MVT::i32, 10, 6711 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs, 6712 MVT::i32, MVT::i32, 3, 1, 2, 3, 6713 18, 6714 OPC_CheckPredicate, 32, 6715 OPC_CheckPatternPredicate, 2, 6716 OPC_EmitMergeInputChains1_0, 6717 OPC_EmitInteger, MVT::i32, 12, 6718 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs, 6719 MVT::i32, MVT::i32, 3, 1, 2, 3, 6720 18, 6721 OPC_CheckPredicate, 33, 6722 OPC_CheckPatternPredicate, 2, 6723 OPC_EmitMergeInputChains1_0, 6724 OPC_EmitInteger, MVT::i32, 14, 6725 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs, 6726 MVT::i32, MVT::i32, 3, 1, 2, 3, 6727 0, 6728 0, 6729 0, 6730 21|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_AND), 6731 OPC_RecordMemRef, 6732 OPC_RecordNode, 6733 OPC_RecordChild1, 6734 OPC_SwitchType , 5|128,1, MVT::i64, 6735 OPC_CheckChild1Type, MVT::i64, 6736 OPC_RecordChild2, 6737 OPC_Scope, 13, 6738 OPC_CheckPredicate, 12, 6739 OPC_CheckPatternPredicate, 0, 6740 OPC_EmitMergeInputChains1_0, 6741 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 6742 MVT::i64, 2, 2, 1, 6743 13, 6744 OPC_CheckPredicate, 20, 6745 OPC_CheckPatternPredicate, 0, 6746 OPC_EmitMergeInputChains1_0, 6747 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 6748 MVT::i64, 2, 2, 1, 6749 99, 6750 OPC_CheckPredicate, 12, 6751 OPC_Scope, 18, 6752 OPC_CheckPredicate, 29, 6753 OPC_CheckPatternPredicate, 1, 6754 OPC_EmitMergeInputChains1_0, 6755 OPC_EmitInteger, MVT::i64, 4, 6756 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs, 6757 MVT::i64, MVT::i64, 3, 1, 2, 3, 6758 18, 6759 OPC_CheckPredicate, 30, 6760 OPC_CheckPatternPredicate, 1, 6761 OPC_EmitMergeInputChains1_0, 6762 OPC_EmitInteger, MVT::i64, 8, 6763 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs, 6764 MVT::i64, MVT::i64, 3, 1, 2, 3, 6765 18, 6766 OPC_CheckPredicate, 31, 6767 OPC_CheckPatternPredicate, 1, 6768 OPC_EmitMergeInputChains1_0, 6769 OPC_EmitInteger, MVT::i64, 10, 6770 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs, 6771 MVT::i64, MVT::i64, 3, 1, 2, 3, 6772 18, 6773 OPC_CheckPredicate, 32, 6774 OPC_CheckPatternPredicate, 1, 6775 OPC_EmitMergeInputChains1_0, 6776 OPC_EmitInteger, MVT::i64, 12, 6777 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs, 6778 MVT::i64, MVT::i64, 3, 1, 2, 3, 6779 18, 6780 OPC_CheckPredicate, 33, 6781 OPC_CheckPatternPredicate, 1, 6782 OPC_EmitMergeInputChains1_0, 6783 OPC_EmitInteger, MVT::i64, 14, 6784 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs, 6785 MVT::i64, MVT::i64, 3, 1, 2, 3, 6786 0, 6787 0, 6788 5|128,1, MVT::i32, 6789 OPC_CheckChild1Type, MVT::i32, 6790 OPC_RecordChild2, 6791 OPC_Scope, 13, 6792 OPC_CheckPredicate, 12, 6793 OPC_CheckPatternPredicate, 3, 6794 OPC_EmitMergeInputChains1_0, 6795 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 6796 MVT::i32, 2, 2, 1, 6797 13, 6798 OPC_CheckPredicate, 20, 6799 OPC_CheckPatternPredicate, 3, 6800 OPC_EmitMergeInputChains1_0, 6801 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 6802 MVT::i32, 2, 2, 1, 6803 99, 6804 OPC_CheckPredicate, 12, 6805 OPC_Scope, 18, 6806 OPC_CheckPredicate, 29, 6807 OPC_CheckPatternPredicate, 2, 6808 OPC_EmitMergeInputChains1_0, 6809 OPC_EmitInteger, MVT::i32, 4, 6810 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs, 6811 MVT::i32, MVT::i32, 3, 1, 2, 3, 6812 18, 6813 OPC_CheckPredicate, 30, 6814 OPC_CheckPatternPredicate, 2, 6815 OPC_EmitMergeInputChains1_0, 6816 OPC_EmitInteger, MVT::i32, 8, 6817 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs, 6818 MVT::i32, MVT::i32, 3, 1, 2, 3, 6819 18, 6820 OPC_CheckPredicate, 31, 6821 OPC_CheckPatternPredicate, 2, 6822 OPC_EmitMergeInputChains1_0, 6823 OPC_EmitInteger, MVT::i32, 10, 6824 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs, 6825 MVT::i32, MVT::i32, 3, 1, 2, 3, 6826 18, 6827 OPC_CheckPredicate, 32, 6828 OPC_CheckPatternPredicate, 2, 6829 OPC_EmitMergeInputChains1_0, 6830 OPC_EmitInteger, MVT::i32, 12, 6831 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs, 6832 MVT::i32, MVT::i32, 3, 1, 2, 3, 6833 18, 6834 OPC_CheckPredicate, 33, 6835 OPC_CheckPatternPredicate, 2, 6836 OPC_EmitMergeInputChains1_0, 6837 OPC_EmitInteger, MVT::i32, 14, 6838 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs, 6839 MVT::i32, MVT::i32, 3, 1, 2, 3, 6840 0, 6841 0, 6842 0, 6843 21|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_OR), 6844 OPC_RecordMemRef, 6845 OPC_RecordNode, 6846 OPC_RecordChild1, 6847 OPC_SwitchType , 5|128,1, MVT::i64, 6848 OPC_CheckChild1Type, MVT::i64, 6849 OPC_RecordChild2, 6850 OPC_Scope, 13, 6851 OPC_CheckPredicate, 12, 6852 OPC_CheckPatternPredicate, 0, 6853 OPC_EmitMergeInputChains1_0, 6854 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 6855 MVT::i64, 2, 2, 1, 6856 13, 6857 OPC_CheckPredicate, 20, 6858 OPC_CheckPatternPredicate, 0, 6859 OPC_EmitMergeInputChains1_0, 6860 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 6861 MVT::i64, 2, 2, 1, 6862 99, 6863 OPC_CheckPredicate, 12, 6864 OPC_Scope, 18, 6865 OPC_CheckPredicate, 29, 6866 OPC_CheckPatternPredicate, 1, 6867 OPC_EmitMergeInputChains1_0, 6868 OPC_EmitInteger, MVT::i64, 4, 6869 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs, 6870 MVT::i64, MVT::i64, 3, 1, 2, 3, 6871 18, 6872 OPC_CheckPredicate, 30, 6873 OPC_CheckPatternPredicate, 1, 6874 OPC_EmitMergeInputChains1_0, 6875 OPC_EmitInteger, MVT::i64, 8, 6876 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs, 6877 MVT::i64, MVT::i64, 3, 1, 2, 3, 6878 18, 6879 OPC_CheckPredicate, 31, 6880 OPC_CheckPatternPredicate, 1, 6881 OPC_EmitMergeInputChains1_0, 6882 OPC_EmitInteger, MVT::i64, 10, 6883 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs, 6884 MVT::i64, MVT::i64, 3, 1, 2, 3, 6885 18, 6886 OPC_CheckPredicate, 32, 6887 OPC_CheckPatternPredicate, 1, 6888 OPC_EmitMergeInputChains1_0, 6889 OPC_EmitInteger, MVT::i64, 12, 6890 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs, 6891 MVT::i64, MVT::i64, 3, 1, 2, 3, 6892 18, 6893 OPC_CheckPredicate, 33, 6894 OPC_CheckPatternPredicate, 1, 6895 OPC_EmitMergeInputChains1_0, 6896 OPC_EmitInteger, MVT::i64, 14, 6897 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs, 6898 MVT::i64, MVT::i64, 3, 1, 2, 3, 6899 0, 6900 0, 6901 5|128,1, MVT::i32, 6902 OPC_CheckChild1Type, MVT::i32, 6903 OPC_RecordChild2, 6904 OPC_Scope, 13, 6905 OPC_CheckPredicate, 12, 6906 OPC_CheckPatternPredicate, 3, 6907 OPC_EmitMergeInputChains1_0, 6908 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 6909 MVT::i32, 2, 2, 1, 6910 13, 6911 OPC_CheckPredicate, 20, 6912 OPC_CheckPatternPredicate, 3, 6913 OPC_EmitMergeInputChains1_0, 6914 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 6915 MVT::i32, 2, 2, 1, 6916 99, 6917 OPC_CheckPredicate, 12, 6918 OPC_Scope, 18, 6919 OPC_CheckPredicate, 29, 6920 OPC_CheckPatternPredicate, 2, 6921 OPC_EmitMergeInputChains1_0, 6922 OPC_EmitInteger, MVT::i32, 4, 6923 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs, 6924 MVT::i32, MVT::i32, 3, 1, 2, 3, 6925 18, 6926 OPC_CheckPredicate, 30, 6927 OPC_CheckPatternPredicate, 2, 6928 OPC_EmitMergeInputChains1_0, 6929 OPC_EmitInteger, MVT::i32, 8, 6930 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs, 6931 MVT::i32, MVT::i32, 3, 1, 2, 3, 6932 18, 6933 OPC_CheckPredicate, 31, 6934 OPC_CheckPatternPredicate, 2, 6935 OPC_EmitMergeInputChains1_0, 6936 OPC_EmitInteger, MVT::i32, 10, 6937 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs, 6938 MVT::i32, MVT::i32, 3, 1, 2, 3, 6939 18, 6940 OPC_CheckPredicate, 32, 6941 OPC_CheckPatternPredicate, 2, 6942 OPC_EmitMergeInputChains1_0, 6943 OPC_EmitInteger, MVT::i32, 12, 6944 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs, 6945 MVT::i32, MVT::i32, 3, 1, 2, 3, 6946 18, 6947 OPC_CheckPredicate, 33, 6948 OPC_CheckPatternPredicate, 2, 6949 OPC_EmitMergeInputChains1_0, 6950 OPC_EmitInteger, MVT::i32, 14, 6951 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs, 6952 MVT::i32, MVT::i32, 3, 1, 2, 3, 6953 0, 6954 0, 6955 0, 6956 21|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_XOR), 6957 OPC_RecordMemRef, 6958 OPC_RecordNode, 6959 OPC_RecordChild1, 6960 OPC_SwitchType , 5|128,1, MVT::i64, 6961 OPC_CheckChild1Type, MVT::i64, 6962 OPC_RecordChild2, 6963 OPC_Scope, 13, 6964 OPC_CheckPredicate, 12, 6965 OPC_CheckPatternPredicate, 0, 6966 OPC_EmitMergeInputChains1_0, 6967 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 6968 MVT::i64, 2, 2, 1, 6969 13, 6970 OPC_CheckPredicate, 20, 6971 OPC_CheckPatternPredicate, 0, 6972 OPC_EmitMergeInputChains1_0, 6973 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 6974 MVT::i64, 2, 2, 1, 6975 99, 6976 OPC_CheckPredicate, 12, 6977 OPC_Scope, 18, 6978 OPC_CheckPredicate, 29, 6979 OPC_CheckPatternPredicate, 1, 6980 OPC_EmitMergeInputChains1_0, 6981 OPC_EmitInteger, MVT::i64, 4, 6982 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs, 6983 MVT::i64, MVT::i64, 3, 1, 2, 3, 6984 18, 6985 OPC_CheckPredicate, 30, 6986 OPC_CheckPatternPredicate, 1, 6987 OPC_EmitMergeInputChains1_0, 6988 OPC_EmitInteger, MVT::i64, 8, 6989 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs, 6990 MVT::i64, MVT::i64, 3, 1, 2, 3, 6991 18, 6992 OPC_CheckPredicate, 31, 6993 OPC_CheckPatternPredicate, 1, 6994 OPC_EmitMergeInputChains1_0, 6995 OPC_EmitInteger, MVT::i64, 10, 6996 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs, 6997 MVT::i64, MVT::i64, 3, 1, 2, 3, 6998 18, 6999 OPC_CheckPredicate, 32, 7000 OPC_CheckPatternPredicate, 1, 7001 OPC_EmitMergeInputChains1_0, 7002 OPC_EmitInteger, MVT::i64, 12, 7003 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs, 7004 MVT::i64, MVT::i64, 3, 1, 2, 3, 7005 18, 7006 OPC_CheckPredicate, 33, 7007 OPC_CheckPatternPredicate, 1, 7008 OPC_EmitMergeInputChains1_0, 7009 OPC_EmitInteger, MVT::i64, 14, 7010 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs, 7011 MVT::i64, MVT::i64, 3, 1, 2, 3, 7012 0, 7013 0, 7014 5|128,1, MVT::i32, 7015 OPC_CheckChild1Type, MVT::i32, 7016 OPC_RecordChild2, 7017 OPC_Scope, 13, 7018 OPC_CheckPredicate, 12, 7019 OPC_CheckPatternPredicate, 3, 7020 OPC_EmitMergeInputChains1_0, 7021 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 7022 MVT::i32, 2, 2, 1, 7023 13, 7024 OPC_CheckPredicate, 20, 7025 OPC_CheckPatternPredicate, 3, 7026 OPC_EmitMergeInputChains1_0, 7027 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 7028 MVT::i32, 2, 2, 1, 7029 99, 7030 OPC_CheckPredicate, 12, 7031 OPC_Scope, 18, 7032 OPC_CheckPredicate, 29, 7033 OPC_CheckPatternPredicate, 2, 7034 OPC_EmitMergeInputChains1_0, 7035 OPC_EmitInteger, MVT::i32, 4, 7036 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs, 7037 MVT::i32, MVT::i32, 3, 1, 2, 3, 7038 18, 7039 OPC_CheckPredicate, 30, 7040 OPC_CheckPatternPredicate, 2, 7041 OPC_EmitMergeInputChains1_0, 7042 OPC_EmitInteger, MVT::i32, 8, 7043 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs, 7044 MVT::i32, MVT::i32, 3, 1, 2, 3, 7045 18, 7046 OPC_CheckPredicate, 31, 7047 OPC_CheckPatternPredicate, 2, 7048 OPC_EmitMergeInputChains1_0, 7049 OPC_EmitInteger, MVT::i32, 10, 7050 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs, 7051 MVT::i32, MVT::i32, 3, 1, 2, 3, 7052 18, 7053 OPC_CheckPredicate, 32, 7054 OPC_CheckPatternPredicate, 2, 7055 OPC_EmitMergeInputChains1_0, 7056 OPC_EmitInteger, MVT::i32, 12, 7057 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs, 7058 MVT::i32, MVT::i32, 3, 1, 2, 3, 7059 18, 7060 OPC_CheckPredicate, 33, 7061 OPC_CheckPatternPredicate, 2, 7062 OPC_EmitMergeInputChains1_0, 7063 OPC_EmitInteger, MVT::i32, 14, 7064 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs, 7065 MVT::i32, MVT::i32, 3, 1, 2, 3, 7066 0, 7067 0, 7068 0, 7069 75, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN), 7070 OPC_RecordMemRef, 7071 OPC_RecordNode, 7072 OPC_RecordChild1, 7073 OPC_SwitchType , 33, MVT::i64, 7074 OPC_CheckChild1Type, MVT::i64, 7075 OPC_RecordChild2, 7076 OPC_Scope, 13, 7077 OPC_CheckPredicate, 12, 7078 OPC_CheckPatternPredicate, 0, 7079 OPC_EmitMergeInputChains1_0, 7080 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_DB_WU), 0|OPFL_Chain|OPFL_MemRefs, 7081 MVT::i64, 2, 2, 1, 7082 13, 7083 OPC_CheckPredicate, 20, 7084 OPC_CheckPatternPredicate, 0, 7085 OPC_EmitMergeInputChains1_0, 7086 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_DB_DU), 0|OPFL_Chain|OPFL_MemRefs, 7087 MVT::i64, 2, 2, 1, 7088 0, 7089 33, MVT::i32, 7090 OPC_CheckChild1Type, MVT::i32, 7091 OPC_RecordChild2, 7092 OPC_Scope, 13, 7093 OPC_CheckPredicate, 12, 7094 OPC_CheckPatternPredicate, 3, 7095 OPC_EmitMergeInputChains1_0, 7096 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_DB_WU), 0|OPFL_Chain|OPFL_MemRefs, 7097 MVT::i32, 2, 2, 1, 7098 13, 7099 OPC_CheckPredicate, 20, 7100 OPC_CheckPatternPredicate, 3, 7101 OPC_EmitMergeInputChains1_0, 7102 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_DB_DU), 0|OPFL_Chain|OPFL_MemRefs, 7103 MVT::i32, 2, 2, 1, 7104 0, 7105 0, 7106 75, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX), 7107 OPC_RecordMemRef, 7108 OPC_RecordNode, 7109 OPC_RecordChild1, 7110 OPC_SwitchType , 33, MVT::i64, 7111 OPC_CheckChild1Type, MVT::i64, 7112 OPC_RecordChild2, 7113 OPC_Scope, 13, 7114 OPC_CheckPredicate, 12, 7115 OPC_CheckPatternPredicate, 0, 7116 OPC_EmitMergeInputChains1_0, 7117 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_DB_WU), 0|OPFL_Chain|OPFL_MemRefs, 7118 MVT::i64, 2, 2, 1, 7119 13, 7120 OPC_CheckPredicate, 20, 7121 OPC_CheckPatternPredicate, 0, 7122 OPC_EmitMergeInputChains1_0, 7123 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_DB_DU), 0|OPFL_Chain|OPFL_MemRefs, 7124 MVT::i64, 2, 2, 1, 7125 0, 7126 33, MVT::i32, 7127 OPC_CheckChild1Type, MVT::i32, 7128 OPC_RecordChild2, 7129 OPC_Scope, 13, 7130 OPC_CheckPredicate, 12, 7131 OPC_CheckPatternPredicate, 3, 7132 OPC_EmitMergeInputChains1_0, 7133 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_DB_WU), 0|OPFL_Chain|OPFL_MemRefs, 7134 MVT::i32, 2, 2, 1, 7135 13, 7136 OPC_CheckPredicate, 20, 7137 OPC_CheckPatternPredicate, 3, 7138 OPC_EmitMergeInputChains1_0, 7139 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_DB_DU), 0|OPFL_Chain|OPFL_MemRefs, 7140 MVT::i32, 2, 2, 1, 7141 0, 7142 0, 7143 75, TARGET_VAL(ISD::ATOMIC_LOAD_MIN), 7144 OPC_RecordMemRef, 7145 OPC_RecordNode, 7146 OPC_RecordChild1, 7147 OPC_SwitchType , 33, MVT::i64, 7148 OPC_CheckChild1Type, MVT::i64, 7149 OPC_RecordChild2, 7150 OPC_Scope, 13, 7151 OPC_CheckPredicate, 12, 7152 OPC_CheckPatternPredicate, 0, 7153 OPC_EmitMergeInputChains1_0, 7154 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 7155 MVT::i64, 2, 2, 1, 7156 13, 7157 OPC_CheckPredicate, 20, 7158 OPC_CheckPatternPredicate, 0, 7159 OPC_EmitMergeInputChains1_0, 7160 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 7161 MVT::i64, 2, 2, 1, 7162 0, 7163 33, MVT::i32, 7164 OPC_CheckChild1Type, MVT::i32, 7165 OPC_RecordChild2, 7166 OPC_Scope, 13, 7167 OPC_CheckPredicate, 12, 7168 OPC_CheckPatternPredicate, 3, 7169 OPC_EmitMergeInputChains1_0, 7170 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 7171 MVT::i32, 2, 2, 1, 7172 13, 7173 OPC_CheckPredicate, 20, 7174 OPC_CheckPatternPredicate, 3, 7175 OPC_EmitMergeInputChains1_0, 7176 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 7177 MVT::i32, 2, 2, 1, 7178 0, 7179 0, 7180 75, TARGET_VAL(ISD::ATOMIC_LOAD_MAX), 7181 OPC_RecordMemRef, 7182 OPC_RecordNode, 7183 OPC_RecordChild1, 7184 OPC_SwitchType , 33, MVT::i64, 7185 OPC_CheckChild1Type, MVT::i64, 7186 OPC_RecordChild2, 7187 OPC_Scope, 13, 7188 OPC_CheckPredicate, 12, 7189 OPC_CheckPatternPredicate, 0, 7190 OPC_EmitMergeInputChains1_0, 7191 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 7192 MVT::i64, 2, 2, 1, 7193 13, 7194 OPC_CheckPredicate, 20, 7195 OPC_CheckPatternPredicate, 0, 7196 OPC_EmitMergeInputChains1_0, 7197 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 7198 MVT::i64, 2, 2, 1, 7199 0, 7200 33, MVT::i32, 7201 OPC_CheckChild1Type, MVT::i32, 7202 OPC_RecordChild2, 7203 OPC_Scope, 13, 7204 OPC_CheckPredicate, 12, 7205 OPC_CheckPatternPredicate, 3, 7206 OPC_EmitMergeInputChains1_0, 7207 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 7208 MVT::i32, 2, 2, 1, 7209 13, 7210 OPC_CheckPredicate, 20, 7211 OPC_CheckPatternPredicate, 3, 7212 OPC_EmitMergeInputChains1_0, 7213 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 7214 MVT::i32, 2, 2, 1, 7215 0, 7216 0, 7217 85, TARGET_VAL(ISD::ATOMIC_CMP_SWAP), 7218 OPC_RecordMemRef, 7219 OPC_RecordNode, 7220 OPC_RecordChild1, 7221 OPC_SwitchType , 38, MVT::i64, 7222 OPC_CheckChild1Type, MVT::i64, 7223 OPC_RecordChild2, 7224 OPC_RecordChild3, 7225 OPC_Scope, 15, 7226 OPC_CheckPredicate, 20, 7227 OPC_CheckPatternPredicate, 0, 7228 OPC_EmitMergeInputChains1_0, 7229 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs, 7230 MVT::i64, MVT::i64, 3, 1, 2, 3, 7231 15, 7232 OPC_CheckPredicate, 12, 7233 OPC_CheckPatternPredicate, 0, 7234 OPC_EmitMergeInputChains1_0, 7235 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs, 7236 MVT::i64, MVT::i64, 3, 1, 2, 3, 7237 0, 7238 38, MVT::i32, 7239 OPC_CheckChild1Type, MVT::i32, 7240 OPC_RecordChild2, 7241 OPC_RecordChild3, 7242 OPC_Scope, 15, 7243 OPC_CheckPredicate, 20, 7244 OPC_CheckPatternPredicate, 3, 7245 OPC_EmitMergeInputChains1_0, 7246 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs, 7247 MVT::i32, MVT::i32, 3, 1, 2, 3, 7248 15, 7249 OPC_CheckPredicate, 12, 7250 OPC_CheckPatternPredicate, 3, 7251 OPC_EmitMergeInputChains1_0, 7252 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs, 7253 MVT::i32, MVT::i32, 3, 1, 2, 3, 7254 0, 7255 0, 7256 61|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_SUB), 7257 OPC_RecordMemRef, 7258 OPC_RecordNode, 7259 OPC_RecordChild1, 7260 OPC_SwitchType , 25|128,1, MVT::i64, 7261 OPC_CheckChild1Type, MVT::i64, 7262 OPC_RecordChild2, 7263 OPC_Scope, 122, 7264 OPC_CheckPredicate, 12, 7265 OPC_Scope, 18, 7266 OPC_CheckPredicate, 29, 7267 OPC_CheckPatternPredicate, 1, 7268 OPC_EmitMergeInputChains1_0, 7269 OPC_EmitInteger, MVT::i64, 4, 7270 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs, 7271 MVT::i64, MVT::i64, 3, 1, 2, 3, 7272 18, 7273 OPC_CheckPredicate, 30, 7274 OPC_CheckPatternPredicate, 1, 7275 OPC_EmitMergeInputChains1_0, 7276 OPC_EmitInteger, MVT::i64, 8, 7277 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs, 7278 MVT::i64, MVT::i64, 3, 1, 2, 3, 7279 18, 7280 OPC_CheckPredicate, 31, 7281 OPC_CheckPatternPredicate, 1, 7282 OPC_EmitMergeInputChains1_0, 7283 OPC_EmitInteger, MVT::i64, 10, 7284 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs, 7285 MVT::i64, MVT::i64, 3, 1, 2, 3, 7286 18, 7287 OPC_CheckPredicate, 32, 7288 OPC_CheckPatternPredicate, 1, 7289 OPC_EmitMergeInputChains1_0, 7290 OPC_EmitInteger, MVT::i64, 12, 7291 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs, 7292 MVT::i64, MVT::i64, 3, 1, 2, 3, 7293 18, 7294 OPC_CheckPredicate, 33, 7295 OPC_CheckPatternPredicate, 1, 7296 OPC_EmitMergeInputChains1_0, 7297 OPC_EmitInteger, MVT::i64, 14, 7298 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs, 7299 MVT::i64, MVT::i64, 3, 1, 2, 3, 7300 22, 7301 OPC_CheckPatternPredicate, 0, 7302 OPC_EmitMergeInputChains1_0, 7303 OPC_EmitRegister, MVT::i64, LoongArch::R0, 7304 OPC_EmitNode1, TARGET_VAL(LoongArch::SUB_W), 0, 7305 MVT::i64, 2, 3, 2, 7306 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 7307 MVT::i64, 2, 4, 1, 7308 0, 7309 24, 7310 OPC_CheckPredicate, 20, 7311 OPC_CheckPatternPredicate, 0, 7312 OPC_EmitMergeInputChains1_0, 7313 OPC_EmitRegister, MVT::i64, LoongArch::R0, 7314 OPC_EmitNode1, TARGET_VAL(LoongArch::SUB_D), 0, 7315 MVT::i64, 2, 3, 2, 7316 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 7317 MVT::i64, 2, 4, 1, 7318 0, 7319 25|128,1, MVT::i32, 7320 OPC_CheckChild1Type, MVT::i32, 7321 OPC_RecordChild2, 7322 OPC_Scope, 122, 7323 OPC_CheckPredicate, 12, 7324 OPC_Scope, 18, 7325 OPC_CheckPredicate, 29, 7326 OPC_CheckPatternPredicate, 2, 7327 OPC_EmitMergeInputChains1_0, 7328 OPC_EmitInteger, MVT::i32, 4, 7329 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs, 7330 MVT::i32, MVT::i32, 3, 1, 2, 3, 7331 18, 7332 OPC_CheckPredicate, 30, 7333 OPC_CheckPatternPredicate, 2, 7334 OPC_EmitMergeInputChains1_0, 7335 OPC_EmitInteger, MVT::i32, 8, 7336 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs, 7337 MVT::i32, MVT::i32, 3, 1, 2, 3, 7338 18, 7339 OPC_CheckPredicate, 31, 7340 OPC_CheckPatternPredicate, 2, 7341 OPC_EmitMergeInputChains1_0, 7342 OPC_EmitInteger, MVT::i32, 10, 7343 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs, 7344 MVT::i32, MVT::i32, 3, 1, 2, 3, 7345 18, 7346 OPC_CheckPredicate, 32, 7347 OPC_CheckPatternPredicate, 2, 7348 OPC_EmitMergeInputChains1_0, 7349 OPC_EmitInteger, MVT::i32, 12, 7350 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs, 7351 MVT::i32, MVT::i32, 3, 1, 2, 3, 7352 18, 7353 OPC_CheckPredicate, 33, 7354 OPC_CheckPatternPredicate, 2, 7355 OPC_EmitMergeInputChains1_0, 7356 OPC_EmitInteger, MVT::i32, 14, 7357 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs, 7358 MVT::i32, MVT::i32, 3, 1, 2, 3, 7359 22, 7360 OPC_CheckPatternPredicate, 3, 7361 OPC_EmitMergeInputChains1_0, 7362 OPC_EmitRegister, MVT::i32, LoongArch::R0, 7363 OPC_EmitNode1, TARGET_VAL(LoongArch::SUB_W), 0, 7364 MVT::i32, 2, 3, 2, 7365 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_DB_W), 0|OPFL_Chain|OPFL_MemRefs, 7366 MVT::i32, 2, 4, 1, 7367 0, 7368 24, 7369 OPC_CheckPredicate, 20, 7370 OPC_CheckPatternPredicate, 3, 7371 OPC_EmitMergeInputChains1_0, 7372 OPC_EmitRegister, MVT::i32, LoongArch::R0, 7373 OPC_EmitNode1, TARGET_VAL(LoongArch::SUB_D), 0, 7374 MVT::i32, 2, 3, 2, 7375 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD_DB_D), 0|OPFL_Chain|OPFL_MemRefs, 7376 MVT::i32, 2, 4, 1, 7377 0, 7378 0, 7379 7, TARGET_VAL(ISD::TRAP), 7380 OPC_RecordNode, 7381 OPC_EmitMergeInputChains1_0, 7382 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoUNIMP), 0|OPFL_Chain, 7383 0, 7384 14, TARGET_VAL(ISD::BR), 7385 OPC_RecordNode, 7386 OPC_RecordChild1, 7387 OPC_MoveChild1, 7388 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock), 7389 OPC_MoveParent, 7390 OPC_EmitMergeInputChains1_0, 7391 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoBR), 0|OPFL_Chain, 7392 1, 1, 7393 8, TARGET_VAL(LoongArchISD::RET), 7394 OPC_RecordNode, 7395 OPC_CaptureGlueInput, 7396 OPC_EmitMergeInputChains1_0, 7397 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoRET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0, 7398 0, 7399 56, TARGET_VAL(ISD::SUB), 7400 OPC_RecordChild0, 7401 OPC_RecordChild1, 7402 OPC_SwitchType , 24, MVT::i64, 7403 OPC_Scope, 10, 7404 OPC_CheckPatternPredicate, 1, 7405 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SUB_W), 0, 7406 MVT::i64, 2, 0, 1, 7407 10, 7408 OPC_CheckPatternPredicate, 0, 7409 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SUB_D), 0, 7410 MVT::i64, 2, 0, 1, 7411 0, 7412 24, MVT::i32, 7413 OPC_Scope, 10, 7414 OPC_CheckPatternPredicate, 2, 7415 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SUB_W), 0, 7416 MVT::i32, 2, 0, 1, 7417 10, 7418 OPC_CheckPatternPredicate, 3, 7419 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::SUB_D), 0, 7420 MVT::i32, 2, 0, 1, 7421 0, 7422 0, 7423 56, TARGET_VAL(ISD::MULHS), 7424 OPC_RecordChild0, 7425 OPC_RecordChild1, 7426 OPC_SwitchType , 24, MVT::i64, 7427 OPC_Scope, 10, 7428 OPC_CheckPatternPredicate, 1, 7429 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MULH_W), 0, 7430 MVT::i64, 2, 0, 1, 7431 10, 7432 OPC_CheckPatternPredicate, 0, 7433 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MULH_D), 0, 7434 MVT::i64, 2, 0, 1, 7435 0, 7436 24, MVT::i32, 7437 OPC_Scope, 10, 7438 OPC_CheckPatternPredicate, 2, 7439 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MULH_W), 0, 7440 MVT::i32, 2, 0, 1, 7441 10, 7442 OPC_CheckPatternPredicate, 3, 7443 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MULH_D), 0, 7444 MVT::i32, 2, 0, 1, 7445 0, 7446 0, 7447 56, TARGET_VAL(ISD::MULHU), 7448 OPC_RecordChild0, 7449 OPC_RecordChild1, 7450 OPC_SwitchType , 24, MVT::i64, 7451 OPC_Scope, 10, 7452 OPC_CheckPatternPredicate, 1, 7453 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MULH_WU), 0, 7454 MVT::i64, 2, 0, 1, 7455 10, 7456 OPC_CheckPatternPredicate, 0, 7457 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MULH_DU), 0, 7458 MVT::i64, 2, 0, 1, 7459 0, 7460 24, MVT::i32, 7461 OPC_Scope, 10, 7462 OPC_CheckPatternPredicate, 2, 7463 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MULH_WU), 0, 7464 MVT::i32, 2, 0, 1, 7465 10, 7466 OPC_CheckPatternPredicate, 3, 7467 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MULH_DU), 0, 7468 MVT::i32, 2, 0, 1, 7469 0, 7470 0, 7471 12, TARGET_VAL(LoongArchISD::ROTR_W), 7472 OPC_RecordChild0, 7473 OPC_RecordChild1, 7474 OPC_CheckPatternPredicate, 0, 7475 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::ROTR_W), 0, 7476 MVT::i64, 2, 0, 1, 7477 29, TARGET_VAL(ISD::DEBUGTRAP), 7478 OPC_RecordNode, 7479 OPC_Scope, 12, 7480 OPC_CheckPatternPredicate, 4, 7481 OPC_EmitMergeInputChains1_0, 7482 OPC_EmitInteger, MVT::i64, 0, 7483 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BREAK), 0|OPFL_Chain, 7484 1, 1, 7485 12, 7486 OPC_CheckPatternPredicate, 5, 7487 OPC_EmitMergeInputChains1_0, 7488 OPC_EmitInteger, MVT::i32, 0, 7489 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::BREAK), 0|OPFL_Chain, 7490 1, 1, 7491 0, 7492 29, TARGET_VAL(LoongArchISD::REVB_2H), 7493 OPC_RecordChild0, 7494 OPC_SwitchType , 11, MVT::i64, 7495 OPC_CheckChild0Type, MVT::i64, 7496 OPC_CheckPatternPredicate, 4, 7497 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::REVB_2H), 0, 7498 MVT::i64, 1, 0, 7499 11, MVT::i32, 7500 OPC_CheckChild0Type, MVT::i32, 7501 OPC_CheckPatternPredicate, 5, 7502 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::REVB_2H), 0, 7503 MVT::i32, 1, 0, 7504 0, 7505 29, TARGET_VAL(LoongArchISD::BITREV_4B), 7506 OPC_RecordChild0, 7507 OPC_SwitchType , 11, MVT::i64, 7508 OPC_CheckChild0Type, MVT::i64, 7509 OPC_CheckPatternPredicate, 4, 7510 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_4B), 0, 7511 MVT::i64, 1, 0, 7512 11, MVT::i32, 7513 OPC_CheckChild0Type, MVT::i32, 7514 OPC_CheckPatternPredicate, 5, 7515 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_4B), 0, 7516 MVT::i32, 1, 0, 7517 0, 7518 29, TARGET_VAL(LoongArchISD::REVB_2W), 7519 OPC_RecordChild0, 7520 OPC_SwitchType , 11, MVT::i64, 7521 OPC_CheckChild0Type, MVT::i64, 7522 OPC_CheckPatternPredicate, 0, 7523 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::REVB_2W), 0, 7524 MVT::i64, 1, 0, 7525 11, MVT::i32, 7526 OPC_CheckChild0Type, MVT::i32, 7527 OPC_CheckPatternPredicate, 3, 7528 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::REVB_2W), 0, 7529 MVT::i32, 1, 0, 7530 0, 7531 29, TARGET_VAL(LoongArchISD::BITREV_W), 7532 OPC_RecordChild0, 7533 OPC_SwitchType , 11, MVT::i64, 7534 OPC_CheckChild0Type, MVT::i64, 7535 OPC_CheckPatternPredicate, 0, 7536 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_W), 0, 7537 MVT::i64, 1, 0, 7538 11, MVT::i32, 7539 OPC_CheckChild0Type, MVT::i32, 7540 OPC_CheckPatternPredicate, 3, 7541 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::BITREV_W), 0, 7542 MVT::i32, 1, 0, 7543 0, 7544 12, TARGET_VAL(LoongArchISD::CRC_W_B_W), 7545 OPC_RecordChild0, 7546 OPC_RecordChild1, 7547 OPC_CheckPatternPredicate, 0, 7548 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CRC_W_B_W), 0, 7549 MVT::i64, 2, 0, 1, 7550 12, TARGET_VAL(LoongArchISD::CRC_W_H_W), 7551 OPC_RecordChild0, 7552 OPC_RecordChild1, 7553 OPC_CheckPatternPredicate, 0, 7554 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CRC_W_H_W), 0, 7555 MVT::i64, 2, 0, 1, 7556 12, TARGET_VAL(LoongArchISD::CRC_W_W_W), 7557 OPC_RecordChild0, 7558 OPC_RecordChild1, 7559 OPC_CheckPatternPredicate, 0, 7560 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CRC_W_W_W), 0, 7561 MVT::i64, 2, 0, 1, 7562 12, TARGET_VAL(LoongArchISD::CRC_W_D_W), 7563 OPC_RecordChild0, 7564 OPC_RecordChild1, 7565 OPC_CheckPatternPredicate, 0, 7566 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CRC_W_D_W), 0, 7567 MVT::i64, 2, 0, 1, 7568 12, TARGET_VAL(LoongArchISD::CRCC_W_B_W), 7569 OPC_RecordChild0, 7570 OPC_RecordChild1, 7571 OPC_CheckPatternPredicate, 0, 7572 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CRCC_W_B_W), 0, 7573 MVT::i64, 2, 0, 1, 7574 12, TARGET_VAL(LoongArchISD::CRCC_W_H_W), 7575 OPC_RecordChild0, 7576 OPC_RecordChild1, 7577 OPC_CheckPatternPredicate, 0, 7578 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CRCC_W_H_W), 0, 7579 MVT::i64, 2, 0, 1, 7580 12, TARGET_VAL(LoongArchISD::CRCC_W_W_W), 7581 OPC_RecordChild0, 7582 OPC_RecordChild1, 7583 OPC_CheckPatternPredicate, 0, 7584 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CRCC_W_W_W), 0, 7585 MVT::i64, 2, 0, 1, 7586 12, TARGET_VAL(LoongArchISD::CRCC_W_D_W), 7587 OPC_RecordChild0, 7588 OPC_RecordChild1, 7589 OPC_CheckPatternPredicate, 0, 7590 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CRCC_W_D_W), 0, 7591 MVT::i64, 2, 0, 1, 7592 84|128,6, TARGET_VAL(ISD::STRICT_FSETCC), 7593 OPC_RecordNode, 7594 OPC_RecordChild1, 7595 OPC_Scope, 38|128,3, 7596 OPC_CheckChild1Type, MVT::f32, 7597 OPC_RecordChild2, 7598 OPC_MoveChild3, 7599 OPC_Scope, 31, 7600 OPC_CheckCondCode, ISD::SETOEQ, 7601 OPC_MoveParent, 7602 OPC_SwitchType , 11, MVT::i64, 7603 OPC_CheckPatternPredicate, 6, 7604 OPC_EmitMergeInputChains1_0, 7605 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0|OPFL_Chain, 7606 MVT::i64, 2, 1, 2, 7607 11, MVT::i32, 7608 OPC_CheckPatternPredicate, 8, 7609 OPC_EmitMergeInputChains1_0, 7610 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0|OPFL_Chain, 7611 MVT::i32, 2, 1, 2, 7612 0, 7613 31, 7614 OPC_CheckCondCode, ISD::SETEQ, 7615 OPC_MoveParent, 7616 OPC_SwitchType , 11, MVT::i64, 7617 OPC_CheckPatternPredicate, 6, 7618 OPC_EmitMergeInputChains1_0, 7619 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0|OPFL_Chain, 7620 MVT::i64, 2, 1, 2, 7621 11, MVT::i32, 7622 OPC_CheckPatternPredicate, 8, 7623 OPC_EmitMergeInputChains1_0, 7624 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0|OPFL_Chain, 7625 MVT::i32, 2, 1, 2, 7626 0, 7627 31, 7628 OPC_CheckCondCode, ISD::SETOLT, 7629 OPC_MoveParent, 7630 OPC_SwitchType , 11, MVT::i64, 7631 OPC_CheckPatternPredicate, 6, 7632 OPC_EmitMergeInputChains1_0, 7633 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0|OPFL_Chain, 7634 MVT::i64, 2, 1, 2, 7635 11, MVT::i32, 7636 OPC_CheckPatternPredicate, 8, 7637 OPC_EmitMergeInputChains1_0, 7638 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0|OPFL_Chain, 7639 MVT::i32, 2, 1, 2, 7640 0, 7641 31, 7642 OPC_CheckCondCode, ISD::SETOLE, 7643 OPC_MoveParent, 7644 OPC_SwitchType , 11, MVT::i64, 7645 OPC_CheckPatternPredicate, 6, 7646 OPC_EmitMergeInputChains1_0, 7647 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0|OPFL_Chain, 7648 MVT::i64, 2, 1, 2, 7649 11, MVT::i32, 7650 OPC_CheckPatternPredicate, 8, 7651 OPC_EmitMergeInputChains1_0, 7652 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0|OPFL_Chain, 7653 MVT::i32, 2, 1, 2, 7654 0, 7655 31, 7656 OPC_CheckCondCode, ISD::SETLE, 7657 OPC_MoveParent, 7658 OPC_SwitchType , 11, MVT::i64, 7659 OPC_CheckPatternPredicate, 6, 7660 OPC_EmitMergeInputChains1_0, 7661 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0|OPFL_Chain, 7662 MVT::i64, 2, 1, 2, 7663 11, MVT::i32, 7664 OPC_CheckPatternPredicate, 8, 7665 OPC_EmitMergeInputChains1_0, 7666 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0|OPFL_Chain, 7667 MVT::i32, 2, 1, 2, 7668 0, 7669 31, 7670 OPC_CheckCondCode, ISD::SETONE, 7671 OPC_MoveParent, 7672 OPC_SwitchType , 11, MVT::i64, 7673 OPC_CheckPatternPredicate, 6, 7674 OPC_EmitMergeInputChains1_0, 7675 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CNE_S), 0|OPFL_Chain, 7676 MVT::i64, 2, 1, 2, 7677 11, MVT::i32, 7678 OPC_CheckPatternPredicate, 8, 7679 OPC_EmitMergeInputChains1_0, 7680 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CNE_S), 0|OPFL_Chain, 7681 MVT::i32, 2, 1, 2, 7682 0, 7683 31, 7684 OPC_CheckCondCode, ISD::SETO, 7685 OPC_MoveParent, 7686 OPC_SwitchType , 11, MVT::i64, 7687 OPC_CheckPatternPredicate, 6, 7688 OPC_EmitMergeInputChains1_0, 7689 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_COR_S), 0|OPFL_Chain, 7690 MVT::i64, 2, 1, 2, 7691 11, MVT::i32, 7692 OPC_CheckPatternPredicate, 8, 7693 OPC_EmitMergeInputChains1_0, 7694 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_COR_S), 0|OPFL_Chain, 7695 MVT::i32, 2, 1, 2, 7696 0, 7697 31, 7698 OPC_CheckCondCode, ISD::SETUEQ, 7699 OPC_MoveParent, 7700 OPC_SwitchType , 11, MVT::i64, 7701 OPC_CheckPatternPredicate, 6, 7702 OPC_EmitMergeInputChains1_0, 7703 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0|OPFL_Chain, 7704 MVT::i64, 2, 1, 2, 7705 11, MVT::i32, 7706 OPC_CheckPatternPredicate, 8, 7707 OPC_EmitMergeInputChains1_0, 7708 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0|OPFL_Chain, 7709 MVT::i32, 2, 1, 2, 7710 0, 7711 31, 7712 OPC_CheckCondCode, ISD::SETULT, 7713 OPC_MoveParent, 7714 OPC_SwitchType , 11, MVT::i64, 7715 OPC_CheckPatternPredicate, 6, 7716 OPC_EmitMergeInputChains1_0, 7717 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULT_S), 0|OPFL_Chain, 7718 MVT::i64, 2, 1, 2, 7719 11, MVT::i32, 7720 OPC_CheckPatternPredicate, 8, 7721 OPC_EmitMergeInputChains1_0, 7722 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULT_S), 0|OPFL_Chain, 7723 MVT::i32, 2, 1, 2, 7724 0, 7725 31, 7726 OPC_CheckCondCode, ISD::SETULE, 7727 OPC_MoveParent, 7728 OPC_SwitchType , 11, MVT::i64, 7729 OPC_CheckPatternPredicate, 6, 7730 OPC_EmitMergeInputChains1_0, 7731 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULE_S), 0|OPFL_Chain, 7732 MVT::i64, 2, 1, 2, 7733 11, MVT::i32, 7734 OPC_CheckPatternPredicate, 8, 7735 OPC_EmitMergeInputChains1_0, 7736 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULE_S), 0|OPFL_Chain, 7737 MVT::i32, 2, 1, 2, 7738 0, 7739 31, 7740 OPC_CheckCondCode, ISD::SETUNE, 7741 OPC_MoveParent, 7742 OPC_SwitchType , 11, MVT::i64, 7743 OPC_CheckPatternPredicate, 6, 7744 OPC_EmitMergeInputChains1_0, 7745 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0|OPFL_Chain, 7746 MVT::i64, 2, 1, 2, 7747 11, MVT::i32, 7748 OPC_CheckPatternPredicate, 8, 7749 OPC_EmitMergeInputChains1_0, 7750 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0|OPFL_Chain, 7751 MVT::i32, 2, 1, 2, 7752 0, 7753 31, 7754 OPC_CheckCondCode, ISD::SETUO, 7755 OPC_MoveParent, 7756 OPC_SwitchType , 11, MVT::i64, 7757 OPC_CheckPatternPredicate, 6, 7758 OPC_EmitMergeInputChains1_0, 7759 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUN_S), 0|OPFL_Chain, 7760 MVT::i64, 2, 1, 2, 7761 11, MVT::i32, 7762 OPC_CheckPatternPredicate, 8, 7763 OPC_EmitMergeInputChains1_0, 7764 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUN_S), 0|OPFL_Chain, 7765 MVT::i32, 2, 1, 2, 7766 0, 7767 31, 7768 OPC_CheckCondCode, ISD::SETLT, 7769 OPC_MoveParent, 7770 OPC_SwitchType , 11, MVT::i64, 7771 OPC_CheckPatternPredicate, 6, 7772 OPC_EmitMergeInputChains1_0, 7773 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0|OPFL_Chain, 7774 MVT::i64, 2, 1, 2, 7775 11, MVT::i32, 7776 OPC_CheckPatternPredicate, 8, 7777 OPC_EmitMergeInputChains1_0, 7778 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0|OPFL_Chain, 7779 MVT::i32, 2, 1, 2, 7780 0, 7781 0, 7782 38|128,3, 7783 OPC_CheckChild1Type, MVT::f64, 7784 OPC_RecordChild2, 7785 OPC_MoveChild3, 7786 OPC_Scope, 31, 7787 OPC_CheckCondCode, ISD::SETOEQ, 7788 OPC_MoveParent, 7789 OPC_SwitchType , 11, MVT::i64, 7790 OPC_CheckPatternPredicate, 7, 7791 OPC_EmitMergeInputChains1_0, 7792 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0|OPFL_Chain, 7793 MVT::i64, 2, 1, 2, 7794 11, MVT::i32, 7795 OPC_CheckPatternPredicate, 9, 7796 OPC_EmitMergeInputChains1_0, 7797 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0|OPFL_Chain, 7798 MVT::i32, 2, 1, 2, 7799 0, 7800 31, 7801 OPC_CheckCondCode, ISD::SETEQ, 7802 OPC_MoveParent, 7803 OPC_SwitchType , 11, MVT::i64, 7804 OPC_CheckPatternPredicate, 7, 7805 OPC_EmitMergeInputChains1_0, 7806 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0|OPFL_Chain, 7807 MVT::i64, 2, 1, 2, 7808 11, MVT::i32, 7809 OPC_CheckPatternPredicate, 9, 7810 OPC_EmitMergeInputChains1_0, 7811 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0|OPFL_Chain, 7812 MVT::i32, 2, 1, 2, 7813 0, 7814 31, 7815 OPC_CheckCondCode, ISD::SETOLT, 7816 OPC_MoveParent, 7817 OPC_SwitchType , 11, MVT::i64, 7818 OPC_CheckPatternPredicate, 7, 7819 OPC_EmitMergeInputChains1_0, 7820 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0|OPFL_Chain, 7821 MVT::i64, 2, 1, 2, 7822 11, MVT::i32, 7823 OPC_CheckPatternPredicate, 9, 7824 OPC_EmitMergeInputChains1_0, 7825 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0|OPFL_Chain, 7826 MVT::i32, 2, 1, 2, 7827 0, 7828 31, 7829 OPC_CheckCondCode, ISD::SETOLE, 7830 OPC_MoveParent, 7831 OPC_SwitchType , 11, MVT::i64, 7832 OPC_CheckPatternPredicate, 7, 7833 OPC_EmitMergeInputChains1_0, 7834 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0|OPFL_Chain, 7835 MVT::i64, 2, 1, 2, 7836 11, MVT::i32, 7837 OPC_CheckPatternPredicate, 9, 7838 OPC_EmitMergeInputChains1_0, 7839 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0|OPFL_Chain, 7840 MVT::i32, 2, 1, 2, 7841 0, 7842 31, 7843 OPC_CheckCondCode, ISD::SETLE, 7844 OPC_MoveParent, 7845 OPC_SwitchType , 11, MVT::i64, 7846 OPC_CheckPatternPredicate, 7, 7847 OPC_EmitMergeInputChains1_0, 7848 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0|OPFL_Chain, 7849 MVT::i64, 2, 1, 2, 7850 11, MVT::i32, 7851 OPC_CheckPatternPredicate, 9, 7852 OPC_EmitMergeInputChains1_0, 7853 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0|OPFL_Chain, 7854 MVT::i32, 2, 1, 2, 7855 0, 7856 31, 7857 OPC_CheckCondCode, ISD::SETONE, 7858 OPC_MoveParent, 7859 OPC_SwitchType , 11, MVT::i64, 7860 OPC_CheckPatternPredicate, 7, 7861 OPC_EmitMergeInputChains1_0, 7862 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CNE_D), 0|OPFL_Chain, 7863 MVT::i64, 2, 1, 2, 7864 11, MVT::i32, 7865 OPC_CheckPatternPredicate, 9, 7866 OPC_EmitMergeInputChains1_0, 7867 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CNE_D), 0|OPFL_Chain, 7868 MVT::i32, 2, 1, 2, 7869 0, 7870 31, 7871 OPC_CheckCondCode, ISD::SETO, 7872 OPC_MoveParent, 7873 OPC_SwitchType , 11, MVT::i64, 7874 OPC_CheckPatternPredicate, 7, 7875 OPC_EmitMergeInputChains1_0, 7876 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_COR_D), 0|OPFL_Chain, 7877 MVT::i64, 2, 1, 2, 7878 11, MVT::i32, 7879 OPC_CheckPatternPredicate, 9, 7880 OPC_EmitMergeInputChains1_0, 7881 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_COR_D), 0|OPFL_Chain, 7882 MVT::i32, 2, 1, 2, 7883 0, 7884 31, 7885 OPC_CheckCondCode, ISD::SETUEQ, 7886 OPC_MoveParent, 7887 OPC_SwitchType , 11, MVT::i64, 7888 OPC_CheckPatternPredicate, 7, 7889 OPC_EmitMergeInputChains1_0, 7890 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0|OPFL_Chain, 7891 MVT::i64, 2, 1, 2, 7892 11, MVT::i32, 7893 OPC_CheckPatternPredicate, 9, 7894 OPC_EmitMergeInputChains1_0, 7895 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0|OPFL_Chain, 7896 MVT::i32, 2, 1, 2, 7897 0, 7898 31, 7899 OPC_CheckCondCode, ISD::SETULT, 7900 OPC_MoveParent, 7901 OPC_SwitchType , 11, MVT::i64, 7902 OPC_CheckPatternPredicate, 7, 7903 OPC_EmitMergeInputChains1_0, 7904 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULT_D), 0|OPFL_Chain, 7905 MVT::i64, 2, 1, 2, 7906 11, MVT::i32, 7907 OPC_CheckPatternPredicate, 9, 7908 OPC_EmitMergeInputChains1_0, 7909 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULT_D), 0|OPFL_Chain, 7910 MVT::i32, 2, 1, 2, 7911 0, 7912 31, 7913 OPC_CheckCondCode, ISD::SETULE, 7914 OPC_MoveParent, 7915 OPC_SwitchType , 11, MVT::i64, 7916 OPC_CheckPatternPredicate, 7, 7917 OPC_EmitMergeInputChains1_0, 7918 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULE_D), 0|OPFL_Chain, 7919 MVT::i64, 2, 1, 2, 7920 11, MVT::i32, 7921 OPC_CheckPatternPredicate, 9, 7922 OPC_EmitMergeInputChains1_0, 7923 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CULE_D), 0|OPFL_Chain, 7924 MVT::i32, 2, 1, 2, 7925 0, 7926 31, 7927 OPC_CheckCondCode, ISD::SETUNE, 7928 OPC_MoveParent, 7929 OPC_SwitchType , 11, MVT::i64, 7930 OPC_CheckPatternPredicate, 7, 7931 OPC_EmitMergeInputChains1_0, 7932 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0|OPFL_Chain, 7933 MVT::i64, 2, 1, 2, 7934 11, MVT::i32, 7935 OPC_CheckPatternPredicate, 9, 7936 OPC_EmitMergeInputChains1_0, 7937 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0|OPFL_Chain, 7938 MVT::i32, 2, 1, 2, 7939 0, 7940 31, 7941 OPC_CheckCondCode, ISD::SETUO, 7942 OPC_MoveParent, 7943 OPC_SwitchType , 11, MVT::i64, 7944 OPC_CheckPatternPredicate, 7, 7945 OPC_EmitMergeInputChains1_0, 7946 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUN_D), 0|OPFL_Chain, 7947 MVT::i64, 2, 1, 2, 7948 11, MVT::i32, 7949 OPC_CheckPatternPredicate, 9, 7950 OPC_EmitMergeInputChains1_0, 7951 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CUN_D), 0|OPFL_Chain, 7952 MVT::i32, 2, 1, 2, 7953 0, 7954 31, 7955 OPC_CheckCondCode, ISD::SETLT, 7956 OPC_MoveParent, 7957 OPC_SwitchType , 11, MVT::i64, 7958 OPC_CheckPatternPredicate, 7, 7959 OPC_EmitMergeInputChains1_0, 7960 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0|OPFL_Chain, 7961 MVT::i64, 2, 1, 2, 7962 11, MVT::i32, 7963 OPC_CheckPatternPredicate, 9, 7964 OPC_EmitMergeInputChains1_0, 7965 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0|OPFL_Chain, 7966 MVT::i32, 2, 1, 2, 7967 0, 7968 0, 7969 0, 7970 84|128,5, TARGET_VAL(ISD::STRICT_FSETCCS), 7971 OPC_RecordNode, 7972 OPC_RecordChild1, 7973 OPC_Scope, 102|128,2, 7974 OPC_CheckChild1Type, MVT::f32, 7975 OPC_RecordChild2, 7976 OPC_MoveChild3, 7977 OPC_Scope, 31, 7978 OPC_CheckCondCode, ISD::SETOEQ, 7979 OPC_MoveParent, 7980 OPC_SwitchType , 11, MVT::i64, 7981 OPC_CheckPatternPredicate, 6, 7982 OPC_EmitMergeInputChains1_0, 7983 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SEQ_S), 0|OPFL_Chain, 7984 MVT::i64, 2, 1, 2, 7985 11, MVT::i32, 7986 OPC_CheckPatternPredicate, 8, 7987 OPC_EmitMergeInputChains1_0, 7988 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SEQ_S), 0|OPFL_Chain, 7989 MVT::i32, 2, 1, 2, 7990 0, 7991 31, 7992 OPC_CheckCondCode, ISD::SETOLT, 7993 OPC_MoveParent, 7994 OPC_SwitchType , 11, MVT::i64, 7995 OPC_CheckPatternPredicate, 6, 7996 OPC_EmitMergeInputChains1_0, 7997 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLT_S), 0|OPFL_Chain, 7998 MVT::i64, 2, 1, 2, 7999 11, MVT::i32, 8000 OPC_CheckPatternPredicate, 8, 8001 OPC_EmitMergeInputChains1_0, 8002 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLT_S), 0|OPFL_Chain, 8003 MVT::i32, 2, 1, 2, 8004 0, 8005 31, 8006 OPC_CheckCondCode, ISD::SETOLE, 8007 OPC_MoveParent, 8008 OPC_SwitchType , 11, MVT::i64, 8009 OPC_CheckPatternPredicate, 6, 8010 OPC_EmitMergeInputChains1_0, 8011 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLE_S), 0|OPFL_Chain, 8012 MVT::i64, 2, 1, 2, 8013 11, MVT::i32, 8014 OPC_CheckPatternPredicate, 8, 8015 OPC_EmitMergeInputChains1_0, 8016 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLE_S), 0|OPFL_Chain, 8017 MVT::i32, 2, 1, 2, 8018 0, 8019 31, 8020 OPC_CheckCondCode, ISD::SETONE, 8021 OPC_MoveParent, 8022 OPC_SwitchType , 11, MVT::i64, 8023 OPC_CheckPatternPredicate, 6, 8024 OPC_EmitMergeInputChains1_0, 8025 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SNE_S), 0|OPFL_Chain, 8026 MVT::i64, 2, 1, 2, 8027 11, MVT::i32, 8028 OPC_CheckPatternPredicate, 8, 8029 OPC_EmitMergeInputChains1_0, 8030 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SNE_S), 0|OPFL_Chain, 8031 MVT::i32, 2, 1, 2, 8032 0, 8033 31, 8034 OPC_CheckCondCode, ISD::SETO, 8035 OPC_MoveParent, 8036 OPC_SwitchType , 11, MVT::i64, 8037 OPC_CheckPatternPredicate, 6, 8038 OPC_EmitMergeInputChains1_0, 8039 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SOR_S), 0|OPFL_Chain, 8040 MVT::i64, 2, 1, 2, 8041 11, MVT::i32, 8042 OPC_CheckPatternPredicate, 8, 8043 OPC_EmitMergeInputChains1_0, 8044 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SOR_S), 0|OPFL_Chain, 8045 MVT::i32, 2, 1, 2, 8046 0, 8047 31, 8048 OPC_CheckCondCode, ISD::SETUEQ, 8049 OPC_MoveParent, 8050 OPC_SwitchType , 11, MVT::i64, 8051 OPC_CheckPatternPredicate, 6, 8052 OPC_EmitMergeInputChains1_0, 8053 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUEQ_S), 0|OPFL_Chain, 8054 MVT::i64, 2, 1, 2, 8055 11, MVT::i32, 8056 OPC_CheckPatternPredicate, 8, 8057 OPC_EmitMergeInputChains1_0, 8058 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUEQ_S), 0|OPFL_Chain, 8059 MVT::i32, 2, 1, 2, 8060 0, 8061 31, 8062 OPC_CheckCondCode, ISD::SETULT, 8063 OPC_MoveParent, 8064 OPC_SwitchType , 11, MVT::i64, 8065 OPC_CheckPatternPredicate, 6, 8066 OPC_EmitMergeInputChains1_0, 8067 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SULT_S), 0|OPFL_Chain, 8068 MVT::i64, 2, 1, 2, 8069 11, MVT::i32, 8070 OPC_CheckPatternPredicate, 8, 8071 OPC_EmitMergeInputChains1_0, 8072 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SULT_S), 0|OPFL_Chain, 8073 MVT::i32, 2, 1, 2, 8074 0, 8075 31, 8076 OPC_CheckCondCode, ISD::SETULE, 8077 OPC_MoveParent, 8078 OPC_SwitchType , 11, MVT::i64, 8079 OPC_CheckPatternPredicate, 6, 8080 OPC_EmitMergeInputChains1_0, 8081 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SULE_S), 0|OPFL_Chain, 8082 MVT::i64, 2, 1, 2, 8083 11, MVT::i32, 8084 OPC_CheckPatternPredicate, 8, 8085 OPC_EmitMergeInputChains1_0, 8086 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SULE_S), 0|OPFL_Chain, 8087 MVT::i32, 2, 1, 2, 8088 0, 8089 31, 8090 OPC_CheckCondCode, ISD::SETUNE, 8091 OPC_MoveParent, 8092 OPC_SwitchType , 11, MVT::i64, 8093 OPC_CheckPatternPredicate, 6, 8094 OPC_EmitMergeInputChains1_0, 8095 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUNE_S), 0|OPFL_Chain, 8096 MVT::i64, 2, 1, 2, 8097 11, MVT::i32, 8098 OPC_CheckPatternPredicate, 8, 8099 OPC_EmitMergeInputChains1_0, 8100 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUNE_S), 0|OPFL_Chain, 8101 MVT::i32, 2, 1, 2, 8102 0, 8103 31, 8104 OPC_CheckCondCode, ISD::SETUO, 8105 OPC_MoveParent, 8106 OPC_SwitchType , 11, MVT::i64, 8107 OPC_CheckPatternPredicate, 6, 8108 OPC_EmitMergeInputChains1_0, 8109 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUN_S), 0|OPFL_Chain, 8110 MVT::i64, 2, 1, 2, 8111 11, MVT::i32, 8112 OPC_CheckPatternPredicate, 8, 8113 OPC_EmitMergeInputChains1_0, 8114 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUN_S), 0|OPFL_Chain, 8115 MVT::i32, 2, 1, 2, 8116 0, 8117 31, 8118 OPC_CheckCondCode, ISD::SETLT, 8119 OPC_MoveParent, 8120 OPC_SwitchType , 11, MVT::i64, 8121 OPC_CheckPatternPredicate, 6, 8122 OPC_EmitMergeInputChains1_0, 8123 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLT_S), 0|OPFL_Chain, 8124 MVT::i64, 2, 1, 2, 8125 11, MVT::i32, 8126 OPC_CheckPatternPredicate, 8, 8127 OPC_EmitMergeInputChains1_0, 8128 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLT_S), 0|OPFL_Chain, 8129 MVT::i32, 2, 1, 2, 8130 0, 8131 0, 8132 102|128,2, 8133 OPC_CheckChild1Type, MVT::f64, 8134 OPC_RecordChild2, 8135 OPC_MoveChild3, 8136 OPC_Scope, 31, 8137 OPC_CheckCondCode, ISD::SETOEQ, 8138 OPC_MoveParent, 8139 OPC_SwitchType , 11, MVT::i64, 8140 OPC_CheckPatternPredicate, 7, 8141 OPC_EmitMergeInputChains1_0, 8142 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SEQ_D), 0|OPFL_Chain, 8143 MVT::i64, 2, 1, 2, 8144 11, MVT::i32, 8145 OPC_CheckPatternPredicate, 9, 8146 OPC_EmitMergeInputChains1_0, 8147 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SEQ_D), 0|OPFL_Chain, 8148 MVT::i32, 2, 1, 2, 8149 0, 8150 31, 8151 OPC_CheckCondCode, ISD::SETOLT, 8152 OPC_MoveParent, 8153 OPC_SwitchType , 11, MVT::i64, 8154 OPC_CheckPatternPredicate, 7, 8155 OPC_EmitMergeInputChains1_0, 8156 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLT_D), 0|OPFL_Chain, 8157 MVT::i64, 2, 1, 2, 8158 11, MVT::i32, 8159 OPC_CheckPatternPredicate, 9, 8160 OPC_EmitMergeInputChains1_0, 8161 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLT_D), 0|OPFL_Chain, 8162 MVT::i32, 2, 1, 2, 8163 0, 8164 31, 8165 OPC_CheckCondCode, ISD::SETOLE, 8166 OPC_MoveParent, 8167 OPC_SwitchType , 11, MVT::i64, 8168 OPC_CheckPatternPredicate, 7, 8169 OPC_EmitMergeInputChains1_0, 8170 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLE_D), 0|OPFL_Chain, 8171 MVT::i64, 2, 1, 2, 8172 11, MVT::i32, 8173 OPC_CheckPatternPredicate, 9, 8174 OPC_EmitMergeInputChains1_0, 8175 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLE_D), 0|OPFL_Chain, 8176 MVT::i32, 2, 1, 2, 8177 0, 8178 31, 8179 OPC_CheckCondCode, ISD::SETONE, 8180 OPC_MoveParent, 8181 OPC_SwitchType , 11, MVT::i64, 8182 OPC_CheckPatternPredicate, 7, 8183 OPC_EmitMergeInputChains1_0, 8184 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SNE_D), 0|OPFL_Chain, 8185 MVT::i64, 2, 1, 2, 8186 11, MVT::i32, 8187 OPC_CheckPatternPredicate, 9, 8188 OPC_EmitMergeInputChains1_0, 8189 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SNE_D), 0|OPFL_Chain, 8190 MVT::i32, 2, 1, 2, 8191 0, 8192 31, 8193 OPC_CheckCondCode, ISD::SETO, 8194 OPC_MoveParent, 8195 OPC_SwitchType , 11, MVT::i64, 8196 OPC_CheckPatternPredicate, 7, 8197 OPC_EmitMergeInputChains1_0, 8198 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SOR_D), 0|OPFL_Chain, 8199 MVT::i64, 2, 1, 2, 8200 11, MVT::i32, 8201 OPC_CheckPatternPredicate, 9, 8202 OPC_EmitMergeInputChains1_0, 8203 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SOR_D), 0|OPFL_Chain, 8204 MVT::i32, 2, 1, 2, 8205 0, 8206 31, 8207 OPC_CheckCondCode, ISD::SETUEQ, 8208 OPC_MoveParent, 8209 OPC_SwitchType , 11, MVT::i64, 8210 OPC_CheckPatternPredicate, 7, 8211 OPC_EmitMergeInputChains1_0, 8212 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUEQ_D), 0|OPFL_Chain, 8213 MVT::i64, 2, 1, 2, 8214 11, MVT::i32, 8215 OPC_CheckPatternPredicate, 9, 8216 OPC_EmitMergeInputChains1_0, 8217 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUEQ_D), 0|OPFL_Chain, 8218 MVT::i32, 2, 1, 2, 8219 0, 8220 31, 8221 OPC_CheckCondCode, ISD::SETULT, 8222 OPC_MoveParent, 8223 OPC_SwitchType , 11, MVT::i64, 8224 OPC_CheckPatternPredicate, 7, 8225 OPC_EmitMergeInputChains1_0, 8226 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SULT_D), 0|OPFL_Chain, 8227 MVT::i64, 2, 1, 2, 8228 11, MVT::i32, 8229 OPC_CheckPatternPredicate, 9, 8230 OPC_EmitMergeInputChains1_0, 8231 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SULT_D), 0|OPFL_Chain, 8232 MVT::i32, 2, 1, 2, 8233 0, 8234 31, 8235 OPC_CheckCondCode, ISD::SETULE, 8236 OPC_MoveParent, 8237 OPC_SwitchType , 11, MVT::i64, 8238 OPC_CheckPatternPredicate, 7, 8239 OPC_EmitMergeInputChains1_0, 8240 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SULE_D), 0|OPFL_Chain, 8241 MVT::i64, 2, 1, 2, 8242 11, MVT::i32, 8243 OPC_CheckPatternPredicate, 9, 8244 OPC_EmitMergeInputChains1_0, 8245 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SULE_D), 0|OPFL_Chain, 8246 MVT::i32, 2, 1, 2, 8247 0, 8248 31, 8249 OPC_CheckCondCode, ISD::SETUNE, 8250 OPC_MoveParent, 8251 OPC_SwitchType , 11, MVT::i64, 8252 OPC_CheckPatternPredicate, 7, 8253 OPC_EmitMergeInputChains1_0, 8254 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUNE_D), 0|OPFL_Chain, 8255 MVT::i64, 2, 1, 2, 8256 11, MVT::i32, 8257 OPC_CheckPatternPredicate, 9, 8258 OPC_EmitMergeInputChains1_0, 8259 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUNE_D), 0|OPFL_Chain, 8260 MVT::i32, 2, 1, 2, 8261 0, 8262 31, 8263 OPC_CheckCondCode, ISD::SETUO, 8264 OPC_MoveParent, 8265 OPC_SwitchType , 11, MVT::i64, 8266 OPC_CheckPatternPredicate, 7, 8267 OPC_EmitMergeInputChains1_0, 8268 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUN_D), 0|OPFL_Chain, 8269 MVT::i64, 2, 1, 2, 8270 11, MVT::i32, 8271 OPC_CheckPatternPredicate, 9, 8272 OPC_EmitMergeInputChains1_0, 8273 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SUN_D), 0|OPFL_Chain, 8274 MVT::i32, 2, 1, 2, 8275 0, 8276 31, 8277 OPC_CheckCondCode, ISD::SETLT, 8278 OPC_MoveParent, 8279 OPC_SwitchType , 11, MVT::i64, 8280 OPC_CheckPatternPredicate, 7, 8281 OPC_EmitMergeInputChains1_0, 8282 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLT_D), 0|OPFL_Chain, 8283 MVT::i64, 2, 1, 2, 8284 11, MVT::i32, 8285 OPC_CheckPatternPredicate, 9, 8286 OPC_EmitMergeInputChains1_0, 8287 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCMP_SLT_D), 0|OPFL_Chain, 8288 MVT::i32, 2, 1, 2, 8289 0, 8290 0, 8291 0, 8292 10, TARGET_VAL(LoongArchISD::MOVFR2GR_S_LA64), 8293 OPC_RecordChild0, 8294 OPC_CheckPatternPredicate, 10, 8295 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVFR2GR_S), 0, 8296 MVT::i64, 1, 0, 8297 85, TARGET_VAL(ISD::BITCAST), 8298 OPC_RecordChild0, 8299 OPC_Scope, 13, 8300 OPC_CheckChild0Type, MVT::f32, 8301 OPC_CheckType, MVT::i32, 8302 OPC_CheckPatternPredicate, 11, 8303 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVFR2GR_S), 0, 8304 MVT::i32, 1, 0, 8305 26, 8306 OPC_CheckChild0Type, MVT::f64, 8307 OPC_SwitchType , 9, MVT::i64, 8308 OPC_CheckPatternPredicate, 12, 8309 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVFR2GR_D), 0, 8310 MVT::i64, 1, 0, 8311 9, MVT::i32, 8312 OPC_CheckPatternPredicate, 13, 8313 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVFR2GR_D), 0, 8314 MVT::i32, 1, 0, 8315 0, 8316 26, 8317 OPC_CheckChild0Type, MVT::i32, 8318 OPC_SwitchType , 9, MVT::f32, 8319 OPC_CheckPatternPredicate, 11, 8320 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 8321 MVT::f32, 1, 0, 8322 9, MVT::f64, 8323 OPC_CheckPatternPredicate, 13, 8324 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 8325 MVT::f64, 1, 0, 8326 0, 8327 13, 8328 OPC_CheckChild0Type, MVT::i64, 8329 OPC_CheckType, MVT::f64, 8330 OPC_CheckPatternPredicate, 12, 8331 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 8332 MVT::f64, 1, 0, 8333 0, 8334 32, TARGET_VAL(LoongArchISD::IOCSRRD_B), 8335 OPC_RecordNode, 8336 OPC_RecordChild1, 8337 OPC_SwitchType , 12, MVT::i64, 8338 OPC_CheckChild1Type, MVT::i64, 8339 OPC_CheckPatternPredicate, 4, 8340 OPC_EmitMergeInputChains1_0, 8341 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::IOCSRRD_B), 0|OPFL_Chain, 8342 MVT::i64, 1, 1, 8343 12, MVT::i32, 8344 OPC_CheckChild1Type, MVT::i32, 8345 OPC_CheckPatternPredicate, 5, 8346 OPC_EmitMergeInputChains1_0, 8347 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::IOCSRRD_B), 0|OPFL_Chain, 8348 MVT::i32, 1, 1, 8349 0, 8350 32, TARGET_VAL(LoongArchISD::IOCSRRD_H), 8351 OPC_RecordNode, 8352 OPC_RecordChild1, 8353 OPC_SwitchType , 12, MVT::i64, 8354 OPC_CheckChild1Type, MVT::i64, 8355 OPC_CheckPatternPredicate, 4, 8356 OPC_EmitMergeInputChains1_0, 8357 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::IOCSRRD_H), 0|OPFL_Chain, 8358 MVT::i64, 1, 1, 8359 12, MVT::i32, 8360 OPC_CheckChild1Type, MVT::i32, 8361 OPC_CheckPatternPredicate, 5, 8362 OPC_EmitMergeInputChains1_0, 8363 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::IOCSRRD_H), 0|OPFL_Chain, 8364 MVT::i32, 1, 1, 8365 0, 8366 32, TARGET_VAL(LoongArchISD::IOCSRRD_W), 8367 OPC_RecordNode, 8368 OPC_RecordChild1, 8369 OPC_SwitchType , 12, MVT::i64, 8370 OPC_CheckChild1Type, MVT::i64, 8371 OPC_CheckPatternPredicate, 4, 8372 OPC_EmitMergeInputChains1_0, 8373 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::IOCSRRD_W), 0|OPFL_Chain, 8374 MVT::i64, 1, 1, 8375 12, MVT::i32, 8376 OPC_CheckChild1Type, MVT::i32, 8377 OPC_CheckPatternPredicate, 5, 8378 OPC_EmitMergeInputChains1_0, 8379 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::IOCSRRD_W), 0|OPFL_Chain, 8380 MVT::i32, 1, 1, 8381 0, 8382 32, TARGET_VAL(LoongArchISD::IOCSRWR_B), 8383 OPC_RecordNode, 8384 OPC_RecordChild1, 8385 OPC_Scope, 13, 8386 OPC_CheckChild1Type, MVT::i64, 8387 OPC_RecordChild2, 8388 OPC_CheckPatternPredicate, 4, 8389 OPC_EmitMergeInputChains1_0, 8390 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::IOCSRWR_B), 0|OPFL_Chain, 8391 2, 1, 2, 8392 13, 8393 OPC_CheckChild1Type, MVT::i32, 8394 OPC_RecordChild2, 8395 OPC_CheckPatternPredicate, 5, 8396 OPC_EmitMergeInputChains1_0, 8397 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::IOCSRWR_B), 0|OPFL_Chain, 8398 2, 1, 2, 8399 0, 8400 32, TARGET_VAL(LoongArchISD::IOCSRWR_H), 8401 OPC_RecordNode, 8402 OPC_RecordChild1, 8403 OPC_Scope, 13, 8404 OPC_CheckChild1Type, MVT::i64, 8405 OPC_RecordChild2, 8406 OPC_CheckPatternPredicate, 4, 8407 OPC_EmitMergeInputChains1_0, 8408 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::IOCSRWR_H), 0|OPFL_Chain, 8409 2, 1, 2, 8410 13, 8411 OPC_CheckChild1Type, MVT::i32, 8412 OPC_RecordChild2, 8413 OPC_CheckPatternPredicate, 5, 8414 OPC_EmitMergeInputChains1_0, 8415 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::IOCSRWR_H), 0|OPFL_Chain, 8416 2, 1, 2, 8417 0, 8418 32, TARGET_VAL(LoongArchISD::IOCSRWR_W), 8419 OPC_RecordNode, 8420 OPC_RecordChild1, 8421 OPC_Scope, 13, 8422 OPC_CheckChild1Type, MVT::i64, 8423 OPC_RecordChild2, 8424 OPC_CheckPatternPredicate, 4, 8425 OPC_EmitMergeInputChains1_0, 8426 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::IOCSRWR_W), 0|OPFL_Chain, 8427 2, 1, 2, 8428 13, 8429 OPC_CheckChild1Type, MVT::i32, 8430 OPC_RecordChild2, 8431 OPC_CheckPatternPredicate, 5, 8432 OPC_EmitMergeInputChains1_0, 8433 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::IOCSRWR_W), 0|OPFL_Chain, 8434 2, 1, 2, 8435 0, 8436 32, TARGET_VAL(LoongArchISD::CPUCFG), 8437 OPC_RecordNode, 8438 OPC_RecordChild1, 8439 OPC_SwitchType , 12, MVT::i64, 8440 OPC_CheckChild1Type, MVT::i64, 8441 OPC_CheckPatternPredicate, 4, 8442 OPC_EmitMergeInputChains1_0, 8443 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CPUCFG), 0|OPFL_Chain, 8444 MVT::i64, 1, 1, 8445 12, MVT::i32, 8446 OPC_CheckChild1Type, MVT::i32, 8447 OPC_CheckPatternPredicate, 5, 8448 OPC_EmitMergeInputChains1_0, 8449 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::CPUCFG), 0|OPFL_Chain, 8450 MVT::i32, 1, 1, 8451 0, 8452 32, TARGET_VAL(LoongArchISD::IOCSRRD_D), 8453 OPC_RecordNode, 8454 OPC_RecordChild1, 8455 OPC_SwitchType , 12, MVT::i64, 8456 OPC_CheckChild1Type, MVT::i64, 8457 OPC_CheckPatternPredicate, 0, 8458 OPC_EmitMergeInputChains1_0, 8459 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::IOCSRRD_D), 0|OPFL_Chain, 8460 MVT::i64, 1, 1, 8461 12, MVT::i32, 8462 OPC_CheckChild1Type, MVT::i32, 8463 OPC_CheckPatternPredicate, 3, 8464 OPC_EmitMergeInputChains1_0, 8465 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::IOCSRRD_D), 0|OPFL_Chain, 8466 MVT::i32, 1, 1, 8467 0, 8468 32, TARGET_VAL(LoongArchISD::IOCSRWR_D), 8469 OPC_RecordNode, 8470 OPC_RecordChild1, 8471 OPC_Scope, 13, 8472 OPC_CheckChild1Type, MVT::i64, 8473 OPC_RecordChild2, 8474 OPC_CheckPatternPredicate, 0, 8475 OPC_EmitMergeInputChains1_0, 8476 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::IOCSRWR_D), 0|OPFL_Chain, 8477 2, 1, 2, 8478 13, 8479 OPC_CheckChild1Type, MVT::i32, 8480 OPC_RecordChild2, 8481 OPC_CheckPatternPredicate, 3, 8482 OPC_EmitMergeInputChains1_0, 8483 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::IOCSRWR_D), 0|OPFL_Chain, 8484 2, 1, 2, 8485 0, 8486 23|128,10, TARGET_VAL(ISD::SELECT), 8487 OPC_Scope, 67, 8488 OPC_RecordChild0, 8489 OPC_SwitchType , 30, MVT::i64, 8490 OPC_CheckChild0Type, MVT::i64, 8491 OPC_RecordChild1, 8492 OPC_RecordChild2, 8493 OPC_CheckPatternPredicate, 4, 8494 OPC_EmitNode1, TARGET_VAL(LoongArch::MASKEQZ), 0, 8495 MVT::i64, 2, 1, 0, 8496 OPC_EmitNode1, TARGET_VAL(LoongArch::MASKNEZ), 0, 8497 MVT::i64, 2, 2, 0, 8498 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::OR), 0, 8499 MVT::i64, 2, 3, 4, 8500 30, MVT::i32, 8501 OPC_CheckChild0Type, MVT::i32, 8502 OPC_RecordChild1, 8503 OPC_RecordChild2, 8504 OPC_CheckPatternPredicate, 5, 8505 OPC_EmitNode1, TARGET_VAL(LoongArch::MASKEQZ), 0, 8506 MVT::i32, 2, 1, 0, 8507 OPC_EmitNode1, TARGET_VAL(LoongArch::MASKNEZ), 0, 8508 MVT::i32, 2, 2, 0, 8509 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::OR), 0, 8510 MVT::i32, 2, 3, 4, 8511 0, 8512 9|128,9, 8513 OPC_MoveChild0, 8514 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC), 8515 OPC_RecordChild0, 8516 OPC_Scope, 63|128,4, 8517 OPC_CheckChild0Type, MVT::f32, 8518 OPC_RecordChild1, 8519 OPC_Scope, 56, 8520 OPC_CheckChild2CondCode, ISD::SETOEQ, 8521 OPC_SwitchType , 24, MVT::i64, 8522 OPC_MoveParent, 8523 OPC_RecordChild1, 8524 OPC_RecordChild2, 8525 OPC_CheckType, MVT::f32, 8526 OPC_CheckPatternPredicate, 6, 8527 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0, 8528 MVT::i64, 2, 0, 1, 8529 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8530 MVT::f32, 3, 3, 2, 4, 8531 24, MVT::i32, 8532 OPC_MoveParent, 8533 OPC_RecordChild1, 8534 OPC_RecordChild2, 8535 OPC_CheckType, MVT::f32, 8536 OPC_CheckPatternPredicate, 8, 8537 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0, 8538 MVT::i32, 2, 0, 1, 8539 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8540 MVT::f32, 3, 3, 2, 4, 8541 0, 8542 56, 8543 OPC_CheckChild2CondCode, ISD::SETOLT, 8544 OPC_SwitchType , 24, MVT::i64, 8545 OPC_MoveParent, 8546 OPC_RecordChild1, 8547 OPC_RecordChild2, 8548 OPC_CheckType, MVT::f32, 8549 OPC_CheckPatternPredicate, 6, 8550 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 8551 MVT::i64, 2, 0, 1, 8552 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8553 MVT::f32, 3, 3, 2, 4, 8554 24, MVT::i32, 8555 OPC_MoveParent, 8556 OPC_RecordChild1, 8557 OPC_RecordChild2, 8558 OPC_CheckType, MVT::f32, 8559 OPC_CheckPatternPredicate, 8, 8560 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_S), 0, 8561 MVT::i32, 2, 0, 1, 8562 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8563 MVT::f32, 3, 3, 2, 4, 8564 0, 8565 56, 8566 OPC_CheckChild2CondCode, ISD::SETOLE, 8567 OPC_SwitchType , 24, MVT::i64, 8568 OPC_MoveParent, 8569 OPC_RecordChild1, 8570 OPC_RecordChild2, 8571 OPC_CheckType, MVT::f32, 8572 OPC_CheckPatternPredicate, 6, 8573 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0, 8574 MVT::i64, 2, 0, 1, 8575 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8576 MVT::f32, 3, 3, 2, 4, 8577 24, MVT::i32, 8578 OPC_MoveParent, 8579 OPC_RecordChild1, 8580 OPC_RecordChild2, 8581 OPC_CheckType, MVT::f32, 8582 OPC_CheckPatternPredicate, 8, 8583 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_S), 0, 8584 MVT::i32, 2, 0, 1, 8585 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8586 MVT::f32, 3, 3, 2, 4, 8587 0, 8588 56, 8589 OPC_CheckChild2CondCode, ISD::SETONE, 8590 OPC_SwitchType , 24, MVT::i64, 8591 OPC_MoveParent, 8592 OPC_RecordChild1, 8593 OPC_RecordChild2, 8594 OPC_CheckType, MVT::f32, 8595 OPC_CheckPatternPredicate, 6, 8596 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_S), 0, 8597 MVT::i64, 2, 0, 1, 8598 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8599 MVT::f32, 3, 3, 2, 4, 8600 24, MVT::i32, 8601 OPC_MoveParent, 8602 OPC_RecordChild1, 8603 OPC_RecordChild2, 8604 OPC_CheckType, MVT::f32, 8605 OPC_CheckPatternPredicate, 8, 8606 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_S), 0, 8607 MVT::i32, 2, 0, 1, 8608 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8609 MVT::f32, 3, 3, 2, 4, 8610 0, 8611 56, 8612 OPC_CheckChild2CondCode, ISD::SETO, 8613 OPC_SwitchType , 24, MVT::i64, 8614 OPC_MoveParent, 8615 OPC_RecordChild1, 8616 OPC_RecordChild2, 8617 OPC_CheckType, MVT::f32, 8618 OPC_CheckPatternPredicate, 6, 8619 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_S), 0, 8620 MVT::i64, 2, 0, 1, 8621 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8622 MVT::f32, 3, 3, 2, 4, 8623 24, MVT::i32, 8624 OPC_MoveParent, 8625 OPC_RecordChild1, 8626 OPC_RecordChild2, 8627 OPC_CheckType, MVT::f32, 8628 OPC_CheckPatternPredicate, 8, 8629 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_S), 0, 8630 MVT::i32, 2, 0, 1, 8631 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8632 MVT::f32, 3, 3, 2, 4, 8633 0, 8634 56, 8635 OPC_CheckChild2CondCode, ISD::SETUEQ, 8636 OPC_SwitchType , 24, MVT::i64, 8637 OPC_MoveParent, 8638 OPC_RecordChild1, 8639 OPC_RecordChild2, 8640 OPC_CheckType, MVT::f32, 8641 OPC_CheckPatternPredicate, 6, 8642 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0, 8643 MVT::i64, 2, 0, 1, 8644 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8645 MVT::f32, 3, 3, 2, 4, 8646 24, MVT::i32, 8647 OPC_MoveParent, 8648 OPC_RecordChild1, 8649 OPC_RecordChild2, 8650 OPC_CheckType, MVT::f32, 8651 OPC_CheckPatternPredicate, 8, 8652 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0, 8653 MVT::i32, 2, 0, 1, 8654 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8655 MVT::f32, 3, 3, 2, 4, 8656 0, 8657 56, 8658 OPC_CheckChild2CondCode, ISD::SETULT, 8659 OPC_SwitchType , 24, MVT::i64, 8660 OPC_MoveParent, 8661 OPC_RecordChild1, 8662 OPC_RecordChild2, 8663 OPC_CheckType, MVT::f32, 8664 OPC_CheckPatternPredicate, 6, 8665 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_S), 0, 8666 MVT::i64, 2, 0, 1, 8667 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8668 MVT::f32, 3, 3, 2, 4, 8669 24, MVT::i32, 8670 OPC_MoveParent, 8671 OPC_RecordChild1, 8672 OPC_RecordChild2, 8673 OPC_CheckType, MVT::f32, 8674 OPC_CheckPatternPredicate, 8, 8675 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_S), 0, 8676 MVT::i32, 2, 0, 1, 8677 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8678 MVT::f32, 3, 3, 2, 4, 8679 0, 8680 56, 8681 OPC_CheckChild2CondCode, ISD::SETULE, 8682 OPC_SwitchType , 24, MVT::i64, 8683 OPC_MoveParent, 8684 OPC_RecordChild1, 8685 OPC_RecordChild2, 8686 OPC_CheckType, MVT::f32, 8687 OPC_CheckPatternPredicate, 6, 8688 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_S), 0, 8689 MVT::i64, 2, 0, 1, 8690 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8691 MVT::f32, 3, 3, 2, 4, 8692 24, MVT::i32, 8693 OPC_MoveParent, 8694 OPC_RecordChild1, 8695 OPC_RecordChild2, 8696 OPC_CheckType, MVT::f32, 8697 OPC_CheckPatternPredicate, 8, 8698 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_S), 0, 8699 MVT::i32, 2, 0, 1, 8700 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8701 MVT::f32, 3, 3, 2, 4, 8702 0, 8703 56, 8704 OPC_CheckChild2CondCode, ISD::SETUNE, 8705 OPC_SwitchType , 24, MVT::i64, 8706 OPC_MoveParent, 8707 OPC_RecordChild1, 8708 OPC_RecordChild2, 8709 OPC_CheckType, MVT::f32, 8710 OPC_CheckPatternPredicate, 6, 8711 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0, 8712 MVT::i64, 2, 0, 1, 8713 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8714 MVT::f32, 3, 3, 2, 4, 8715 24, MVT::i32, 8716 OPC_MoveParent, 8717 OPC_RecordChild1, 8718 OPC_RecordChild2, 8719 OPC_CheckType, MVT::f32, 8720 OPC_CheckPatternPredicate, 8, 8721 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0, 8722 MVT::i32, 2, 0, 1, 8723 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8724 MVT::f32, 3, 3, 2, 4, 8725 0, 8726 56, 8727 OPC_CheckChild2CondCode, ISD::SETUO, 8728 OPC_SwitchType , 24, MVT::i64, 8729 OPC_MoveParent, 8730 OPC_RecordChild1, 8731 OPC_RecordChild2, 8732 OPC_CheckType, MVT::f32, 8733 OPC_CheckPatternPredicate, 6, 8734 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_S), 0, 8735 MVT::i64, 2, 0, 1, 8736 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8737 MVT::f32, 3, 3, 2, 4, 8738 24, MVT::i32, 8739 OPC_MoveParent, 8740 OPC_RecordChild1, 8741 OPC_RecordChild2, 8742 OPC_CheckType, MVT::f32, 8743 OPC_CheckPatternPredicate, 8, 8744 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_S), 0, 8745 MVT::i32, 2, 0, 1, 8746 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8747 MVT::f32, 3, 3, 2, 4, 8748 0, 8749 0, 8750 63|128,4, 8751 OPC_CheckChild0Type, MVT::f64, 8752 OPC_RecordChild1, 8753 OPC_Scope, 56, 8754 OPC_CheckChild2CondCode, ISD::SETOEQ, 8755 OPC_SwitchType , 24, MVT::i64, 8756 OPC_MoveParent, 8757 OPC_RecordChild1, 8758 OPC_RecordChild2, 8759 OPC_CheckType, MVT::f64, 8760 OPC_CheckPatternPredicate, 7, 8761 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0, 8762 MVT::i64, 2, 0, 1, 8763 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8764 MVT::f64, 3, 3, 2, 4, 8765 24, MVT::i32, 8766 OPC_MoveParent, 8767 OPC_RecordChild1, 8768 OPC_RecordChild2, 8769 OPC_CheckType, MVT::f64, 8770 OPC_CheckPatternPredicate, 9, 8771 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0, 8772 MVT::i32, 2, 0, 1, 8773 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8774 MVT::f64, 3, 3, 2, 4, 8775 0, 8776 56, 8777 OPC_CheckChild2CondCode, ISD::SETOLT, 8778 OPC_SwitchType , 24, MVT::i64, 8779 OPC_MoveParent, 8780 OPC_RecordChild1, 8781 OPC_RecordChild2, 8782 OPC_CheckType, MVT::f64, 8783 OPC_CheckPatternPredicate, 7, 8784 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 8785 MVT::i64, 2, 0, 1, 8786 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8787 MVT::f64, 3, 3, 2, 4, 8788 24, MVT::i32, 8789 OPC_MoveParent, 8790 OPC_RecordChild1, 8791 OPC_RecordChild2, 8792 OPC_CheckType, MVT::f64, 8793 OPC_CheckPatternPredicate, 9, 8794 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLT_D), 0, 8795 MVT::i32, 2, 0, 1, 8796 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8797 MVT::f64, 3, 3, 2, 4, 8798 0, 8799 56, 8800 OPC_CheckChild2CondCode, ISD::SETOLE, 8801 OPC_SwitchType , 24, MVT::i64, 8802 OPC_MoveParent, 8803 OPC_RecordChild1, 8804 OPC_RecordChild2, 8805 OPC_CheckType, MVT::f64, 8806 OPC_CheckPatternPredicate, 7, 8807 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0, 8808 MVT::i64, 2, 0, 1, 8809 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8810 MVT::f64, 3, 3, 2, 4, 8811 24, MVT::i32, 8812 OPC_MoveParent, 8813 OPC_RecordChild1, 8814 OPC_RecordChild2, 8815 OPC_CheckType, MVT::f64, 8816 OPC_CheckPatternPredicate, 9, 8817 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CLE_D), 0, 8818 MVT::i32, 2, 0, 1, 8819 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8820 MVT::f64, 3, 3, 2, 4, 8821 0, 8822 56, 8823 OPC_CheckChild2CondCode, ISD::SETONE, 8824 OPC_SwitchType , 24, MVT::i64, 8825 OPC_MoveParent, 8826 OPC_RecordChild1, 8827 OPC_RecordChild2, 8828 OPC_CheckType, MVT::f64, 8829 OPC_CheckPatternPredicate, 7, 8830 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_D), 0, 8831 MVT::i64, 2, 0, 1, 8832 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8833 MVT::f64, 3, 3, 2, 4, 8834 24, MVT::i32, 8835 OPC_MoveParent, 8836 OPC_RecordChild1, 8837 OPC_RecordChild2, 8838 OPC_CheckType, MVT::f64, 8839 OPC_CheckPatternPredicate, 9, 8840 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CNE_D), 0, 8841 MVT::i32, 2, 0, 1, 8842 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8843 MVT::f64, 3, 3, 2, 4, 8844 0, 8845 56, 8846 OPC_CheckChild2CondCode, ISD::SETO, 8847 OPC_SwitchType , 24, MVT::i64, 8848 OPC_MoveParent, 8849 OPC_RecordChild1, 8850 OPC_RecordChild2, 8851 OPC_CheckType, MVT::f64, 8852 OPC_CheckPatternPredicate, 7, 8853 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_D), 0, 8854 MVT::i64, 2, 0, 1, 8855 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8856 MVT::f64, 3, 3, 2, 4, 8857 24, MVT::i32, 8858 OPC_MoveParent, 8859 OPC_RecordChild1, 8860 OPC_RecordChild2, 8861 OPC_CheckType, MVT::f64, 8862 OPC_CheckPatternPredicate, 9, 8863 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_COR_D), 0, 8864 MVT::i32, 2, 0, 1, 8865 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8866 MVT::f64, 3, 3, 2, 4, 8867 0, 8868 56, 8869 OPC_CheckChild2CondCode, ISD::SETUEQ, 8870 OPC_SwitchType , 24, MVT::i64, 8871 OPC_MoveParent, 8872 OPC_RecordChild1, 8873 OPC_RecordChild2, 8874 OPC_CheckType, MVT::f64, 8875 OPC_CheckPatternPredicate, 7, 8876 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0, 8877 MVT::i64, 2, 0, 1, 8878 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8879 MVT::f64, 3, 3, 2, 4, 8880 24, MVT::i32, 8881 OPC_MoveParent, 8882 OPC_RecordChild1, 8883 OPC_RecordChild2, 8884 OPC_CheckType, MVT::f64, 8885 OPC_CheckPatternPredicate, 9, 8886 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0, 8887 MVT::i32, 2, 0, 1, 8888 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8889 MVT::f64, 3, 3, 2, 4, 8890 0, 8891 56, 8892 OPC_CheckChild2CondCode, ISD::SETULT, 8893 OPC_SwitchType , 24, MVT::i64, 8894 OPC_MoveParent, 8895 OPC_RecordChild1, 8896 OPC_RecordChild2, 8897 OPC_CheckType, MVT::f64, 8898 OPC_CheckPatternPredicate, 7, 8899 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_D), 0, 8900 MVT::i64, 2, 0, 1, 8901 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8902 MVT::f64, 3, 3, 2, 4, 8903 24, MVT::i32, 8904 OPC_MoveParent, 8905 OPC_RecordChild1, 8906 OPC_RecordChild2, 8907 OPC_CheckType, MVT::f64, 8908 OPC_CheckPatternPredicate, 9, 8909 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULT_D), 0, 8910 MVT::i32, 2, 0, 1, 8911 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8912 MVT::f64, 3, 3, 2, 4, 8913 0, 8914 56, 8915 OPC_CheckChild2CondCode, ISD::SETULE, 8916 OPC_SwitchType , 24, MVT::i64, 8917 OPC_MoveParent, 8918 OPC_RecordChild1, 8919 OPC_RecordChild2, 8920 OPC_CheckType, MVT::f64, 8921 OPC_CheckPatternPredicate, 7, 8922 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_D), 0, 8923 MVT::i64, 2, 0, 1, 8924 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8925 MVT::f64, 3, 3, 2, 4, 8926 24, MVT::i32, 8927 OPC_MoveParent, 8928 OPC_RecordChild1, 8929 OPC_RecordChild2, 8930 OPC_CheckType, MVT::f64, 8931 OPC_CheckPatternPredicate, 9, 8932 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CULE_D), 0, 8933 MVT::i32, 2, 0, 1, 8934 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8935 MVT::f64, 3, 3, 2, 4, 8936 0, 8937 56, 8938 OPC_CheckChild2CondCode, ISD::SETUNE, 8939 OPC_SwitchType , 24, MVT::i64, 8940 OPC_MoveParent, 8941 OPC_RecordChild1, 8942 OPC_RecordChild2, 8943 OPC_CheckType, MVT::f64, 8944 OPC_CheckPatternPredicate, 7, 8945 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0, 8946 MVT::i64, 2, 0, 1, 8947 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8948 MVT::f64, 3, 3, 2, 4, 8949 24, MVT::i32, 8950 OPC_MoveParent, 8951 OPC_RecordChild1, 8952 OPC_RecordChild2, 8953 OPC_CheckType, MVT::f64, 8954 OPC_CheckPatternPredicate, 9, 8955 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0, 8956 MVT::i32, 2, 0, 1, 8957 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8958 MVT::f64, 3, 3, 2, 4, 8959 0, 8960 56, 8961 OPC_CheckChild2CondCode, ISD::SETUO, 8962 OPC_SwitchType , 24, MVT::i64, 8963 OPC_MoveParent, 8964 OPC_RecordChild1, 8965 OPC_RecordChild2, 8966 OPC_CheckType, MVT::f64, 8967 OPC_CheckPatternPredicate, 7, 8968 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_D), 0, 8969 MVT::i64, 2, 0, 1, 8970 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8971 MVT::f64, 3, 3, 2, 4, 8972 24, MVT::i32, 8973 OPC_MoveParent, 8974 OPC_RecordChild1, 8975 OPC_RecordChild2, 8976 OPC_CheckType, MVT::f64, 8977 OPC_CheckPatternPredicate, 9, 8978 OPC_EmitNode1, TARGET_VAL(LoongArch::FCMP_CUN_D), 0, 8979 MVT::i32, 2, 0, 1, 8980 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8981 MVT::f64, 3, 3, 2, 4, 8982 0, 8983 0, 8984 0, 8985 69, 8986 OPC_RecordChild0, 8987 OPC_Scope, 32, 8988 OPC_CheckChild0Type, MVT::i64, 8989 OPC_RecordChild1, 8990 OPC_RecordChild2, 8991 OPC_SwitchType , 11, MVT::f32, 8992 OPC_CheckPatternPredicate, 6, 8993 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 8994 MVT::f32, 3, 2, 1, 0, 8995 11, MVT::f64, 8996 OPC_CheckPatternPredicate, 7, 8997 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 8998 MVT::f64, 3, 2, 1, 0, 8999 0, 9000 32, 9001 OPC_CheckChild0Type, MVT::i32, 9002 OPC_RecordChild1, 9003 OPC_RecordChild2, 9004 OPC_SwitchType , 11, MVT::f32, 9005 OPC_CheckPatternPredicate, 8, 9006 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_S), 0, 9007 MVT::f32, 3, 2, 1, 0, 9008 11, MVT::f64, 9009 OPC_CheckPatternPredicate, 9, 9010 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSEL_D), 0, 9011 MVT::f64, 3, 2, 1, 0, 9012 0, 9013 0, 9014 0, 9015 56, TARGET_VAL(ISD::SDIV), 9016 OPC_RecordChild0, 9017 OPC_RecordChild1, 9018 OPC_SwitchType , 24, MVT::i64, 9019 OPC_Scope, 10, 9020 OPC_CheckPatternPredicate, 1, 9021 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::DIV_W), 0, 9022 MVT::i64, 2, 0, 1, 9023 10, 9024 OPC_CheckPatternPredicate, 0, 9025 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::DIV_D), 0, 9026 MVT::i64, 2, 0, 1, 9027 0, 9028 24, MVT::i32, 9029 OPC_Scope, 10, 9030 OPC_CheckPatternPredicate, 2, 9031 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::DIV_W), 0, 9032 MVT::i32, 2, 0, 1, 9033 10, 9034 OPC_CheckPatternPredicate, 3, 9035 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::DIV_D), 0, 9036 MVT::i32, 2, 0, 1, 9037 0, 9038 0, 9039 56, TARGET_VAL(ISD::UDIV), 9040 OPC_RecordChild0, 9041 OPC_RecordChild1, 9042 OPC_SwitchType , 24, MVT::i64, 9043 OPC_Scope, 10, 9044 OPC_CheckPatternPredicate, 1, 9045 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::DIV_WU), 0, 9046 MVT::i64, 2, 0, 1, 9047 10, 9048 OPC_CheckPatternPredicate, 0, 9049 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::DIV_DU), 0, 9050 MVT::i64, 2, 0, 1, 9051 0, 9052 24, MVT::i32, 9053 OPC_Scope, 10, 9054 OPC_CheckPatternPredicate, 2, 9055 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::DIV_WU), 0, 9056 MVT::i32, 2, 0, 1, 9057 10, 9058 OPC_CheckPatternPredicate, 3, 9059 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::DIV_DU), 0, 9060 MVT::i32, 2, 0, 1, 9061 0, 9062 0, 9063 56, TARGET_VAL(ISD::SREM), 9064 OPC_RecordChild0, 9065 OPC_RecordChild1, 9066 OPC_SwitchType , 24, MVT::i64, 9067 OPC_Scope, 10, 9068 OPC_CheckPatternPredicate, 1, 9069 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOD_W), 0, 9070 MVT::i64, 2, 0, 1, 9071 10, 9072 OPC_CheckPatternPredicate, 0, 9073 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOD_D), 0, 9074 MVT::i64, 2, 0, 1, 9075 0, 9076 24, MVT::i32, 9077 OPC_Scope, 10, 9078 OPC_CheckPatternPredicate, 2, 9079 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOD_W), 0, 9080 MVT::i32, 2, 0, 1, 9081 10, 9082 OPC_CheckPatternPredicate, 3, 9083 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOD_D), 0, 9084 MVT::i32, 2, 0, 1, 9085 0, 9086 0, 9087 56, TARGET_VAL(ISD::UREM), 9088 OPC_RecordChild0, 9089 OPC_RecordChild1, 9090 OPC_SwitchType , 24, MVT::i64, 9091 OPC_Scope, 10, 9092 OPC_CheckPatternPredicate, 1, 9093 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOD_WU), 0, 9094 MVT::i64, 2, 0, 1, 9095 10, 9096 OPC_CheckPatternPredicate, 0, 9097 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOD_DU), 0, 9098 MVT::i64, 2, 0, 1, 9099 0, 9100 24, MVT::i32, 9101 OPC_Scope, 10, 9102 OPC_CheckPatternPredicate, 2, 9103 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOD_WU), 0, 9104 MVT::i32, 2, 0, 1, 9105 10, 9106 OPC_CheckPatternPredicate, 3, 9107 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOD_DU), 0, 9108 MVT::i32, 2, 0, 1, 9109 0, 9110 0, 9111 98, TARGET_VAL(ISD::FDIV), 9112 OPC_Scope, 66, 9113 OPC_MoveChild0, 9114 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP), 9115 OPC_CheckPredicate, 34, 9116 OPC_MoveParent, 9117 OPC_Scope, 30, 9118 OPC_MoveChild1, 9119 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT), 9120 OPC_RecordChild0, 9121 OPC_MoveParent, 9122 OPC_SwitchType , 9, MVT::f32, 9123 OPC_CheckPatternPredicate, 14, 9124 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FRSQRT_S), 0, 9125 MVT::f32, 1, 0, 9126 9, MVT::f64, 9127 OPC_CheckPatternPredicate, 15, 9128 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FRSQRT_D), 0, 9129 MVT::f64, 1, 0, 9130 0, 9131 25, 9132 OPC_RecordChild1, 9133 OPC_SwitchType , 9, MVT::f32, 9134 OPC_CheckPatternPredicate, 14, 9135 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FRECIP_S), 0, 9136 MVT::f32, 1, 0, 9137 9, MVT::f64, 9138 OPC_CheckPatternPredicate, 15, 9139 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FRECIP_D), 0, 9140 MVT::f64, 1, 0, 9141 0, 9142 0, 9143 28, 9144 OPC_RecordChild0, 9145 OPC_RecordChild1, 9146 OPC_SwitchType , 10, MVT::f32, 9147 OPC_CheckPatternPredicate, 14, 9148 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FDIV_S), 0, 9149 MVT::f32, 2, 0, 1, 9150 10, MVT::f64, 9151 OPC_CheckPatternPredicate, 15, 9152 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FDIV_D), 0, 9153 MVT::f64, 2, 0, 1, 9154 0, 9155 0, 9156 123|128,1, TARGET_VAL(ISD::FMA), 9157 OPC_Scope, 43, 9158 OPC_MoveChild0, 9159 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG), 9160 OPC_RecordChild0, 9161 OPC_MoveParent, 9162 OPC_RecordChild1, 9163 OPC_MoveChild2, 9164 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG), 9165 OPC_RecordChild0, 9166 OPC_MoveParent, 9167 OPC_CheckPredicate, 35, 9168 OPC_SwitchType , 11, MVT::f32, 9169 OPC_CheckPatternPredicate, 14, 9170 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNMADD_S), 0, 9171 MVT::f32, 3, 0, 1, 2, 9172 11, MVT::f64, 9173 OPC_CheckPatternPredicate, 15, 9174 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNMADD_D), 0, 9175 MVT::f64, 3, 0, 1, 2, 9176 0, 9177 67, 9178 OPC_RecordChild0, 9179 OPC_Scope, 42, 9180 OPC_MoveChild1, 9181 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG), 9182 OPC_RecordChild0, 9183 OPC_MoveParent, 9184 OPC_MoveChild2, 9185 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG), 9186 OPC_RecordChild0, 9187 OPC_MoveParent, 9188 OPC_CheckPredicate, 35, 9189 OPC_SwitchType , 11, MVT::f32, 9190 OPC_CheckPatternPredicate, 14, 9191 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNMADD_S), 0, 9192 MVT::f32, 3, 1, 0, 2, 9193 11, MVT::f64, 9194 OPC_CheckPatternPredicate, 15, 9195 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNMADD_D), 0, 9196 MVT::f64, 3, 1, 0, 2, 9197 0, 9198 20, 9199 OPC_RecordChild1, 9200 OPC_MoveChild2, 9201 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG), 9202 OPC_RecordChild0, 9203 OPC_MoveParent, 9204 OPC_CheckType, MVT::f32, 9205 OPC_CheckPatternPredicate, 14, 9206 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMSUB_S), 0, 9207 MVT::f32, 3, 0, 1, 2, 9208 0, 9209 21, 9210 OPC_MoveChild0, 9211 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG), 9212 OPC_RecordChild0, 9213 OPC_MoveParent, 9214 OPC_RecordChild1, 9215 OPC_RecordChild2, 9216 OPC_CheckType, MVT::f32, 9217 OPC_CheckPatternPredicate, 14, 9218 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNMSUB_S), 0, 9219 MVT::f32, 3, 0, 1, 2, 9220 21, 9221 OPC_RecordChild0, 9222 OPC_RecordChild1, 9223 OPC_MoveChild2, 9224 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG), 9225 OPC_RecordChild0, 9226 OPC_MoveParent, 9227 OPC_CheckType, MVT::f64, 9228 OPC_CheckPatternPredicate, 15, 9229 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMSUB_D), 0, 9230 MVT::f64, 3, 0, 1, 2, 9231 21, 9232 OPC_MoveChild0, 9233 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG), 9234 OPC_RecordChild0, 9235 OPC_MoveParent, 9236 OPC_RecordChild1, 9237 OPC_RecordChild2, 9238 OPC_CheckType, MVT::f64, 9239 OPC_CheckPatternPredicate, 15, 9240 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNMSUB_D), 0, 9241 MVT::f64, 3, 0, 1, 2, 9242 70, 9243 OPC_RecordChild0, 9244 OPC_Scope, 35, 9245 OPC_MoveChild1, 9246 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG), 9247 OPC_RecordChild0, 9248 OPC_MoveParent, 9249 OPC_RecordChild2, 9250 OPC_SwitchType , 11, MVT::f32, 9251 OPC_CheckPatternPredicate, 14, 9252 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNMSUB_S), 0, 9253 MVT::f32, 3, 1, 0, 2, 9254 11, MVT::f64, 9255 OPC_CheckPatternPredicate, 15, 9256 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNMSUB_D), 0, 9257 MVT::f64, 3, 1, 0, 2, 9258 0, 9259 30, 9260 OPC_RecordChild1, 9261 OPC_RecordChild2, 9262 OPC_SwitchType , 11, MVT::f32, 9263 OPC_CheckPatternPredicate, 14, 9264 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMADD_S), 0, 9265 MVT::f32, 3, 0, 1, 2, 9266 11, MVT::f64, 9267 OPC_CheckPatternPredicate, 15, 9268 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMADD_D), 0, 9269 MVT::f64, 3, 0, 1, 2, 9270 0, 9271 0, 9272 0, 9273 41|128,1, TARGET_VAL(ISD::SINT_TO_FP), 9274 OPC_RecordChild0, 9275 OPC_Scope, 84, 9276 OPC_CheckChild0Type, MVT::i64, 9277 OPC_SwitchType , 39, MVT::f32, 9278 OPC_Scope, 19, 9279 OPC_CheckPatternPredicate, 10, 9280 OPC_CheckComplexPat, /*CP*/4, /*#*/0, 9281 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9282 MVT::f32, 1, 1, 9283 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_S_W), 0, 9284 MVT::f32, 1, 2, 9285 16, 9286 OPC_CheckPatternPredicate, 12, 9287 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 9288 MVT::f64, 1, 0, 9289 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_S_L), 0, 9290 MVT::f32, 1, 1, 9291 0, 9292 37, MVT::f64, 9293 OPC_CheckPatternPredicate, 12, 9294 OPC_Scope, 17, 9295 OPC_CheckComplexPat, /*CP*/4, /*#*/0, 9296 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9297 MVT::f32, 1, 1, 9298 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_D_W), 0, 9299 MVT::f64, 1, 2, 9300 14, 9301 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 9302 MVT::f64, 1, 0, 9303 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_D_L), 0, 9304 MVT::f64, 1, 1, 9305 0, 9306 0, 9307 80, 9308 OPC_CheckChild0Type, MVT::i32, 9309 OPC_SwitchType , 36, MVT::f32, 9310 OPC_Scope, 16, 9311 OPC_CheckPatternPredicate, 11, 9312 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9313 MVT::f32, 1, 0, 9314 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_S_W), 0, 9315 MVT::f32, 1, 1, 9316 16, 9317 OPC_CheckPatternPredicate, 13, 9318 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 9319 MVT::f64, 1, 0, 9320 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_S_L), 0, 9321 MVT::f32, 1, 1, 9322 0, 9323 36, MVT::f64, 9324 OPC_Scope, 16, 9325 OPC_CheckPatternPredicate, 13, 9326 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 9327 MVT::f64, 1, 0, 9328 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_D_L), 0, 9329 MVT::f64, 1, 1, 9330 16, 9331 OPC_CheckPatternPredicate, 16, 9332 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9333 MVT::f32, 1, 0, 9334 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_D_W), 0, 9335 MVT::f64, 1, 1, 9336 0, 9337 0, 9338 0, 9339 24, TARGET_VAL(ISD::UINT_TO_FP), 9340 OPC_RecordChild0, 9341 OPC_CheckChild0Type, MVT::i64, 9342 OPC_CheckType, MVT::f32, 9343 OPC_CheckPatternPredicate, 10, 9344 OPC_CheckComplexPat, /*CP*/4, /*#*/0, 9345 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9346 MVT::f32, 1, 1, 9347 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_S_W), 0, 9348 MVT::f32, 1, 2, 9349 65, TARGET_VAL(ISD::FNEG), 9350 OPC_Scope, 36, 9351 OPC_MoveChild0, 9352 OPC_CheckOpcode, TARGET_VAL(ISD::FMA), 9353 OPC_RecordChild0, 9354 OPC_RecordChild1, 9355 OPC_RecordChild2, 9356 OPC_MoveParent, 9357 OPC_SwitchType , 11, MVT::f32, 9358 OPC_CheckPatternPredicate, 14, 9359 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNMADD_S), 0, 9360 MVT::f32, 3, 0, 1, 2, 9361 11, MVT::f64, 9362 OPC_CheckPatternPredicate, 15, 9363 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNMADD_D), 0, 9364 MVT::f64, 3, 0, 1, 2, 9365 0, 9366 25, 9367 OPC_RecordChild0, 9368 OPC_SwitchType , 9, MVT::f32, 9369 OPC_CheckPatternPredicate, 14, 9370 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNEG_S), 0, 9371 MVT::f32, 1, 0, 9372 9, MVT::f64, 9373 OPC_CheckPatternPredicate, 15, 9374 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNEG_D), 0, 9375 MVT::f64, 1, 0, 9376 0, 9377 0, 9378 121|128,3, TARGET_VAL(ISD::ConstantFP), 9379 OPC_Scope, 64, 9380 OPC_CheckPredicate, 36, 9381 OPC_SwitchType , 28, MVT::f32, 9382 OPC_Scope, 12, 9383 OPC_CheckPatternPredicate, 6, 9384 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9385 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9386 MVT::f32, 1, 0, 9387 12, 9388 OPC_CheckPatternPredicate, 8, 9389 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9390 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9391 MVT::f32, 1, 0, 9392 0, 9393 28, MVT::f64, 9394 OPC_Scope, 12, 9395 OPC_CheckPatternPredicate, 12, 9396 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9397 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 9398 MVT::f64, 1, 0, 9399 12, 9400 OPC_CheckPatternPredicate, 13, 9401 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9402 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 9403 MVT::f64, 1, 0, 9404 0, 9405 0, 9406 92, 9407 OPC_CheckPredicate, 37, 9408 OPC_SwitchType , 42, MVT::f32, 9409 OPC_Scope, 19, 9410 OPC_CheckPatternPredicate, 6, 9411 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9412 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9413 MVT::f32, 1, 0, 9414 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNEG_S), 0, 9415 MVT::f32, 1, 1, 9416 19, 9417 OPC_CheckPatternPredicate, 8, 9418 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9419 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9420 MVT::f32, 1, 0, 9421 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNEG_S), 0, 9422 MVT::f32, 1, 1, 9423 0, 9424 42, MVT::f64, 9425 OPC_Scope, 19, 9426 OPC_CheckPatternPredicate, 12, 9427 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9428 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 9429 MVT::f64, 1, 0, 9430 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNEG_D), 0, 9431 MVT::f64, 1, 1, 9432 19, 9433 OPC_CheckPatternPredicate, 13, 9434 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9435 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 9436 MVT::f64, 1, 0, 9437 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNEG_D), 0, 9438 MVT::f64, 1, 1, 9439 0, 9440 0, 9441 54, 9442 OPC_CheckPredicate, 36, 9443 OPC_CheckType, MVT::f64, 9444 OPC_Scope, 23, 9445 OPC_CheckPatternPredicate, 17, 9446 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9447 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W_64), 0, 9448 MVT::f64, 1, 0, 9449 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9450 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVGR2FRH_W), 0, 9451 MVT::f64, 2, 1, 2, 9452 23, 9453 OPC_CheckPatternPredicate, 16, 9454 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9455 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W_64), 0, 9456 MVT::f64, 1, 0, 9457 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9458 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVGR2FRH_W), 0, 9459 MVT::f64, 2, 1, 2, 9460 0, 9461 8|128,1, 9462 OPC_CheckPredicate, 34, 9463 OPC_SwitchType , 64, MVT::f32, 9464 OPC_Scope, 30, 9465 OPC_CheckPatternPredicate, 6, 9466 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9467 OPC_EmitInteger, MVT::i64, 2, 9468 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_W), 0, 9469 MVT::i64, 2, 0, 1, 9470 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9471 MVT::f32, 1, 2, 9472 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_S_W), 0, 9473 MVT::f32, 1, 3, 9474 30, 9475 OPC_CheckPatternPredicate, 8, 9476 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9477 OPC_EmitInteger, MVT::i32, 2, 9478 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_W), 0, 9479 MVT::i32, 2, 0, 1, 9480 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9481 MVT::f32, 1, 2, 9482 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_S_W), 0, 9483 MVT::f32, 1, 3, 9484 0, 9485 64, MVT::f64, 9486 OPC_Scope, 30, 9487 OPC_CheckPatternPredicate, 12, 9488 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9489 OPC_EmitInteger, MVT::i64, 2, 9490 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_D), 0, 9491 MVT::i64, 2, 0, 1, 9492 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 9493 MVT::f64, 1, 2, 9494 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_D_L), 0, 9495 MVT::f64, 1, 3, 9496 30, 9497 OPC_CheckPatternPredicate, 13, 9498 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9499 OPC_EmitInteger, MVT::i32, 2, 9500 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_D), 0, 9501 MVT::i32, 2, 0, 1, 9502 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_D), 0, 9503 MVT::f64, 1, 2, 9504 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FFINT_D_L), 0, 9505 MVT::f64, 1, 3, 9506 0, 9507 0, 9508 68, 9509 OPC_CheckPredicate, 37, 9510 OPC_CheckType, MVT::f64, 9511 OPC_Scope, 30, 9512 OPC_CheckPatternPredicate, 17, 9513 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9514 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W_64), 0, 9515 MVT::f64, 1, 0, 9516 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9517 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FRH_W), 0, 9518 MVT::f64, 2, 1, 2, 9519 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNEG_D), 0, 9520 MVT::f64, 1, 3, 9521 30, 9522 OPC_CheckPatternPredicate, 16, 9523 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9524 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W_64), 0, 9525 MVT::f64, 1, 0, 9526 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9527 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FRH_W), 0, 9528 MVT::f64, 2, 1, 2, 9529 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FNEG_D), 0, 9530 MVT::f64, 1, 3, 9531 0, 9532 82, 9533 OPC_CheckPredicate, 34, 9534 OPC_CheckType, MVT::f64, 9535 OPC_Scope, 37, 9536 OPC_CheckPatternPredicate, 17, 9537 OPC_EmitRegister, MVT::i64, LoongArch::R0, 9538 OPC_EmitInteger, MVT::i64, 2, 9539 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_W), 0, 9540 MVT::i64, 2, 0, 1, 9541 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9542 MVT::f32, 1, 2, 9543 OPC_EmitNode1, TARGET_VAL(LoongArch::FFINT_S_W), 0, 9544 MVT::f32, 1, 3, 9545 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCVT_D_S), 0, 9546 MVT::f64, 1, 4, 9547 37, 9548 OPC_CheckPatternPredicate, 16, 9549 OPC_EmitRegister, MVT::i32, LoongArch::R0, 9550 OPC_EmitInteger, MVT::i32, 2, 9551 OPC_EmitNode1, TARGET_VAL(LoongArch::ADDI_W), 0, 9552 MVT::i32, 2, 0, 1, 9553 OPC_EmitNode1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9554 MVT::f32, 1, 2, 9555 OPC_EmitNode1, TARGET_VAL(LoongArch::FFINT_S_W), 0, 9556 MVT::f32, 1, 3, 9557 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCVT_D_S), 0, 9558 MVT::f64, 1, 4, 9559 0, 9560 0, 9561 28, TARGET_VAL(ISD::FADD), 9562 OPC_RecordChild0, 9563 OPC_RecordChild1, 9564 OPC_SwitchType , 10, MVT::f32, 9565 OPC_CheckPatternPredicate, 14, 9566 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FADD_S), 0, 9567 MVT::f32, 2, 0, 1, 9568 10, MVT::f64, 9569 OPC_CheckPatternPredicate, 15, 9570 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FADD_D), 0, 9571 MVT::f64, 2, 0, 1, 9572 0, 9573 28, TARGET_VAL(ISD::FSUB), 9574 OPC_RecordChild0, 9575 OPC_RecordChild1, 9576 OPC_SwitchType , 10, MVT::f32, 9577 OPC_CheckPatternPredicate, 14, 9578 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSUB_S), 0, 9579 MVT::f32, 2, 0, 1, 9580 10, MVT::f64, 9581 OPC_CheckPatternPredicate, 15, 9582 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSUB_D), 0, 9583 MVT::f64, 2, 0, 1, 9584 0, 9585 28, TARGET_VAL(ISD::FMUL), 9586 OPC_RecordChild0, 9587 OPC_RecordChild1, 9588 OPC_SwitchType , 10, MVT::f32, 9589 OPC_CheckPatternPredicate, 14, 9590 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMUL_S), 0, 9591 MVT::f32, 2, 0, 1, 9592 10, MVT::f64, 9593 OPC_CheckPatternPredicate, 15, 9594 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMUL_D), 0, 9595 MVT::f64, 2, 0, 1, 9596 0, 9597 76, TARGET_VAL(ISD::FCOPYSIGN), 9598 OPC_RecordChild0, 9599 OPC_RecordChild1, 9600 OPC_Scope, 35, 9601 OPC_CheckChild1Type, MVT::f32, 9602 OPC_SwitchType , 10, MVT::f32, 9603 OPC_CheckPatternPredicate, 14, 9604 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCOPYSIGN_S), 0, 9605 MVT::f32, 2, 0, 1, 9606 17, MVT::f64, 9607 OPC_CheckPatternPredicate, 15, 9608 OPC_EmitNode1, TARGET_VAL(LoongArch::FCVT_D_S), 0, 9609 MVT::f64, 1, 1, 9610 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCOPYSIGN_D), 0, 9611 MVT::f64, 2, 0, 2, 9612 0, 9613 35, 9614 OPC_CheckChild1Type, MVT::f64, 9615 OPC_SwitchType , 10, MVT::f64, 9616 OPC_CheckPatternPredicate, 15, 9617 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCOPYSIGN_D), 0, 9618 MVT::f64, 2, 0, 1, 9619 17, MVT::f32, 9620 OPC_CheckPatternPredicate, 15, 9621 OPC_EmitNode1, TARGET_VAL(LoongArch::FCVT_S_D), 0, 9622 MVT::f32, 1, 1, 9623 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCOPYSIGN_S), 0, 9624 MVT::f32, 2, 0, 2, 9625 0, 9626 0, 9627 28, TARGET_VAL(ISD::FMAXNUM_IEEE), 9628 OPC_RecordChild0, 9629 OPC_RecordChild1, 9630 OPC_SwitchType , 10, MVT::f32, 9631 OPC_CheckPatternPredicate, 14, 9632 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMAX_S), 0, 9633 MVT::f32, 2, 0, 1, 9634 10, MVT::f64, 9635 OPC_CheckPatternPredicate, 15, 9636 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMAX_D), 0, 9637 MVT::f64, 2, 0, 1, 9638 0, 9639 28, TARGET_VAL(ISD::FMINNUM_IEEE), 9640 OPC_RecordChild0, 9641 OPC_RecordChild1, 9642 OPC_SwitchType , 10, MVT::f32, 9643 OPC_CheckPatternPredicate, 14, 9644 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMIN_S), 0, 9645 MVT::f32, 2, 0, 1, 9646 10, MVT::f64, 9647 OPC_CheckPatternPredicate, 15, 9648 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMIN_D), 0, 9649 MVT::f64, 2, 0, 1, 9650 0, 9651 25, TARGET_VAL(ISD::FABS), 9652 OPC_RecordChild0, 9653 OPC_SwitchType , 9, MVT::f32, 9654 OPC_CheckPatternPredicate, 14, 9655 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FABS_S), 0, 9656 MVT::f32, 1, 0, 9657 9, MVT::f64, 9658 OPC_CheckPatternPredicate, 15, 9659 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FABS_D), 0, 9660 MVT::f64, 1, 0, 9661 0, 9662 25, TARGET_VAL(ISD::FSQRT), 9663 OPC_RecordChild0, 9664 OPC_SwitchType , 9, MVT::f32, 9665 OPC_CheckPatternPredicate, 14, 9666 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSQRT_S), 0, 9667 MVT::f32, 1, 0, 9668 9, MVT::f64, 9669 OPC_CheckPatternPredicate, 15, 9670 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FSQRT_D), 0, 9671 MVT::f64, 1, 0, 9672 0, 9673 27, TARGET_VAL(ISD::FCANONICALIZE), 9674 OPC_RecordChild0, 9675 OPC_SwitchType , 10, MVT::f32, 9676 OPC_CheckPatternPredicate, 14, 9677 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMAX_S), 0, 9678 MVT::f32, 2, 0, 0, 9679 10, MVT::f64, 9680 OPC_CheckPatternPredicate, 15, 9681 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FMAX_D), 0, 9682 MVT::f64, 2, 0, 0, 9683 0, 9684 57, TARGET_VAL(LoongArchISD::FTINT), 9685 OPC_RecordChild0, 9686 OPC_Scope, 26, 9687 OPC_CheckChild0Type, MVT::f32, 9688 OPC_SwitchType , 9, MVT::f32, 9689 OPC_CheckPatternPredicate, 14, 9690 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FTINTRZ_W_S), 0, 9691 MVT::f32, 1, 0, 9692 9, MVT::f64, 9693 OPC_CheckPatternPredicate, 15, 9694 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FTINTRZ_L_S), 0, 9695 MVT::f64, 1, 0, 9696 0, 9697 26, 9698 OPC_CheckChild0Type, MVT::f64, 9699 OPC_SwitchType , 9, MVT::f32, 9700 OPC_CheckPatternPredicate, 15, 9701 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FTINTRZ_W_D), 0, 9702 MVT::f32, 1, 0, 9703 9, MVT::f64, 9704 OPC_CheckPatternPredicate, 15, 9705 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FTINTRZ_L_D), 0, 9706 MVT::f64, 1, 0, 9707 0, 9708 0, 9709 25, TARGET_VAL(ISD::FRINT), 9710 OPC_RecordChild0, 9711 OPC_SwitchType , 9, MVT::f32, 9712 OPC_CheckPatternPredicate, 18, 9713 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FRINT_S), 0, 9714 MVT::f32, 1, 0, 9715 9, MVT::f64, 9716 OPC_CheckPatternPredicate, 19, 9717 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FRINT_D), 0, 9718 MVT::f64, 1, 0, 9719 0, 9720 10, TARGET_VAL(ISD::FP_ROUND), 9721 OPC_RecordChild0, 9722 OPC_CheckPatternPredicate, 15, 9723 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCVT_S_D), 0, 9724 MVT::f32, 1, 0, 9725 10, TARGET_VAL(ISD::FP_EXTEND), 9726 OPC_RecordChild0, 9727 OPC_CheckPatternPredicate, 15, 9728 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FCVT_D_S), 0, 9729 MVT::f64, 1, 0, 9730 10, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64), 9731 OPC_RecordChild0, 9732 OPC_CheckPatternPredicate, 10, 9733 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::MOVGR2FR_W), 0, 9734 MVT::f32, 1, 0, 9735 0, 9736 0 9737 }; // Total Array size is 22169 bytes 9738 9739 #undef TARGET_VAL 9740 SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable)); 9741} 9742#endif // GET_DAGISEL_BODY 9743 9744#ifdef GET_DAGISEL_DECL 9745bool CheckPatternPredicate(unsigned PredNo) const override; 9746#endif 9747#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE 9748bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const 9749#if DAGISEL_INLINE 9750 override 9751#endif 9752{ 9753 switch (PredNo) { 9754 default: llvm_unreachable("Invalid predicate in table?"); 9755 case 0: return (Subtarget->is64Bit()) && (MF->getSubtarget().checkFeatures("+64bit")); 9756 case 1: return (!Subtarget->is64Bit()) && (MF->getSubtarget().checkFeatures("+64bit")); 9757 case 2: return (!Subtarget->is64Bit()) && (!(MF->getSubtarget().checkFeatures("+64bit"))); 9758 case 3: return (Subtarget->is64Bit()) && (!(MF->getSubtarget().checkFeatures("+64bit"))); 9759 case 4: return (MF->getSubtarget().checkFeatures("+64bit")); 9760 case 5: return (!(MF->getSubtarget().checkFeatures("+64bit"))); 9761 case 6: return (Subtarget->hasBasicF()) && (MF->getSubtarget().checkFeatures("+64bit")); 9762 case 7: return (Subtarget->hasBasicD()) && (MF->getSubtarget().checkFeatures("+64bit")); 9763 case 8: return (Subtarget->hasBasicF()) && (!(MF->getSubtarget().checkFeatures("+64bit"))); 9764 case 9: return (Subtarget->hasBasicD()) && (!(MF->getSubtarget().checkFeatures("+64bit"))); 9765 case 10: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit()) && (MF->getSubtarget().checkFeatures("+64bit")); 9766 case 11: return (Subtarget->hasBasicF()) && (!Subtarget->is64Bit()) && (!(MF->getSubtarget().checkFeatures("+64bit"))); 9767 case 12: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()) && (MF->getSubtarget().checkFeatures("+64bit")); 9768 case 13: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()) && (!(MF->getSubtarget().checkFeatures("+64bit"))); 9769 case 14: return (Subtarget->hasBasicF()); 9770 case 15: return (Subtarget->hasBasicD()); 9771 case 16: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit()) && (!(MF->getSubtarget().checkFeatures("+64bit"))); 9772 case 17: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit()) && (MF->getSubtarget().checkFeatures("+64bit")); 9773 case 18: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit()); 9774 case 19: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()); 9775 } 9776} 9777#endif // GET_DAGISEL_BODY 9778 9779#ifdef GET_DAGISEL_DECL 9780bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override; 9781#endif 9782#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE 9783bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const 9784#if DAGISEL_INLINE 9785 override 9786#endif 9787{ 9788 switch (PredNo) { 9789 default: llvm_unreachable("Invalid predicate in table?"); 9790 case 0: { 9791 // Predicate_uimm2_plus1 9792 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 9793return isUInt<2>(Imm - 1); 9794 } 9795 case 1: { 9796 // Predicate_uimm5 9797 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 9798return isUInt<5>(Imm); 9799 } 9800 case 2: { 9801 // Predicate_uimm6 9802 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 9803return isUInt<6>(Imm); 9804 } 9805 case 3: { 9806 // Predicate_simm12 9807 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 9808return isInt<12>(Imm); 9809 } 9810 case 4: { 9811 // Predicate_AddLike 9812 SDNode *N = Node; 9813 (void)N; 9814 9815 return N->getOpcode() == ISD::ADD || isOrEquivalentToAdd(N); 9816 9817 } 9818 case 5: { 9819 // Predicate_unindexedload 9820 SDNode *N = Node; 9821 (void)N; 9822if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false; 9823return true; 9824 9825 } 9826 case 6: { 9827 // Predicate_sextload 9828 SDNode *N = Node; 9829 (void)N; 9830if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false; 9831return true; 9832 9833 } 9834 case 7: { 9835 // Predicate_sextloadi8 9836 // Predicate_extloadi8 9837 // Predicate_zextloadi8 9838 // Predicate_atomic_load_8 9839 // Predicate_atomic_store_8 9840 SDNode *N = Node; 9841 (void)N; 9842if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false; 9843return true; 9844 9845 } 9846 case 8: { 9847 // Predicate_extload 9848 SDNode *N = Node; 9849 (void)N; 9850if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false; 9851return true; 9852 9853 } 9854 case 9: { 9855 // Predicate_sextloadi16 9856 // Predicate_extloadi16 9857 // Predicate_zextloadi16 9858 // Predicate_atomic_load_16 9859 // Predicate_atomic_store_16 9860 SDNode *N = Node; 9861 (void)N; 9862if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false; 9863return true; 9864 9865 } 9866 case 10: { 9867 // Predicate_load 9868 SDNode *N = Node; 9869 (void)N; 9870if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false; 9871return true; 9872 9873 } 9874 case 11: { 9875 // Predicate_zextload 9876 SDNode *N = Node; 9877 (void)N; 9878if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false; 9879return true; 9880 9881 } 9882 case 12: { 9883 // Predicate_sextloadi32 9884 // Predicate_extloadi32 9885 // Predicate_zextloadi32 9886 // Predicate_atomic_load_32 9887 // Predicate_atomic_store_32 9888 // Predicate_atomic_load_nand_32 9889 // Predicate_atomic_swap_32 9890 // Predicate_atomic_load_add_32 9891 // Predicate_atomic_load_and_32 9892 // Predicate_atomic_load_or_32 9893 // Predicate_atomic_load_xor_32 9894 // Predicate_atomic_load_umin_32 9895 // Predicate_atomic_load_umax_32 9896 // Predicate_atomic_load_min_32 9897 // Predicate_atomic_load_max_32 9898 // Predicate_atomic_cmp_swap_32 9899 // Predicate_atomic_load_sub_32 9900 SDNode *N = Node; 9901 (void)N; 9902if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false; 9903return true; 9904 9905 } 9906 case 13: { 9907 // Predicate_simm14_lsl2 9908 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 9909return isShiftedInt<14,2>(Imm); 9910 } 9911 case 14: { 9912 // Predicate_unindexedstore 9913 SDNode *N = Node; 9914 (void)N; 9915if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false; 9916return true; 9917 9918 } 9919 case 15: { 9920 // Predicate_truncstore 9921 SDNode *N = Node; 9922 (void)N; 9923 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false; 9924return true; 9925 9926 } 9927 case 16: { 9928 // Predicate_truncstorei8 9929 SDNode *N = Node; 9930 (void)N; 9931if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false; 9932 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false; 9933return true; 9934 9935 } 9936 case 17: { 9937 // Predicate_truncstorei16 9938 SDNode *N = Node; 9939 (void)N; 9940if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false; 9941 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false; 9942return true; 9943 9944 } 9945 case 18: { 9946 // Predicate_truncstorei32 9947 SDNode *N = Node; 9948 (void)N; 9949if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false; 9950 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false; 9951return true; 9952 9953 } 9954 case 19: { 9955 // Predicate_store 9956 SDNode *N = Node; 9957 (void)N; 9958 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false; 9959return true; 9960 9961 } 9962 case 20: { 9963 // Predicate_atomic_load_64 9964 // Predicate_atomic_store_64 9965 // Predicate_atomic_load_nand_64 9966 // Predicate_atomic_swap_64 9967 // Predicate_atomic_load_add_64 9968 // Predicate_atomic_load_and_64 9969 // Predicate_atomic_load_or_64 9970 // Predicate_atomic_load_xor_64 9971 // Predicate_atomic_load_umin_64 9972 // Predicate_atomic_load_umax_64 9973 // Predicate_atomic_load_min_64 9974 // Predicate_atomic_load_max_64 9975 // Predicate_atomic_cmp_swap_64 9976 // Predicate_atomic_load_sub_64 9977 SDNode *N = Node; 9978 (void)N; 9979if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false; 9980return true; 9981 9982 } 9983 case 21: { 9984 // Predicate_atomic_store_unordered_monotonic_32 9985 // Predicate_atomic_store_unordered_monotonic_64 9986 SDNode *N = Node; 9987 (void)N; 9988 9989 AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getSuccessOrdering(); 9990 return !isReleaseOrStronger(Ordering); 9991 9992 } 9993 case 22: { 9994 // Predicate_atomic_store_release_seqcst_32 9995 // Predicate_atomic_store_release_seqcst_64 9996 SDNode *N = Node; 9997 (void)N; 9998 9999 AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getSuccessOrdering(); 10000 return isReleaseOrStronger(Ordering); 10001 10002 } 10003 case 23: { 10004 // Predicate_uimm12 10005 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 10006return isUInt<12>(Imm); 10007 } 10008 case 24: { 10009 // Predicate_simm16_lsl2 10010 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 10011return isInt<16>(Imm>>2); 10012 } 10013 case 25: { 10014 // Predicate_simm12_plus1 10015 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 10016return (isInt<12>(Imm) && Imm != -2048) || Imm == 2048; 10017 } 10018 case 26: { 10019 // Predicate_uimm15 10020 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 10021return isUInt<15>(Imm); 10022 } 10023 case 27: { 10024 // Predicate_uimm14 10025 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 10026return isUInt<14>(Imm); 10027 } 10028 case 28: { 10029 // Predicate_uimm2 10030 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue(); 10031return isUInt<2>(Imm); 10032 } 10033 case 29: { 10034 // Predicate_atomic_load_nand_64_monotonic 10035 // Predicate_atomic_load_nand_32_monotonic 10036 // Predicate_atomic_swap_32_monotonic 10037 // Predicate_atomic_load_add_32_monotonic 10038 // Predicate_atomic_load_and_32_monotonic 10039 // Predicate_atomic_load_or_32_monotonic 10040 // Predicate_atomic_load_xor_32_monotonic 10041 // Predicate_atomic_load_sub_32_monotonic 10042 SDNode *N = Node; 10043 (void)N; 10044if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Monotonic) return false; 10045return true; 10046 10047 } 10048 case 30: { 10049 // Predicate_atomic_load_nand_64_acquire 10050 // Predicate_atomic_load_nand_32_acquire 10051 // Predicate_atomic_swap_32_acquire 10052 // Predicate_atomic_load_add_32_acquire 10053 // Predicate_atomic_load_and_32_acquire 10054 // Predicate_atomic_load_or_32_acquire 10055 // Predicate_atomic_load_xor_32_acquire 10056 // Predicate_atomic_load_sub_32_acquire 10057 SDNode *N = Node; 10058 (void)N; 10059if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Acquire) return false; 10060return true; 10061 10062 } 10063 case 31: { 10064 // Predicate_atomic_load_nand_64_release 10065 // Predicate_atomic_load_nand_32_release 10066 // Predicate_atomic_swap_32_release 10067 // Predicate_atomic_load_add_32_release 10068 // Predicate_atomic_load_and_32_release 10069 // Predicate_atomic_load_or_32_release 10070 // Predicate_atomic_load_xor_32_release 10071 // Predicate_atomic_load_sub_32_release 10072 SDNode *N = Node; 10073 (void)N; 10074if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Release) return false; 10075return true; 10076 10077 } 10078 case 32: { 10079 // Predicate_atomic_load_nand_64_acq_rel 10080 // Predicate_atomic_load_nand_32_acq_rel 10081 // Predicate_atomic_swap_32_acq_rel 10082 // Predicate_atomic_load_add_32_acq_rel 10083 // Predicate_atomic_load_and_32_acq_rel 10084 // Predicate_atomic_load_or_32_acq_rel 10085 // Predicate_atomic_load_xor_32_acq_rel 10086 // Predicate_atomic_load_sub_32_acq_rel 10087 SDNode *N = Node; 10088 (void)N; 10089if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::AcquireRelease) return false; 10090return true; 10091 10092 } 10093 case 33: { 10094 // Predicate_atomic_load_nand_64_seq_cst 10095 // Predicate_atomic_load_nand_32_seq_cst 10096 // Predicate_atomic_swap_32_seq_cst 10097 // Predicate_atomic_load_add_32_seq_cst 10098 // Predicate_atomic_load_and_32_seq_cst 10099 // Predicate_atomic_load_or_32_seq_cst 10100 // Predicate_atomic_load_xor_32_seq_cst 10101 // Predicate_atomic_load_sub_32_seq_cst 10102 SDNode *N = Node; 10103 (void)N; 10104if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::SequentiallyConsistent) return false; 10105return true; 10106 10107 } 10108 case 34: { 10109 // Predicate_fpimm1 10110 auto *N = cast<ConstantFPSDNode>(Node); 10111 (void)N; 10112return N->isExactlyValue(+1.0); 10113 } 10114 case 35: { 10115 // Predicate_fma_nsz 10116 SDNode *N = Node; 10117 (void)N; 10118 10119 return N->getFlags().hasNoSignedZeros(); 10120 10121 } 10122 case 36: { 10123 // Predicate_fpimm0 10124 auto *N = cast<ConstantFPSDNode>(Node); 10125 (void)N; 10126return N->isExactlyValue(+0.0); 10127 } 10128 case 37: { 10129 // Predicate_fpimm0neg 10130 auto *N = cast<ConstantFPSDNode>(Node); 10131 (void)N; 10132return N->isExactlyValue(-0.0); 10133 } 10134 } 10135} 10136#endif // GET_DAGISEL_BODY 10137 10138#ifdef GET_DAGISEL_DECL 10139bool CheckComplexPattern(SDNode *Root, SDNode *Parent, 10140 SDValue N, unsigned PatternNo, 10141 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override; 10142#endif 10143#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE 10144bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent, 10145 SDValue N, unsigned PatternNo, 10146 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) 10147#if DAGISEL_INLINE 10148 override 10149#endif 10150{ 10151 unsigned NextRes = Result.size(); 10152 switch (PatternNo) { 10153 default: llvm_unreachable("Invalid pattern # in table?"); 10154 case 0: 10155 Result.resize(NextRes+1); 10156 return SelectBaseAddr(N, Result[NextRes+0].first); 10157 case 1: 10158 Result.resize(NextRes+1); 10159 return selectNonFIBaseAddr(N, Result[NextRes+0].first); 10160 case 2: 10161 Result.resize(NextRes+1); 10162 return selectShiftMaskGRLen(N, Result[NextRes+0].first); 10163 case 3: 10164 Result.resize(NextRes+1); 10165 return selectShiftMask32(N, Result[NextRes+0].first); 10166 case 4: 10167 Result.resize(NextRes+1); 10168 return selectSExti32(N, Result[NextRes+0].first); 10169 } 10170} 10171#endif // GET_DAGISEL_BODY 10172 10173#ifdef GET_DAGISEL_DECL 10174SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override; 10175#endif 10176#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE 10177SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo) 10178#if DAGISEL_INLINE 10179 override 10180#endif 10181{ 10182 switch (XFormNo) { 10183 default: llvm_unreachable("Invalid xform # in table?"); 10184 case 0: { 10185 ConstantSDNode *N = cast<ConstantSDNode>(V.getNode()); 10186 10187 return CurDAG->getTargetConstant(32 - N->getZExtValue(), SDLoc(N), 10188 N->getValueType(0)); 10189 10190 } 10191 case 1: { 10192 ConstantSDNode *N = cast<ConstantSDNode>(V.getNode()); 10193 10194 return CurDAG->getTargetConstant(-N->getSExtValue(), SDLoc(N), 10195 N->getValueType(0)); 10196 10197 } 10198 } 10199} 10200#endif // GET_DAGISEL_BODY 10201 10202 10203#ifdef DAGISEL_INLINE 10204#undef DAGISEL_INLINE 10205#endif 10206#ifdef DAGISEL_CLASS_COLONCOLON 10207#undef DAGISEL_CLASS_COLONCOLON 10208#endif 10209#ifdef GET_DAGISEL_DECL 10210#undef GET_DAGISEL_DECL 10211#endif 10212#ifdef GET_DAGISEL_BODY 10213#undef GET_DAGISEL_BODY 10214#endif 10215