1 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --include-generated-funcs 2 // RUN: %clang_cc1 -no-opaque-pointers -verify -triple x86_64-apple-darwin10 -target-cpu core2 -fopenmp -fopenmp-version=51 -x c -emit-llvm %s -o - | FileCheck %s 3 // RUN: %clang_cc1 -no-opaque-pointers -fopenmp -fopenmp-version=51 -x c -triple x86_64-apple-darwin10 -target-cpu core2 -emit-pch -o %t %s 4 // RUN: %clang_cc1 -no-opaque-pointers -fopenmp -fopenmp-version=51 -x c -triple x86_64-apple-darwin10 -target-cpu core2 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s 5 6 // RUN: %clang_cc1 -no-opaque-pointers -verify -triple x86_64-apple-darwin10 -target-cpu core2 -fopenmp-simd -fopenmp-version=51 -x c -emit-llvm %s -o - | FileCheck --check-prefix SIMD-ONLY0 %s 7 // RUN: %clang_cc1 -no-opaque-pointers -fopenmp-simd -fopenmp-version=51 -x c -triple x86_64-apple-darwin10 -target-cpu core2 -emit-pch -o %t %s 8 // RUN: %clang_cc1 -no-opaque-pointers -fopenmp-simd -fopenmp-version=51 -x c -triple x86_64-apple-darwin10 -target-cpu core2 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix SIMD-ONLY0 %s 9 // SIMD-ONLY0-NOT: {{__kmpc|__tgt}} 10 // expected-no-diagnostics 11 12 #ifndef HEADER 13 #define HEADER 14 15 void foo(void) { 16 char cx, ce, cd; 17 unsigned char ucx, uce, ucd; 18 short sx, se, sd; 19 unsigned short usx, use, usd; 20 int ix, ie, id; 21 unsigned int uix, uie, uid; 22 long lx, le, ld; 23 unsigned long ulx, ule, uld; 24 long long llx, lle, lld; 25 unsigned long long ullx, ulle, ulld; 26 27 #pragma omp atomic compare 28 cx = cx > ce ? ce : cx; 29 #pragma omp atomic compare 30 cx = cx < ce ? ce : cx; 31 #pragma omp atomic compare 32 cx = ce > cx ? ce : cx; 33 #pragma omp atomic compare 34 cx = ce < cx ? ce : cx; 35 #pragma omp atomic compare 36 if (cx > ce) 37 cx = ce; 38 #pragma omp atomic compare 39 if (cx < ce) 40 cx = ce; 41 #pragma omp atomic compare 42 if (ce > cx) 43 cx = ce; 44 #pragma omp atomic compare 45 if (ce < cx) 46 cx = ce; 47 48 #pragma omp atomic compare 49 cx = cx == ce ? cd : cx; 50 #pragma omp atomic compare 51 cx = ce == cx ? cd : cx; 52 #pragma omp atomic compare 53 if (cx == ce) 54 cx = cd; 55 #pragma omp atomic compare 56 if (ce == cx) 57 cx = cd; 58 59 #pragma omp atomic compare 60 ucx = ucx > uce ? uce : ucx; 61 #pragma omp atomic compare 62 ucx = ucx < uce ? uce : ucx; 63 #pragma omp atomic compare 64 ucx = uce > ucx ? uce : ucx; 65 #pragma omp atomic compare 66 ucx = uce < ucx ? uce : ucx; 67 #pragma omp atomic compare 68 if (ucx > uce) 69 ucx = uce; 70 #pragma omp atomic compare 71 if (ucx < uce) 72 ucx = uce; 73 #pragma omp atomic compare 74 if (uce > ucx) 75 ucx = uce; 76 #pragma omp atomic compare 77 if (uce < ucx) 78 ucx = uce; 79 80 #pragma omp atomic compare 81 ucx = ucx == uce ? ucd : ucx; 82 #pragma omp atomic compare 83 ucx = uce == ucx ? ucd : ucx; 84 #pragma omp atomic compare 85 if (ucx == uce) 86 ucx = ucd; 87 #pragma omp atomic compare 88 if (uce == ucx) 89 ucx = ucd; 90 91 #pragma omp atomic compare acq_rel 92 cx = cx > ce ? ce : cx; 93 #pragma omp atomic compare acq_rel 94 cx = cx < ce ? ce : cx; 95 #pragma omp atomic compare acq_rel 96 cx = ce > cx ? ce : cx; 97 #pragma omp atomic compare acq_rel 98 cx = ce < cx ? ce : cx; 99 #pragma omp atomic compare acq_rel 100 if (cx > ce) 101 cx = ce; 102 #pragma omp atomic compare acq_rel 103 if (cx < ce) 104 cx = ce; 105 #pragma omp atomic compare acq_rel 106 if (ce > cx) 107 cx = ce; 108 #pragma omp atomic compare acq_rel 109 if (ce < cx) 110 cx = ce; 111 112 #pragma omp atomic compare acq_rel 113 cx = cx == ce ? cd : cx; 114 #pragma omp atomic compare acq_rel 115 cx = ce == cx ? cd : cx; 116 #pragma omp atomic compare acq_rel 117 if (cx == ce) 118 cx = cd; 119 #pragma omp atomic compare acq_rel 120 if (ce == cx) 121 cx = cd; 122 123 #pragma omp atomic compare acq_rel 124 ucx = ucx > uce ? uce : ucx; 125 #pragma omp atomic compare acq_rel 126 ucx = ucx < uce ? uce : ucx; 127 #pragma omp atomic compare acq_rel 128 ucx = uce > ucx ? uce : ucx; 129 #pragma omp atomic compare acq_rel 130 ucx = uce < ucx ? uce : ucx; 131 #pragma omp atomic compare acq_rel 132 if (ucx > uce) 133 ucx = uce; 134 #pragma omp atomic compare acq_rel 135 if (ucx < uce) 136 ucx = uce; 137 #pragma omp atomic compare acq_rel 138 if (uce > ucx) 139 ucx = uce; 140 #pragma omp atomic compare acq_rel 141 if (uce < ucx) 142 ucx = uce; 143 144 #pragma omp atomic compare acq_rel 145 ucx = ucx == uce ? ucd : ucx; 146 #pragma omp atomic compare acq_rel 147 ucx = uce == ucx ? ucd : ucx; 148 #pragma omp atomic compare acq_rel 149 if (ucx == uce) 150 ucx = ucd; 151 #pragma omp atomic compare acq_rel 152 if (uce == ucx) 153 ucx = ucd; 154 155 #pragma omp atomic compare acquire 156 cx = cx > ce ? ce : cx; 157 #pragma omp atomic compare acquire 158 cx = cx < ce ? ce : cx; 159 #pragma omp atomic compare acquire 160 cx = ce > cx ? ce : cx; 161 #pragma omp atomic compare acquire 162 cx = ce < cx ? ce : cx; 163 #pragma omp atomic compare acquire 164 if (cx > ce) 165 cx = ce; 166 #pragma omp atomic compare acquire 167 if (cx < ce) 168 cx = ce; 169 #pragma omp atomic compare acquire 170 if (ce > cx) 171 cx = ce; 172 #pragma omp atomic compare acquire 173 if (ce < cx) 174 cx = ce; 175 176 #pragma omp atomic compare acquire 177 cx = cx == ce ? cd : cx; 178 #pragma omp atomic compare acquire 179 cx = ce == cx ? cd : cx; 180 #pragma omp atomic compare acquire 181 if (cx == ce) 182 cx = cd; 183 #pragma omp atomic compare acquire 184 if (ce == cx) 185 cx = cd; 186 187 #pragma omp atomic compare acquire 188 ucx = ucx > uce ? uce : ucx; 189 #pragma omp atomic compare acquire 190 ucx = ucx < uce ? uce : ucx; 191 #pragma omp atomic compare acquire 192 ucx = uce > ucx ? uce : ucx; 193 #pragma omp atomic compare acquire 194 ucx = uce < ucx ? uce : ucx; 195 #pragma omp atomic compare acquire 196 if (ucx > uce) 197 ucx = uce; 198 #pragma omp atomic compare acquire 199 if (ucx < uce) 200 ucx = uce; 201 #pragma omp atomic compare acquire 202 if (uce > ucx) 203 ucx = uce; 204 #pragma omp atomic compare acquire 205 if (uce < ucx) 206 ucx = uce; 207 208 #pragma omp atomic compare acquire 209 ucx = ucx == uce ? ucd : ucx; 210 #pragma omp atomic compare acquire 211 ucx = uce == ucx ? ucd : ucx; 212 #pragma omp atomic compare acquire 213 if (ucx == uce) 214 ucx = ucd; 215 #pragma omp atomic compare acquire 216 if (uce == ucx) 217 ucx = ucd; 218 219 #pragma omp atomic compare relaxed 220 cx = cx > ce ? ce : cx; 221 #pragma omp atomic compare relaxed 222 cx = cx < ce ? ce : cx; 223 #pragma omp atomic compare relaxed 224 cx = ce > cx ? ce : cx; 225 #pragma omp atomic compare relaxed 226 cx = ce < cx ? ce : cx; 227 #pragma omp atomic compare relaxed 228 if (cx > ce) 229 cx = ce; 230 #pragma omp atomic compare relaxed 231 if (cx < ce) 232 cx = ce; 233 #pragma omp atomic compare relaxed 234 if (ce > cx) 235 cx = ce; 236 #pragma omp atomic compare relaxed 237 if (ce < cx) 238 cx = ce; 239 240 #pragma omp atomic compare relaxed 241 cx = cx == ce ? cd : cx; 242 #pragma omp atomic compare relaxed 243 cx = ce == cx ? cd : cx; 244 #pragma omp atomic compare relaxed 245 if (cx == ce) 246 cx = cd; 247 #pragma omp atomic compare relaxed 248 if (ce == cx) 249 cx = cd; 250 251 #pragma omp atomic compare relaxed 252 ucx = ucx > uce ? uce : ucx; 253 #pragma omp atomic compare relaxed 254 ucx = ucx < uce ? uce : ucx; 255 #pragma omp atomic compare relaxed 256 ucx = uce > ucx ? uce : ucx; 257 #pragma omp atomic compare relaxed 258 ucx = uce < ucx ? uce : ucx; 259 #pragma omp atomic compare relaxed 260 if (ucx > uce) 261 ucx = uce; 262 #pragma omp atomic compare relaxed 263 if (ucx < uce) 264 ucx = uce; 265 #pragma omp atomic compare relaxed 266 if (uce > ucx) 267 ucx = uce; 268 #pragma omp atomic compare relaxed 269 if (uce < ucx) 270 ucx = uce; 271 272 #pragma omp atomic compare relaxed 273 ucx = ucx == uce ? ucd : ucx; 274 #pragma omp atomic compare relaxed 275 ucx = uce == ucx ? ucd : ucx; 276 #pragma omp atomic compare relaxed 277 if (ucx == uce) 278 ucx = ucd; 279 #pragma omp atomic compare relaxed 280 if (uce == ucx) 281 ucx = ucd; 282 283 #pragma omp atomic compare release 284 cx = cx > ce ? ce : cx; 285 #pragma omp atomic compare release 286 cx = cx < ce ? ce : cx; 287 #pragma omp atomic compare release 288 cx = ce > cx ? ce : cx; 289 #pragma omp atomic compare release 290 cx = ce < cx ? ce : cx; 291 #pragma omp atomic compare release 292 if (cx > ce) 293 cx = ce; 294 #pragma omp atomic compare release 295 if (cx < ce) 296 cx = ce; 297 #pragma omp atomic compare release 298 if (ce > cx) 299 cx = ce; 300 #pragma omp atomic compare release 301 if (ce < cx) 302 cx = ce; 303 304 #pragma omp atomic compare release 305 cx = cx == ce ? cd : cx; 306 #pragma omp atomic compare release 307 cx = ce == cx ? cd : cx; 308 #pragma omp atomic compare release 309 if (cx == ce) 310 cx = cd; 311 #pragma omp atomic compare release 312 if (ce == cx) 313 cx = cd; 314 315 #pragma omp atomic compare release 316 ucx = ucx > uce ? uce : ucx; 317 #pragma omp atomic compare release 318 ucx = ucx < uce ? uce : ucx; 319 #pragma omp atomic compare release 320 ucx = uce > ucx ? uce : ucx; 321 #pragma omp atomic compare release 322 ucx = uce < ucx ? uce : ucx; 323 #pragma omp atomic compare release 324 if (ucx > uce) 325 ucx = uce; 326 #pragma omp atomic compare release 327 if (ucx < uce) 328 ucx = uce; 329 #pragma omp atomic compare release 330 if (uce > ucx) 331 ucx = uce; 332 #pragma omp atomic compare release 333 if (uce < ucx) 334 ucx = uce; 335 336 #pragma omp atomic compare release 337 ucx = ucx == uce ? ucd : ucx; 338 #pragma omp atomic compare release 339 ucx = uce == ucx ? ucd : ucx; 340 #pragma omp atomic compare release 341 if (ucx == uce) 342 ucx = ucd; 343 #pragma omp atomic compare release 344 if (uce == ucx) 345 ucx = ucd; 346 347 #pragma omp atomic compare seq_cst 348 cx = cx > ce ? ce : cx; 349 #pragma omp atomic compare seq_cst 350 cx = cx < ce ? ce : cx; 351 #pragma omp atomic compare seq_cst 352 cx = ce > cx ? ce : cx; 353 #pragma omp atomic compare seq_cst 354 cx = ce < cx ? ce : cx; 355 #pragma omp atomic compare seq_cst 356 if (cx > ce) 357 cx = ce; 358 #pragma omp atomic compare seq_cst 359 if (cx < ce) 360 cx = ce; 361 #pragma omp atomic compare seq_cst 362 if (ce > cx) 363 cx = ce; 364 #pragma omp atomic compare seq_cst 365 if (ce < cx) 366 cx = ce; 367 368 #pragma omp atomic compare seq_cst 369 cx = cx == ce ? cd : cx; 370 #pragma omp atomic compare seq_cst 371 cx = ce == cx ? cd : cx; 372 #pragma omp atomic compare seq_cst 373 if (cx == ce) 374 cx = cd; 375 #pragma omp atomic compare seq_cst 376 if (ce == cx) 377 cx = cd; 378 379 #pragma omp atomic compare seq_cst 380 ucx = ucx > uce ? uce : ucx; 381 #pragma omp atomic compare seq_cst 382 ucx = ucx < uce ? uce : ucx; 383 #pragma omp atomic compare seq_cst 384 ucx = uce > ucx ? uce : ucx; 385 #pragma omp atomic compare seq_cst 386 ucx = uce < ucx ? uce : ucx; 387 #pragma omp atomic compare seq_cst 388 if (ucx > uce) 389 ucx = uce; 390 #pragma omp atomic compare seq_cst 391 if (ucx < uce) 392 ucx = uce; 393 #pragma omp atomic compare seq_cst 394 if (uce > ucx) 395 ucx = uce; 396 #pragma omp atomic compare seq_cst 397 if (uce < ucx) 398 ucx = uce; 399 400 #pragma omp atomic compare seq_cst 401 ucx = ucx == uce ? ucd : ucx; 402 #pragma omp atomic compare seq_cst 403 ucx = uce == ucx ? ucd : ucx; 404 #pragma omp atomic compare seq_cst 405 if (ucx == uce) 406 ucx = ucd; 407 #pragma omp atomic compare seq_cst 408 if (uce == ucx) 409 ucx = ucd; 410 411 #pragma omp atomic compare 412 sx = sx > se ? se : sx; 413 #pragma omp atomic compare 414 sx = sx < se ? se : sx; 415 #pragma omp atomic compare 416 sx = se > sx ? se : sx; 417 #pragma omp atomic compare 418 sx = se < sx ? se : sx; 419 #pragma omp atomic compare 420 if (sx > se) 421 sx = se; 422 #pragma omp atomic compare 423 if (sx < se) 424 sx = se; 425 #pragma omp atomic compare 426 if (se > sx) 427 sx = se; 428 #pragma omp atomic compare 429 if (se < sx) 430 sx = se; 431 432 #pragma omp atomic compare 433 sx = sx == se ? sd : sx; 434 #pragma omp atomic compare 435 sx = se == sx ? sd : sx; 436 #pragma omp atomic compare 437 if (sx == se) 438 sx = sd; 439 #pragma omp atomic compare 440 if (se == sx) 441 sx = sd; 442 443 #pragma omp atomic compare 444 usx = usx > use ? use : usx; 445 #pragma omp atomic compare 446 usx = usx < use ? use : usx; 447 #pragma omp atomic compare 448 usx = use > usx ? use : usx; 449 #pragma omp atomic compare 450 usx = use < usx ? use : usx; 451 #pragma omp atomic compare 452 if (usx > use) 453 usx = use; 454 #pragma omp atomic compare 455 if (usx < use) 456 usx = use; 457 #pragma omp atomic compare 458 if (use > usx) 459 usx = use; 460 #pragma omp atomic compare 461 if (use < usx) 462 usx = use; 463 464 #pragma omp atomic compare 465 usx = usx == use ? usd : usx; 466 #pragma omp atomic compare 467 usx = use == usx ? usd : usx; 468 #pragma omp atomic compare 469 if (usx == use) 470 usx = usd; 471 #pragma omp atomic compare 472 if (use == usx) 473 usx = usd; 474 475 #pragma omp atomic compare acq_rel 476 sx = sx > se ? se : sx; 477 #pragma omp atomic compare acq_rel 478 sx = sx < se ? se : sx; 479 #pragma omp atomic compare acq_rel 480 sx = se > sx ? se : sx; 481 #pragma omp atomic compare acq_rel 482 sx = se < sx ? se : sx; 483 #pragma omp atomic compare acq_rel 484 if (sx > se) 485 sx = se; 486 #pragma omp atomic compare acq_rel 487 if (sx < se) 488 sx = se; 489 #pragma omp atomic compare acq_rel 490 if (se > sx) 491 sx = se; 492 #pragma omp atomic compare acq_rel 493 if (se < sx) 494 sx = se; 495 496 #pragma omp atomic compare acq_rel 497 sx = sx == se ? sd : sx; 498 #pragma omp atomic compare acq_rel 499 sx = se == sx ? sd : sx; 500 #pragma omp atomic compare acq_rel 501 if (sx == se) 502 sx = sd; 503 #pragma omp atomic compare acq_rel 504 if (se == sx) 505 sx = sd; 506 507 #pragma omp atomic compare acq_rel 508 usx = usx > use ? use : usx; 509 #pragma omp atomic compare acq_rel 510 usx = usx < use ? use : usx; 511 #pragma omp atomic compare acq_rel 512 usx = use > usx ? use : usx; 513 #pragma omp atomic compare acq_rel 514 usx = use < usx ? use : usx; 515 #pragma omp atomic compare acq_rel 516 if (usx > use) 517 usx = use; 518 #pragma omp atomic compare acq_rel 519 if (usx < use) 520 usx = use; 521 #pragma omp atomic compare acq_rel 522 if (use > usx) 523 usx = use; 524 #pragma omp atomic compare acq_rel 525 if (use < usx) 526 usx = use; 527 528 #pragma omp atomic compare acq_rel 529 usx = usx == use ? usd : usx; 530 #pragma omp atomic compare acq_rel 531 usx = use == usx ? usd : usx; 532 #pragma omp atomic compare acq_rel 533 if (usx == use) 534 usx = usd; 535 #pragma omp atomic compare acq_rel 536 if (use == usx) 537 usx = usd; 538 539 #pragma omp atomic compare acquire 540 sx = sx > se ? se : sx; 541 #pragma omp atomic compare acquire 542 sx = sx < se ? se : sx; 543 #pragma omp atomic compare acquire 544 sx = se > sx ? se : sx; 545 #pragma omp atomic compare acquire 546 sx = se < sx ? se : sx; 547 #pragma omp atomic compare acquire 548 if (sx > se) 549 sx = se; 550 #pragma omp atomic compare acquire 551 if (sx < se) 552 sx = se; 553 #pragma omp atomic compare acquire 554 if (se > sx) 555 sx = se; 556 #pragma omp atomic compare acquire 557 if (se < sx) 558 sx = se; 559 560 #pragma omp atomic compare acquire 561 sx = sx == se ? sd : sx; 562 #pragma omp atomic compare acquire 563 sx = se == sx ? sd : sx; 564 #pragma omp atomic compare acquire 565 if (sx == se) 566 sx = sd; 567 #pragma omp atomic compare acquire 568 if (se == sx) 569 sx = sd; 570 571 #pragma omp atomic compare acquire 572 usx = usx > use ? use : usx; 573 #pragma omp atomic compare acquire 574 usx = usx < use ? use : usx; 575 #pragma omp atomic compare acquire 576 usx = use > usx ? use : usx; 577 #pragma omp atomic compare acquire 578 usx = use < usx ? use : usx; 579 #pragma omp atomic compare acquire 580 if (usx > use) 581 usx = use; 582 #pragma omp atomic compare acquire 583 if (usx < use) 584 usx = use; 585 #pragma omp atomic compare acquire 586 if (use > usx) 587 usx = use; 588 #pragma omp atomic compare acquire 589 if (use < usx) 590 usx = use; 591 592 #pragma omp atomic compare acquire 593 usx = usx == use ? usd : usx; 594 #pragma omp atomic compare acquire 595 usx = use == usx ? usd : usx; 596 #pragma omp atomic compare acquire 597 if (usx == use) 598 usx = usd; 599 #pragma omp atomic compare acquire 600 if (use == usx) 601 usx = usd; 602 603 #pragma omp atomic compare relaxed 604 sx = sx > se ? se : sx; 605 #pragma omp atomic compare relaxed 606 sx = sx < se ? se : sx; 607 #pragma omp atomic compare relaxed 608 sx = se > sx ? se : sx; 609 #pragma omp atomic compare relaxed 610 sx = se < sx ? se : sx; 611 #pragma omp atomic compare relaxed 612 if (sx > se) 613 sx = se; 614 #pragma omp atomic compare relaxed 615 if (sx < se) 616 sx = se; 617 #pragma omp atomic compare relaxed 618 if (se > sx) 619 sx = se; 620 #pragma omp atomic compare relaxed 621 if (se < sx) 622 sx = se; 623 624 #pragma omp atomic compare relaxed 625 sx = sx == se ? sd : sx; 626 #pragma omp atomic compare relaxed 627 sx = se == sx ? sd : sx; 628 #pragma omp atomic compare relaxed 629 if (sx == se) 630 sx = sd; 631 #pragma omp atomic compare relaxed 632 if (se == sx) 633 sx = sd; 634 635 #pragma omp atomic compare relaxed 636 usx = usx > use ? use : usx; 637 #pragma omp atomic compare relaxed 638 usx = usx < use ? use : usx; 639 #pragma omp atomic compare relaxed 640 usx = use > usx ? use : usx; 641 #pragma omp atomic compare relaxed 642 usx = use < usx ? use : usx; 643 #pragma omp atomic compare relaxed 644 if (usx > use) 645 usx = use; 646 #pragma omp atomic compare relaxed 647 if (usx < use) 648 usx = use; 649 #pragma omp atomic compare relaxed 650 if (use > usx) 651 usx = use; 652 #pragma omp atomic compare relaxed 653 if (use < usx) 654 usx = use; 655 656 #pragma omp atomic compare relaxed 657 usx = usx == use ? usd : usx; 658 #pragma omp atomic compare relaxed 659 usx = use == usx ? usd : usx; 660 #pragma omp atomic compare relaxed 661 if (usx == use) 662 usx = usd; 663 #pragma omp atomic compare relaxed 664 if (use == usx) 665 usx = usd; 666 667 #pragma omp atomic compare release 668 sx = sx > se ? se : sx; 669 #pragma omp atomic compare release 670 sx = sx < se ? se : sx; 671 #pragma omp atomic compare release 672 sx = se > sx ? se : sx; 673 #pragma omp atomic compare release 674 sx = se < sx ? se : sx; 675 #pragma omp atomic compare release 676 if (sx > se) 677 sx = se; 678 #pragma omp atomic compare release 679 if (sx < se) 680 sx = se; 681 #pragma omp atomic compare release 682 if (se > sx) 683 sx = se; 684 #pragma omp atomic compare release 685 if (se < sx) 686 sx = se; 687 688 #pragma omp atomic compare release 689 sx = sx == se ? sd : sx; 690 #pragma omp atomic compare release 691 sx = se == sx ? sd : sx; 692 #pragma omp atomic compare release 693 if (sx == se) 694 sx = sd; 695 #pragma omp atomic compare release 696 if (se == sx) 697 sx = sd; 698 699 #pragma omp atomic compare release 700 usx = usx > use ? use : usx; 701 #pragma omp atomic compare release 702 usx = usx < use ? use : usx; 703 #pragma omp atomic compare release 704 usx = use > usx ? use : usx; 705 #pragma omp atomic compare release 706 usx = use < usx ? use : usx; 707 #pragma omp atomic compare release 708 if (usx > use) 709 usx = use; 710 #pragma omp atomic compare release 711 if (usx < use) 712 usx = use; 713 #pragma omp atomic compare release 714 if (use > usx) 715 usx = use; 716 #pragma omp atomic compare release 717 if (use < usx) 718 usx = use; 719 720 #pragma omp atomic compare release 721 usx = usx == use ? usd : usx; 722 #pragma omp atomic compare release 723 usx = use == usx ? usd : usx; 724 #pragma omp atomic compare release 725 if (usx == use) 726 usx = usd; 727 #pragma omp atomic compare release 728 if (use == usx) 729 usx = usd; 730 731 #pragma omp atomic compare seq_cst 732 sx = sx > se ? se : sx; 733 #pragma omp atomic compare seq_cst 734 sx = sx < se ? se : sx; 735 #pragma omp atomic compare seq_cst 736 sx = se > sx ? se : sx; 737 #pragma omp atomic compare seq_cst 738 sx = se < sx ? se : sx; 739 #pragma omp atomic compare seq_cst 740 if (sx > se) 741 sx = se; 742 #pragma omp atomic compare seq_cst 743 if (sx < se) 744 sx = se; 745 #pragma omp atomic compare seq_cst 746 if (se > sx) 747 sx = se; 748 #pragma omp atomic compare seq_cst 749 if (se < sx) 750 sx = se; 751 752 #pragma omp atomic compare seq_cst 753 sx = sx == se ? sd : sx; 754 #pragma omp atomic compare seq_cst 755 sx = se == sx ? sd : sx; 756 #pragma omp atomic compare seq_cst 757 if (sx == se) 758 sx = sd; 759 #pragma omp atomic compare seq_cst 760 if (se == sx) 761 sx = sd; 762 763 #pragma omp atomic compare seq_cst 764 usx = usx > use ? use : usx; 765 #pragma omp atomic compare seq_cst 766 usx = usx < use ? use : usx; 767 #pragma omp atomic compare seq_cst 768 usx = use > usx ? use : usx; 769 #pragma omp atomic compare seq_cst 770 usx = use < usx ? use : usx; 771 #pragma omp atomic compare seq_cst 772 if (usx > use) 773 usx = use; 774 #pragma omp atomic compare seq_cst 775 if (usx < use) 776 usx = use; 777 #pragma omp atomic compare seq_cst 778 if (use > usx) 779 usx = use; 780 #pragma omp atomic compare seq_cst 781 if (use < usx) 782 usx = use; 783 784 #pragma omp atomic compare seq_cst 785 usx = usx == use ? usd : usx; 786 #pragma omp atomic compare seq_cst 787 usx = use == usx ? usd : usx; 788 #pragma omp atomic compare seq_cst 789 if (usx == use) 790 usx = usd; 791 #pragma omp atomic compare seq_cst 792 if (use == usx) 793 usx = usd; 794 795 #pragma omp atomic compare 796 ix = ix > ie ? ie : ix; 797 #pragma omp atomic compare 798 ix = ix < ie ? ie : ix; 799 #pragma omp atomic compare 800 ix = ie > ix ? ie : ix; 801 #pragma omp atomic compare 802 ix = ie < ix ? ie : ix; 803 #pragma omp atomic compare 804 if (ix > ie) 805 ix = ie; 806 #pragma omp atomic compare 807 if (ix < ie) 808 ix = ie; 809 #pragma omp atomic compare 810 if (ie > ix) 811 ix = ie; 812 #pragma omp atomic compare 813 if (ie < ix) 814 ix = ie; 815 816 #pragma omp atomic compare 817 ix = ix == ie ? id : ix; 818 #pragma omp atomic compare 819 ix = ie == ix ? id : ix; 820 #pragma omp atomic compare 821 if (ix == ie) 822 ix = id; 823 #pragma omp atomic compare 824 if (ie == ix) 825 ix = id; 826 827 #pragma omp atomic compare 828 uix = uix > uie ? uie : uix; 829 #pragma omp atomic compare 830 uix = uix < uie ? uie : uix; 831 #pragma omp atomic compare 832 uix = uie > uix ? uie : uix; 833 #pragma omp atomic compare 834 uix = uie < uix ? uie : uix; 835 #pragma omp atomic compare 836 if (uix > uie) 837 uix = uie; 838 #pragma omp atomic compare 839 if (uix < uie) 840 uix = uie; 841 #pragma omp atomic compare 842 if (uie > uix) 843 uix = uie; 844 #pragma omp atomic compare 845 if (uie < uix) 846 uix = uie; 847 848 #pragma omp atomic compare 849 uix = uix == uie ? uid : uix; 850 #pragma omp atomic compare 851 uix = uie == uix ? uid : uix; 852 #pragma omp atomic compare 853 if (uix == uie) 854 uix = uid; 855 #pragma omp atomic compare 856 if (uie == uix) 857 uix = uid; 858 859 #pragma omp atomic compare acq_rel 860 ix = ix > ie ? ie : ix; 861 #pragma omp atomic compare acq_rel 862 ix = ix < ie ? ie : ix; 863 #pragma omp atomic compare acq_rel 864 ix = ie > ix ? ie : ix; 865 #pragma omp atomic compare acq_rel 866 ix = ie < ix ? ie : ix; 867 #pragma omp atomic compare acq_rel 868 if (ix > ie) 869 ix = ie; 870 #pragma omp atomic compare acq_rel 871 if (ix < ie) 872 ix = ie; 873 #pragma omp atomic compare acq_rel 874 if (ie > ix) 875 ix = ie; 876 #pragma omp atomic compare acq_rel 877 if (ie < ix) 878 ix = ie; 879 880 #pragma omp atomic compare acq_rel 881 ix = ix == ie ? id : ix; 882 #pragma omp atomic compare acq_rel 883 ix = ie == ix ? id : ix; 884 #pragma omp atomic compare acq_rel 885 if (ix == ie) 886 ix = id; 887 #pragma omp atomic compare acq_rel 888 if (ie == ix) 889 ix = id; 890 891 #pragma omp atomic compare acq_rel 892 uix = uix > uie ? uie : uix; 893 #pragma omp atomic compare acq_rel 894 uix = uix < uie ? uie : uix; 895 #pragma omp atomic compare acq_rel 896 uix = uie > uix ? uie : uix; 897 #pragma omp atomic compare acq_rel 898 uix = uie < uix ? uie : uix; 899 #pragma omp atomic compare acq_rel 900 if (uix > uie) 901 uix = uie; 902 #pragma omp atomic compare acq_rel 903 if (uix < uie) 904 uix = uie; 905 #pragma omp atomic compare acq_rel 906 if (uie > uix) 907 uix = uie; 908 #pragma omp atomic compare acq_rel 909 if (uie < uix) 910 uix = uie; 911 912 #pragma omp atomic compare acq_rel 913 uix = uix == uie ? uid : uix; 914 #pragma omp atomic compare acq_rel 915 uix = uie == uix ? uid : uix; 916 #pragma omp atomic compare acq_rel 917 if (uix == uie) 918 uix = uid; 919 #pragma omp atomic compare acq_rel 920 if (uie == uix) 921 uix = uid; 922 923 #pragma omp atomic compare acquire 924 ix = ix > ie ? ie : ix; 925 #pragma omp atomic compare acquire 926 ix = ix < ie ? ie : ix; 927 #pragma omp atomic compare acquire 928 ix = ie > ix ? ie : ix; 929 #pragma omp atomic compare acquire 930 ix = ie < ix ? ie : ix; 931 #pragma omp atomic compare acquire 932 if (ix > ie) 933 ix = ie; 934 #pragma omp atomic compare acquire 935 if (ix < ie) 936 ix = ie; 937 #pragma omp atomic compare acquire 938 if (ie > ix) 939 ix = ie; 940 #pragma omp atomic compare acquire 941 if (ie < ix) 942 ix = ie; 943 944 #pragma omp atomic compare acquire 945 ix = ix == ie ? id : ix; 946 #pragma omp atomic compare acquire 947 ix = ie == ix ? id : ix; 948 #pragma omp atomic compare acquire 949 if (ix == ie) 950 ix = id; 951 #pragma omp atomic compare acquire 952 if (ie == ix) 953 ix = id; 954 955 #pragma omp atomic compare acquire 956 uix = uix > uie ? uie : uix; 957 #pragma omp atomic compare acquire 958 uix = uix < uie ? uie : uix; 959 #pragma omp atomic compare acquire 960 uix = uie > uix ? uie : uix; 961 #pragma omp atomic compare acquire 962 uix = uie < uix ? uie : uix; 963 #pragma omp atomic compare acquire 964 if (uix > uie) 965 uix = uie; 966 #pragma omp atomic compare acquire 967 if (uix < uie) 968 uix = uie; 969 #pragma omp atomic compare acquire 970 if (uie > uix) 971 uix = uie; 972 #pragma omp atomic compare acquire 973 if (uie < uix) 974 uix = uie; 975 976 #pragma omp atomic compare acquire 977 uix = uix == uie ? uid : uix; 978 #pragma omp atomic compare acquire 979 uix = uie == uix ? uid : uix; 980 #pragma omp atomic compare acquire 981 if (uix == uie) 982 uix = uid; 983 #pragma omp atomic compare acquire 984 if (uie == uix) 985 uix = uid; 986 987 #pragma omp atomic compare relaxed 988 ix = ix > ie ? ie : ix; 989 #pragma omp atomic compare relaxed 990 ix = ix < ie ? ie : ix; 991 #pragma omp atomic compare relaxed 992 ix = ie > ix ? ie : ix; 993 #pragma omp atomic compare relaxed 994 ix = ie < ix ? ie : ix; 995 #pragma omp atomic compare relaxed 996 if (ix > ie) 997 ix = ie; 998 #pragma omp atomic compare relaxed 999 if (ix < ie) 1000 ix = ie; 1001 #pragma omp atomic compare relaxed 1002 if (ie > ix) 1003 ix = ie; 1004 #pragma omp atomic compare relaxed 1005 if (ie < ix) 1006 ix = ie; 1007 1008 #pragma omp atomic compare relaxed 1009 ix = ix == ie ? id : ix; 1010 #pragma omp atomic compare relaxed 1011 ix = ie == ix ? id : ix; 1012 #pragma omp atomic compare relaxed 1013 if (ix == ie) 1014 ix = id; 1015 #pragma omp atomic compare relaxed 1016 if (ie == ix) 1017 ix = id; 1018 1019 #pragma omp atomic compare relaxed 1020 uix = uix > uie ? uie : uix; 1021 #pragma omp atomic compare relaxed 1022 uix = uix < uie ? uie : uix; 1023 #pragma omp atomic compare relaxed 1024 uix = uie > uix ? uie : uix; 1025 #pragma omp atomic compare relaxed 1026 uix = uie < uix ? uie : uix; 1027 #pragma omp atomic compare relaxed 1028 if (uix > uie) 1029 uix = uie; 1030 #pragma omp atomic compare relaxed 1031 if (uix < uie) 1032 uix = uie; 1033 #pragma omp atomic compare relaxed 1034 if (uie > uix) 1035 uix = uie; 1036 #pragma omp atomic compare relaxed 1037 if (uie < uix) 1038 uix = uie; 1039 1040 #pragma omp atomic compare relaxed 1041 uix = uix == uie ? uid : uix; 1042 #pragma omp atomic compare relaxed 1043 uix = uie == uix ? uid : uix; 1044 #pragma omp atomic compare relaxed 1045 if (uix == uie) 1046 uix = uid; 1047 #pragma omp atomic compare relaxed 1048 if (uie == uix) 1049 uix = uid; 1050 1051 #pragma omp atomic compare release 1052 ix = ix > ie ? ie : ix; 1053 #pragma omp atomic compare release 1054 ix = ix < ie ? ie : ix; 1055 #pragma omp atomic compare release 1056 ix = ie > ix ? ie : ix; 1057 #pragma omp atomic compare release 1058 ix = ie < ix ? ie : ix; 1059 #pragma omp atomic compare release 1060 if (ix > ie) 1061 ix = ie; 1062 #pragma omp atomic compare release 1063 if (ix < ie) 1064 ix = ie; 1065 #pragma omp atomic compare release 1066 if (ie > ix) 1067 ix = ie; 1068 #pragma omp atomic compare release 1069 if (ie < ix) 1070 ix = ie; 1071 1072 #pragma omp atomic compare release 1073 ix = ix == ie ? id : ix; 1074 #pragma omp atomic compare release 1075 ix = ie == ix ? id : ix; 1076 #pragma omp atomic compare release 1077 if (ix == ie) 1078 ix = id; 1079 #pragma omp atomic compare release 1080 if (ie == ix) 1081 ix = id; 1082 1083 #pragma omp atomic compare release 1084 uix = uix > uie ? uie : uix; 1085 #pragma omp atomic compare release 1086 uix = uix < uie ? uie : uix; 1087 #pragma omp atomic compare release 1088 uix = uie > uix ? uie : uix; 1089 #pragma omp atomic compare release 1090 uix = uie < uix ? uie : uix; 1091 #pragma omp atomic compare release 1092 if (uix > uie) 1093 uix = uie; 1094 #pragma omp atomic compare release 1095 if (uix < uie) 1096 uix = uie; 1097 #pragma omp atomic compare release 1098 if (uie > uix) 1099 uix = uie; 1100 #pragma omp atomic compare release 1101 if (uie < uix) 1102 uix = uie; 1103 1104 #pragma omp atomic compare release 1105 uix = uix == uie ? uid : uix; 1106 #pragma omp atomic compare release 1107 uix = uie == uix ? uid : uix; 1108 #pragma omp atomic compare release 1109 if (uix == uie) 1110 uix = uid; 1111 #pragma omp atomic compare release 1112 if (uie == uix) 1113 uix = uid; 1114 1115 #pragma omp atomic compare seq_cst 1116 ix = ix > ie ? ie : ix; 1117 #pragma omp atomic compare seq_cst 1118 ix = ix < ie ? ie : ix; 1119 #pragma omp atomic compare seq_cst 1120 ix = ie > ix ? ie : ix; 1121 #pragma omp atomic compare seq_cst 1122 ix = ie < ix ? ie : ix; 1123 #pragma omp atomic compare seq_cst 1124 if (ix > ie) 1125 ix = ie; 1126 #pragma omp atomic compare seq_cst 1127 if (ix < ie) 1128 ix = ie; 1129 #pragma omp atomic compare seq_cst 1130 if (ie > ix) 1131 ix = ie; 1132 #pragma omp atomic compare seq_cst 1133 if (ie < ix) 1134 ix = ie; 1135 1136 #pragma omp atomic compare seq_cst 1137 ix = ix == ie ? id : ix; 1138 #pragma omp atomic compare seq_cst 1139 ix = ie == ix ? id : ix; 1140 #pragma omp atomic compare seq_cst 1141 if (ix == ie) 1142 ix = id; 1143 #pragma omp atomic compare seq_cst 1144 if (ie == ix) 1145 ix = id; 1146 1147 #pragma omp atomic compare seq_cst 1148 uix = uix > uie ? uie : uix; 1149 #pragma omp atomic compare seq_cst 1150 uix = uix < uie ? uie : uix; 1151 #pragma omp atomic compare seq_cst 1152 uix = uie > uix ? uie : uix; 1153 #pragma omp atomic compare seq_cst 1154 uix = uie < uix ? uie : uix; 1155 #pragma omp atomic compare seq_cst 1156 if (uix > uie) 1157 uix = uie; 1158 #pragma omp atomic compare seq_cst 1159 if (uix < uie) 1160 uix = uie; 1161 #pragma omp atomic compare seq_cst 1162 if (uie > uix) 1163 uix = uie; 1164 #pragma omp atomic compare seq_cst 1165 if (uie < uix) 1166 uix = uie; 1167 1168 #pragma omp atomic compare seq_cst 1169 uix = uix == uie ? uid : uix; 1170 #pragma omp atomic compare seq_cst 1171 uix = uie == uix ? uid : uix; 1172 #pragma omp atomic compare seq_cst 1173 if (uix == uie) 1174 uix = uid; 1175 #pragma omp atomic compare seq_cst 1176 if (uie == uix) 1177 uix = uid; 1178 1179 #pragma omp atomic compare 1180 lx = lx > le ? le : lx; 1181 #pragma omp atomic compare 1182 lx = lx < le ? le : lx; 1183 #pragma omp atomic compare 1184 lx = le > lx ? le : lx; 1185 #pragma omp atomic compare 1186 lx = le < lx ? le : lx; 1187 #pragma omp atomic compare 1188 if (lx > le) 1189 lx = le; 1190 #pragma omp atomic compare 1191 if (lx < le) 1192 lx = le; 1193 #pragma omp atomic compare 1194 if (le > lx) 1195 lx = le; 1196 #pragma omp atomic compare 1197 if (le < lx) 1198 lx = le; 1199 1200 #pragma omp atomic compare 1201 lx = lx == le ? ld : lx; 1202 #pragma omp atomic compare 1203 lx = le == lx ? ld : lx; 1204 #pragma omp atomic compare 1205 if (lx == le) 1206 lx = ld; 1207 #pragma omp atomic compare 1208 if (le == lx) 1209 lx = ld; 1210 1211 #pragma omp atomic compare 1212 ulx = ulx > ule ? ule : ulx; 1213 #pragma omp atomic compare 1214 ulx = ulx < ule ? ule : ulx; 1215 #pragma omp atomic compare 1216 ulx = ule > ulx ? ule : ulx; 1217 #pragma omp atomic compare 1218 ulx = ule < ulx ? ule : ulx; 1219 #pragma omp atomic compare 1220 if (ulx > ule) 1221 ulx = ule; 1222 #pragma omp atomic compare 1223 if (ulx < ule) 1224 ulx = ule; 1225 #pragma omp atomic compare 1226 if (ule > ulx) 1227 ulx = ule; 1228 #pragma omp atomic compare 1229 if (ule < ulx) 1230 ulx = ule; 1231 1232 #pragma omp atomic compare 1233 ulx = ulx == ule ? uld : ulx; 1234 #pragma omp atomic compare 1235 ulx = ule == ulx ? uld : ulx; 1236 #pragma omp atomic compare 1237 if (ulx == ule) 1238 ulx = uld; 1239 #pragma omp atomic compare 1240 if (ule == ulx) 1241 ulx = uld; 1242 1243 #pragma omp atomic compare acq_rel 1244 lx = lx > le ? le : lx; 1245 #pragma omp atomic compare acq_rel 1246 lx = lx < le ? le : lx; 1247 #pragma omp atomic compare acq_rel 1248 lx = le > lx ? le : lx; 1249 #pragma omp atomic compare acq_rel 1250 lx = le < lx ? le : lx; 1251 #pragma omp atomic compare acq_rel 1252 if (lx > le) 1253 lx = le; 1254 #pragma omp atomic compare acq_rel 1255 if (lx < le) 1256 lx = le; 1257 #pragma omp atomic compare acq_rel 1258 if (le > lx) 1259 lx = le; 1260 #pragma omp atomic compare acq_rel 1261 if (le < lx) 1262 lx = le; 1263 1264 #pragma omp atomic compare acq_rel 1265 lx = lx == le ? ld : lx; 1266 #pragma omp atomic compare acq_rel 1267 lx = le == lx ? ld : lx; 1268 #pragma omp atomic compare acq_rel 1269 if (lx == le) 1270 lx = ld; 1271 #pragma omp atomic compare acq_rel 1272 if (le == lx) 1273 lx = ld; 1274 1275 #pragma omp atomic compare acq_rel 1276 ulx = ulx > ule ? ule : ulx; 1277 #pragma omp atomic compare acq_rel 1278 ulx = ulx < ule ? ule : ulx; 1279 #pragma omp atomic compare acq_rel 1280 ulx = ule > ulx ? ule : ulx; 1281 #pragma omp atomic compare acq_rel 1282 ulx = ule < ulx ? ule : ulx; 1283 #pragma omp atomic compare acq_rel 1284 if (ulx > ule) 1285 ulx = ule; 1286 #pragma omp atomic compare acq_rel 1287 if (ulx < ule) 1288 ulx = ule; 1289 #pragma omp atomic compare acq_rel 1290 if (ule > ulx) 1291 ulx = ule; 1292 #pragma omp atomic compare acq_rel 1293 if (ule < ulx) 1294 ulx = ule; 1295 1296 #pragma omp atomic compare acq_rel 1297 ulx = ulx == ule ? uld : ulx; 1298 #pragma omp atomic compare acq_rel 1299 ulx = ule == ulx ? uld : ulx; 1300 #pragma omp atomic compare acq_rel 1301 if (ulx == ule) 1302 ulx = uld; 1303 #pragma omp atomic compare acq_rel 1304 if (ule == ulx) 1305 ulx = uld; 1306 1307 #pragma omp atomic compare acquire 1308 lx = lx > le ? le : lx; 1309 #pragma omp atomic compare acquire 1310 lx = lx < le ? le : lx; 1311 #pragma omp atomic compare acquire 1312 lx = le > lx ? le : lx; 1313 #pragma omp atomic compare acquire 1314 lx = le < lx ? le : lx; 1315 #pragma omp atomic compare acquire 1316 if (lx > le) 1317 lx = le; 1318 #pragma omp atomic compare acquire 1319 if (lx < le) 1320 lx = le; 1321 #pragma omp atomic compare acquire 1322 if (le > lx) 1323 lx = le; 1324 #pragma omp atomic compare acquire 1325 if (le < lx) 1326 lx = le; 1327 1328 #pragma omp atomic compare acquire 1329 lx = lx == le ? ld : lx; 1330 #pragma omp atomic compare acquire 1331 lx = le == lx ? ld : lx; 1332 #pragma omp atomic compare acquire 1333 if (lx == le) 1334 lx = ld; 1335 #pragma omp atomic compare acquire 1336 if (le == lx) 1337 lx = ld; 1338 1339 #pragma omp atomic compare acquire 1340 ulx = ulx > ule ? ule : ulx; 1341 #pragma omp atomic compare acquire 1342 ulx = ulx < ule ? ule : ulx; 1343 #pragma omp atomic compare acquire 1344 ulx = ule > ulx ? ule : ulx; 1345 #pragma omp atomic compare acquire 1346 ulx = ule < ulx ? ule : ulx; 1347 #pragma omp atomic compare acquire 1348 if (ulx > ule) 1349 ulx = ule; 1350 #pragma omp atomic compare acquire 1351 if (ulx < ule) 1352 ulx = ule; 1353 #pragma omp atomic compare acquire 1354 if (ule > ulx) 1355 ulx = ule; 1356 #pragma omp atomic compare acquire 1357 if (ule < ulx) 1358 ulx = ule; 1359 1360 #pragma omp atomic compare acquire 1361 ulx = ulx == ule ? uld : ulx; 1362 #pragma omp atomic compare acquire 1363 ulx = ule == ulx ? uld : ulx; 1364 #pragma omp atomic compare acquire 1365 if (ulx == ule) 1366 ulx = uld; 1367 #pragma omp atomic compare acquire 1368 if (ule == ulx) 1369 ulx = uld; 1370 1371 #pragma omp atomic compare relaxed 1372 lx = lx > le ? le : lx; 1373 #pragma omp atomic compare relaxed 1374 lx = lx < le ? le : lx; 1375 #pragma omp atomic compare relaxed 1376 lx = le > lx ? le : lx; 1377 #pragma omp atomic compare relaxed 1378 lx = le < lx ? le : lx; 1379 #pragma omp atomic compare relaxed 1380 if (lx > le) 1381 lx = le; 1382 #pragma omp atomic compare relaxed 1383 if (lx < le) 1384 lx = le; 1385 #pragma omp atomic compare relaxed 1386 if (le > lx) 1387 lx = le; 1388 #pragma omp atomic compare relaxed 1389 if (le < lx) 1390 lx = le; 1391 1392 #pragma omp atomic compare relaxed 1393 lx = lx == le ? ld : lx; 1394 #pragma omp atomic compare relaxed 1395 lx = le == lx ? ld : lx; 1396 #pragma omp atomic compare relaxed 1397 if (lx == le) 1398 lx = ld; 1399 #pragma omp atomic compare relaxed 1400 if (le == lx) 1401 lx = ld; 1402 1403 #pragma omp atomic compare relaxed 1404 ulx = ulx > ule ? ule : ulx; 1405 #pragma omp atomic compare relaxed 1406 ulx = ulx < ule ? ule : ulx; 1407 #pragma omp atomic compare relaxed 1408 ulx = ule > ulx ? ule : ulx; 1409 #pragma omp atomic compare relaxed 1410 ulx = ule < ulx ? ule : ulx; 1411 #pragma omp atomic compare relaxed 1412 if (ulx > ule) 1413 ulx = ule; 1414 #pragma omp atomic compare relaxed 1415 if (ulx < ule) 1416 ulx = ule; 1417 #pragma omp atomic compare relaxed 1418 if (ule > ulx) 1419 ulx = ule; 1420 #pragma omp atomic compare relaxed 1421 if (ule < ulx) 1422 ulx = ule; 1423 1424 #pragma omp atomic compare relaxed 1425 ulx = ulx == ule ? uld : ulx; 1426 #pragma omp atomic compare relaxed 1427 ulx = ule == ulx ? uld : ulx; 1428 #pragma omp atomic compare relaxed 1429 if (ulx == ule) 1430 ulx = uld; 1431 #pragma omp atomic compare relaxed 1432 if (ule == ulx) 1433 ulx = uld; 1434 1435 #pragma omp atomic compare release 1436 lx = lx > le ? le : lx; 1437 #pragma omp atomic compare release 1438 lx = lx < le ? le : lx; 1439 #pragma omp atomic compare release 1440 lx = le > lx ? le : lx; 1441 #pragma omp atomic compare release 1442 lx = le < lx ? le : lx; 1443 #pragma omp atomic compare release 1444 if (lx > le) 1445 lx = le; 1446 #pragma omp atomic compare release 1447 if (lx < le) 1448 lx = le; 1449 #pragma omp atomic compare release 1450 if (le > lx) 1451 lx = le; 1452 #pragma omp atomic compare release 1453 if (le < lx) 1454 lx = le; 1455 1456 #pragma omp atomic compare release 1457 lx = lx == le ? ld : lx; 1458 #pragma omp atomic compare release 1459 lx = le == lx ? ld : lx; 1460 #pragma omp atomic compare release 1461 if (lx == le) 1462 lx = ld; 1463 #pragma omp atomic compare release 1464 if (le == lx) 1465 lx = ld; 1466 1467 #pragma omp atomic compare release 1468 ulx = ulx > ule ? ule : ulx; 1469 #pragma omp atomic compare release 1470 ulx = ulx < ule ? ule : ulx; 1471 #pragma omp atomic compare release 1472 ulx = ule > ulx ? ule : ulx; 1473 #pragma omp atomic compare release 1474 ulx = ule < ulx ? ule : ulx; 1475 #pragma omp atomic compare release 1476 if (ulx > ule) 1477 ulx = ule; 1478 #pragma omp atomic compare release 1479 if (ulx < ule) 1480 ulx = ule; 1481 #pragma omp atomic compare release 1482 if (ule > ulx) 1483 ulx = ule; 1484 #pragma omp atomic compare release 1485 if (ule < ulx) 1486 ulx = ule; 1487 1488 #pragma omp atomic compare release 1489 ulx = ulx == ule ? uld : ulx; 1490 #pragma omp atomic compare release 1491 ulx = ule == ulx ? uld : ulx; 1492 #pragma omp atomic compare release 1493 if (ulx == ule) 1494 ulx = uld; 1495 #pragma omp atomic compare release 1496 if (ule == ulx) 1497 ulx = uld; 1498 1499 #pragma omp atomic compare seq_cst 1500 lx = lx > le ? le : lx; 1501 #pragma omp atomic compare seq_cst 1502 lx = lx < le ? le : lx; 1503 #pragma omp atomic compare seq_cst 1504 lx = le > lx ? le : lx; 1505 #pragma omp atomic compare seq_cst 1506 lx = le < lx ? le : lx; 1507 #pragma omp atomic compare seq_cst 1508 if (lx > le) 1509 lx = le; 1510 #pragma omp atomic compare seq_cst 1511 if (lx < le) 1512 lx = le; 1513 #pragma omp atomic compare seq_cst 1514 if (le > lx) 1515 lx = le; 1516 #pragma omp atomic compare seq_cst 1517 if (le < lx) 1518 lx = le; 1519 1520 #pragma omp atomic compare seq_cst 1521 lx = lx == le ? ld : lx; 1522 #pragma omp atomic compare seq_cst 1523 lx = le == lx ? ld : lx; 1524 #pragma omp atomic compare seq_cst 1525 if (lx == le) 1526 lx = ld; 1527 #pragma omp atomic compare seq_cst 1528 if (le == lx) 1529 lx = ld; 1530 1531 #pragma omp atomic compare seq_cst 1532 ulx = ulx > ule ? ule : ulx; 1533 #pragma omp atomic compare seq_cst 1534 ulx = ulx < ule ? ule : ulx; 1535 #pragma omp atomic compare seq_cst 1536 ulx = ule > ulx ? ule : ulx; 1537 #pragma omp atomic compare seq_cst 1538 ulx = ule < ulx ? ule : ulx; 1539 #pragma omp atomic compare seq_cst 1540 if (ulx > ule) 1541 ulx = ule; 1542 #pragma omp atomic compare seq_cst 1543 if (ulx < ule) 1544 ulx = ule; 1545 #pragma omp atomic compare seq_cst 1546 if (ule > ulx) 1547 ulx = ule; 1548 #pragma omp atomic compare seq_cst 1549 if (ule < ulx) 1550 ulx = ule; 1551 1552 #pragma omp atomic compare seq_cst 1553 ulx = ulx == ule ? uld : ulx; 1554 #pragma omp atomic compare seq_cst 1555 ulx = ule == ulx ? uld : ulx; 1556 #pragma omp atomic compare seq_cst 1557 if (ulx == ule) 1558 ulx = uld; 1559 #pragma omp atomic compare seq_cst 1560 if (ule == ulx) 1561 ulx = uld; 1562 1563 #pragma omp atomic compare 1564 llx = llx > lle ? lle : llx; 1565 #pragma omp atomic compare 1566 llx = llx < lle ? lle : llx; 1567 #pragma omp atomic compare 1568 llx = lle > llx ? lle : llx; 1569 #pragma omp atomic compare 1570 llx = lle < llx ? lle : llx; 1571 #pragma omp atomic compare 1572 if (llx > lle) 1573 llx = lle; 1574 #pragma omp atomic compare 1575 if (llx < lle) 1576 llx = lle; 1577 #pragma omp atomic compare 1578 if (lle > llx) 1579 llx = lle; 1580 #pragma omp atomic compare 1581 if (lle < llx) 1582 llx = lle; 1583 1584 #pragma omp atomic compare 1585 llx = llx == lle ? lld : llx; 1586 #pragma omp atomic compare 1587 llx = lle == llx ? lld : llx; 1588 #pragma omp atomic compare 1589 if (llx == lle) 1590 llx = lld; 1591 #pragma omp atomic compare 1592 if (lle == llx) 1593 llx = lld; 1594 1595 #pragma omp atomic compare 1596 ullx = ullx > ulle ? ulle : ullx; 1597 #pragma omp atomic compare 1598 ullx = ullx < ulle ? ulle : ullx; 1599 #pragma omp atomic compare 1600 ullx = ulle > ullx ? ulle : ullx; 1601 #pragma omp atomic compare 1602 ullx = ulle < ullx ? ulle : ullx; 1603 #pragma omp atomic compare 1604 if (ullx > ulle) 1605 ullx = ulle; 1606 #pragma omp atomic compare 1607 if (ullx < ulle) 1608 ullx = ulle; 1609 #pragma omp atomic compare 1610 if (ulle > ullx) 1611 ullx = ulle; 1612 #pragma omp atomic compare 1613 if (ulle < ullx) 1614 ullx = ulle; 1615 1616 #pragma omp atomic compare 1617 ullx = ullx == ulle ? ulld : ullx; 1618 #pragma omp atomic compare 1619 ullx = ulle == ullx ? ulld : ullx; 1620 #pragma omp atomic compare 1621 if (ullx == ulle) 1622 ullx = ulld; 1623 #pragma omp atomic compare 1624 if (ulle == ullx) 1625 ullx = ulld; 1626 1627 #pragma omp atomic compare acq_rel 1628 llx = llx > lle ? lle : llx; 1629 #pragma omp atomic compare acq_rel 1630 llx = llx < lle ? lle : llx; 1631 #pragma omp atomic compare acq_rel 1632 llx = lle > llx ? lle : llx; 1633 #pragma omp atomic compare acq_rel 1634 llx = lle < llx ? lle : llx; 1635 #pragma omp atomic compare acq_rel 1636 if (llx > lle) 1637 llx = lle; 1638 #pragma omp atomic compare acq_rel 1639 if (llx < lle) 1640 llx = lle; 1641 #pragma omp atomic compare acq_rel 1642 if (lle > llx) 1643 llx = lle; 1644 #pragma omp atomic compare acq_rel 1645 if (lle < llx) 1646 llx = lle; 1647 1648 #pragma omp atomic compare acq_rel 1649 llx = llx == lle ? lld : llx; 1650 #pragma omp atomic compare acq_rel 1651 llx = lle == llx ? lld : llx; 1652 #pragma omp atomic compare acq_rel 1653 if (llx == lle) 1654 llx = lld; 1655 #pragma omp atomic compare acq_rel 1656 if (lle == llx) 1657 llx = lld; 1658 1659 #pragma omp atomic compare acq_rel 1660 ullx = ullx > ulle ? ulle : ullx; 1661 #pragma omp atomic compare acq_rel 1662 ullx = ullx < ulle ? ulle : ullx; 1663 #pragma omp atomic compare acq_rel 1664 ullx = ulle > ullx ? ulle : ullx; 1665 #pragma omp atomic compare acq_rel 1666 ullx = ulle < ullx ? ulle : ullx; 1667 #pragma omp atomic compare acq_rel 1668 if (ullx > ulle) 1669 ullx = ulle; 1670 #pragma omp atomic compare acq_rel 1671 if (ullx < ulle) 1672 ullx = ulle; 1673 #pragma omp atomic compare acq_rel 1674 if (ulle > ullx) 1675 ullx = ulle; 1676 #pragma omp atomic compare acq_rel 1677 if (ulle < ullx) 1678 ullx = ulle; 1679 1680 #pragma omp atomic compare acq_rel 1681 ullx = ullx == ulle ? ulld : ullx; 1682 #pragma omp atomic compare acq_rel 1683 ullx = ulle == ullx ? ulld : ullx; 1684 #pragma omp atomic compare acq_rel 1685 if (ullx == ulle) 1686 ullx = ulld; 1687 #pragma omp atomic compare acq_rel 1688 if (ulle == ullx) 1689 ullx = ulld; 1690 1691 #pragma omp atomic compare acquire 1692 llx = llx > lle ? lle : llx; 1693 #pragma omp atomic compare acquire 1694 llx = llx < lle ? lle : llx; 1695 #pragma omp atomic compare acquire 1696 llx = lle > llx ? lle : llx; 1697 #pragma omp atomic compare acquire 1698 llx = lle < llx ? lle : llx; 1699 #pragma omp atomic compare acquire 1700 if (llx > lle) 1701 llx = lle; 1702 #pragma omp atomic compare acquire 1703 if (llx < lle) 1704 llx = lle; 1705 #pragma omp atomic compare acquire 1706 if (lle > llx) 1707 llx = lle; 1708 #pragma omp atomic compare acquire 1709 if (lle < llx) 1710 llx = lle; 1711 1712 #pragma omp atomic compare acquire 1713 llx = llx == lle ? lld : llx; 1714 #pragma omp atomic compare acquire 1715 llx = lle == llx ? lld : llx; 1716 #pragma omp atomic compare acquire 1717 if (llx == lle) 1718 llx = lld; 1719 #pragma omp atomic compare acquire 1720 if (lle == llx) 1721 llx = lld; 1722 1723 #pragma omp atomic compare acquire 1724 ullx = ullx > ulle ? ulle : ullx; 1725 #pragma omp atomic compare acquire 1726 ullx = ullx < ulle ? ulle : ullx; 1727 #pragma omp atomic compare acquire 1728 ullx = ulle > ullx ? ulle : ullx; 1729 #pragma omp atomic compare acquire 1730 ullx = ulle < ullx ? ulle : ullx; 1731 #pragma omp atomic compare acquire 1732 if (ullx > ulle) 1733 ullx = ulle; 1734 #pragma omp atomic compare acquire 1735 if (ullx < ulle) 1736 ullx = ulle; 1737 #pragma omp atomic compare acquire 1738 if (ulle > ullx) 1739 ullx = ulle; 1740 #pragma omp atomic compare acquire 1741 if (ulle < ullx) 1742 ullx = ulle; 1743 1744 #pragma omp atomic compare acquire 1745 ullx = ullx == ulle ? ulld : ullx; 1746 #pragma omp atomic compare acquire 1747 ullx = ulle == ullx ? ulld : ullx; 1748 #pragma omp atomic compare acquire 1749 if (ullx == ulle) 1750 ullx = ulld; 1751 #pragma omp atomic compare acquire 1752 if (ulle == ullx) 1753 ullx = ulld; 1754 1755 #pragma omp atomic compare relaxed 1756 llx = llx > lle ? lle : llx; 1757 #pragma omp atomic compare relaxed 1758 llx = llx < lle ? lle : llx; 1759 #pragma omp atomic compare relaxed 1760 llx = lle > llx ? lle : llx; 1761 #pragma omp atomic compare relaxed 1762 llx = lle < llx ? lle : llx; 1763 #pragma omp atomic compare relaxed 1764 if (llx > lle) 1765 llx = lle; 1766 #pragma omp atomic compare relaxed 1767 if (llx < lle) 1768 llx = lle; 1769 #pragma omp atomic compare relaxed 1770 if (lle > llx) 1771 llx = lle; 1772 #pragma omp atomic compare relaxed 1773 if (lle < llx) 1774 llx = lle; 1775 1776 #pragma omp atomic compare relaxed 1777 llx = llx == lle ? lld : llx; 1778 #pragma omp atomic compare relaxed 1779 llx = lle == llx ? lld : llx; 1780 #pragma omp atomic compare relaxed 1781 if (llx == lle) 1782 llx = lld; 1783 #pragma omp atomic compare relaxed 1784 if (lle == llx) 1785 llx = lld; 1786 1787 #pragma omp atomic compare relaxed 1788 ullx = ullx > ulle ? ulle : ullx; 1789 #pragma omp atomic compare relaxed 1790 ullx = ullx < ulle ? ulle : ullx; 1791 #pragma omp atomic compare relaxed 1792 ullx = ulle > ullx ? ulle : ullx; 1793 #pragma omp atomic compare relaxed 1794 ullx = ulle < ullx ? ulle : ullx; 1795 #pragma omp atomic compare relaxed 1796 if (ullx > ulle) 1797 ullx = ulle; 1798 #pragma omp atomic compare relaxed 1799 if (ullx < ulle) 1800 ullx = ulle; 1801 #pragma omp atomic compare relaxed 1802 if (ulle > ullx) 1803 ullx = ulle; 1804 #pragma omp atomic compare relaxed 1805 if (ulle < ullx) 1806 ullx = ulle; 1807 1808 #pragma omp atomic compare relaxed 1809 ullx = ullx == ulle ? ulld : ullx; 1810 #pragma omp atomic compare relaxed 1811 ullx = ulle == ullx ? ulld : ullx; 1812 #pragma omp atomic compare relaxed 1813 if (ullx == ulle) 1814 ullx = ulld; 1815 #pragma omp atomic compare relaxed 1816 if (ulle == ullx) 1817 ullx = ulld; 1818 1819 #pragma omp atomic compare release 1820 llx = llx > lle ? lle : llx; 1821 #pragma omp atomic compare release 1822 llx = llx < lle ? lle : llx; 1823 #pragma omp atomic compare release 1824 llx = lle > llx ? lle : llx; 1825 #pragma omp atomic compare release 1826 llx = lle < llx ? lle : llx; 1827 #pragma omp atomic compare release 1828 if (llx > lle) 1829 llx = lle; 1830 #pragma omp atomic compare release 1831 if (llx < lle) 1832 llx = lle; 1833 #pragma omp atomic compare release 1834 if (lle > llx) 1835 llx = lle; 1836 #pragma omp atomic compare release 1837 if (lle < llx) 1838 llx = lle; 1839 1840 #pragma omp atomic compare release 1841 llx = llx == lle ? lld : llx; 1842 #pragma omp atomic compare release 1843 llx = lle == llx ? lld : llx; 1844 #pragma omp atomic compare release 1845 if (llx == lle) 1846 llx = lld; 1847 #pragma omp atomic compare release 1848 if (lle == llx) 1849 llx = lld; 1850 1851 #pragma omp atomic compare release 1852 ullx = ullx > ulle ? ulle : ullx; 1853 #pragma omp atomic compare release 1854 ullx = ullx < ulle ? ulle : ullx; 1855 #pragma omp atomic compare release 1856 ullx = ulle > ullx ? ulle : ullx; 1857 #pragma omp atomic compare release 1858 ullx = ulle < ullx ? ulle : ullx; 1859 #pragma omp atomic compare release 1860 if (ullx > ulle) 1861 ullx = ulle; 1862 #pragma omp atomic compare release 1863 if (ullx < ulle) 1864 ullx = ulle; 1865 #pragma omp atomic compare release 1866 if (ulle > ullx) 1867 ullx = ulle; 1868 #pragma omp atomic compare release 1869 if (ulle < ullx) 1870 ullx = ulle; 1871 1872 #pragma omp atomic compare release 1873 ullx = ullx == ulle ? ulld : ullx; 1874 #pragma omp atomic compare release 1875 ullx = ulle == ullx ? ulld : ullx; 1876 #pragma omp atomic compare release 1877 if (ullx == ulle) 1878 ullx = ulld; 1879 #pragma omp atomic compare release 1880 if (ulle == ullx) 1881 ullx = ulld; 1882 1883 #pragma omp atomic compare seq_cst 1884 llx = llx > lle ? lle : llx; 1885 #pragma omp atomic compare seq_cst 1886 llx = llx < lle ? lle : llx; 1887 #pragma omp atomic compare seq_cst 1888 llx = lle > llx ? lle : llx; 1889 #pragma omp atomic compare seq_cst 1890 llx = lle < llx ? lle : llx; 1891 #pragma omp atomic compare seq_cst 1892 if (llx > lle) 1893 llx = lle; 1894 #pragma omp atomic compare seq_cst 1895 if (llx < lle) 1896 llx = lle; 1897 #pragma omp atomic compare seq_cst 1898 if (lle > llx) 1899 llx = lle; 1900 #pragma omp atomic compare seq_cst 1901 if (lle < llx) 1902 llx = lle; 1903 1904 #pragma omp atomic compare seq_cst 1905 llx = llx == lle ? lld : llx; 1906 #pragma omp atomic compare seq_cst 1907 llx = lle == llx ? lld : llx; 1908 #pragma omp atomic compare seq_cst 1909 if (llx == lle) 1910 llx = lld; 1911 #pragma omp atomic compare seq_cst 1912 if (lle == llx) 1913 llx = lld; 1914 1915 #pragma omp atomic compare seq_cst 1916 ullx = ullx > ulle ? ulle : ullx; 1917 #pragma omp atomic compare seq_cst 1918 ullx = ullx < ulle ? ulle : ullx; 1919 #pragma omp atomic compare seq_cst 1920 ullx = ulle > ullx ? ulle : ullx; 1921 #pragma omp atomic compare seq_cst 1922 ullx = ulle < ullx ? ulle : ullx; 1923 #pragma omp atomic compare seq_cst 1924 if (ullx > ulle) 1925 ullx = ulle; 1926 #pragma omp atomic compare seq_cst 1927 if (ullx < ulle) 1928 ullx = ulle; 1929 #pragma omp atomic compare seq_cst 1930 if (ulle > ullx) 1931 ullx = ulle; 1932 #pragma omp atomic compare seq_cst 1933 if (ulle < ullx) 1934 ullx = ulle; 1935 1936 #pragma omp atomic compare seq_cst 1937 ullx = ullx == ulle ? ulld : ullx; 1938 #pragma omp atomic compare seq_cst 1939 ullx = ulle == ullx ? ulld : ullx; 1940 #pragma omp atomic compare seq_cst 1941 if (ullx == ulle) 1942 ullx = ulld; 1943 #pragma omp atomic compare seq_cst 1944 if (ulle == ullx) 1945 ullx = ulld; 1946 } 1947 1948 void bar() { 1949 char cx, cv, cr, ce, cd; 1950 unsigned char ucx, ucv, ucr, uce, ucd; 1951 short sx, sv, sr, se, sd; 1952 unsigned short usx, usv, usr, use, usd; 1953 int ix, iv, ir, ie, id; 1954 unsigned int uix, uiv, uir, uie, uid; 1955 long lx, lv, lr, le, ld; 1956 unsigned long ulx, ulv, ulr, ule, uld; 1957 long long llx, llv, llr, lle, lld; 1958 unsigned long long ullx, ullv, ullr, ulle, ulld; 1959 1960 #pragma omp atomic compare capture 1961 { 1962 cv = cx; 1963 if (ce > cx) { 1964 cx = ce; 1965 } 1966 } 1967 #pragma omp atomic compare capture 1968 { 1969 cv = cx; 1970 if (cx > ce) { 1971 cx = ce; 1972 } 1973 } 1974 #pragma omp atomic compare capture 1975 { 1976 cv = cx; 1977 if (ce < cx) { 1978 cx = ce; 1979 } 1980 } 1981 #pragma omp atomic compare capture 1982 { 1983 cv = cx; 1984 if (cx < ce) { 1985 cx = ce; 1986 } 1987 } 1988 #pragma omp atomic compare capture 1989 { 1990 cv = cx; 1991 if (cx == ce) { 1992 cx = cd; 1993 } 1994 } 1995 #pragma omp atomic compare capture 1996 { 1997 cv = cx; 1998 if (ce == cx) { 1999 cx = cd; 2000 } 2001 } 2002 #pragma omp atomic compare capture 2003 { 2004 if (ce > cx) { 2005 cx = ce; 2006 } 2007 cv = cx; 2008 } 2009 #pragma omp atomic compare capture 2010 { 2011 if (cx > ce) { 2012 cx = ce; 2013 } 2014 cv = cx; 2015 } 2016 #pragma omp atomic compare capture 2017 { 2018 if (ce < cx) { 2019 cx = ce; 2020 } 2021 cv = cx; 2022 } 2023 #pragma omp atomic compare capture 2024 { 2025 if (cx < ce) { 2026 cx = ce; 2027 } 2028 cv = cx; 2029 } 2030 #pragma omp atomic compare capture 2031 { 2032 if (cx == ce) { 2033 cx = cd; 2034 } 2035 cv = cx; 2036 } 2037 #pragma omp atomic compare capture 2038 { 2039 if (ce == cx) { 2040 cx = cd; 2041 } 2042 cv = cx; 2043 } 2044 #pragma omp atomic compare capture 2045 if (cx == ce) { 2046 cx = cd; 2047 } else { 2048 cv = cx; 2049 } 2050 #pragma omp atomic compare capture 2051 if (ce == cx) { 2052 cx = cd; 2053 } else { 2054 cv = cx; 2055 } 2056 #pragma omp atomic compare capture 2057 { 2058 cr = cx == ce; 2059 if (cr) { 2060 cx = cd; 2061 } 2062 } 2063 #pragma omp atomic compare capture 2064 { 2065 cr = ce == cx; 2066 if (cr) { 2067 cx = cd; 2068 } 2069 } 2070 #pragma omp atomic compare capture 2071 { 2072 cr = cx == ce; 2073 if (cr) { 2074 cx = cd; 2075 } else { 2076 cv = cx; 2077 } 2078 } 2079 #pragma omp atomic compare capture 2080 { 2081 cr = ce == cx; 2082 if (cr) { 2083 cx = cd; 2084 } else { 2085 cv = cx; 2086 } 2087 } 2088 2089 #pragma omp atomic compare capture acq_rel 2090 { 2091 cv = cx; 2092 if (ce > cx) { 2093 cx = ce; 2094 } 2095 } 2096 #pragma omp atomic compare capture acq_rel 2097 { 2098 cv = cx; 2099 if (cx > ce) { 2100 cx = ce; 2101 } 2102 } 2103 #pragma omp atomic compare capture acq_rel 2104 { 2105 cv = cx; 2106 if (ce < cx) { 2107 cx = ce; 2108 } 2109 } 2110 #pragma omp atomic compare capture acq_rel 2111 { 2112 cv = cx; 2113 if (cx < ce) { 2114 cx = ce; 2115 } 2116 } 2117 #pragma omp atomic compare capture acq_rel 2118 { 2119 cv = cx; 2120 if (cx == ce) { 2121 cx = cd; 2122 } 2123 } 2124 #pragma omp atomic compare capture acq_rel 2125 { 2126 cv = cx; 2127 if (ce == cx) { 2128 cx = cd; 2129 } 2130 } 2131 #pragma omp atomic compare capture acq_rel 2132 { 2133 if (ce > cx) { 2134 cx = ce; 2135 } 2136 cv = cx; 2137 } 2138 #pragma omp atomic compare capture acq_rel 2139 { 2140 if (cx > ce) { 2141 cx = ce; 2142 } 2143 cv = cx; 2144 } 2145 #pragma omp atomic compare capture acq_rel 2146 { 2147 if (ce < cx) { 2148 cx = ce; 2149 } 2150 cv = cx; 2151 } 2152 #pragma omp atomic compare capture acq_rel 2153 { 2154 if (cx < ce) { 2155 cx = ce; 2156 } 2157 cv = cx; 2158 } 2159 #pragma omp atomic compare capture acq_rel 2160 { 2161 if (cx == ce) { 2162 cx = cd; 2163 } 2164 cv = cx; 2165 } 2166 #pragma omp atomic compare capture acq_rel 2167 { 2168 if (ce == cx) { 2169 cx = cd; 2170 } 2171 cv = cx; 2172 } 2173 #pragma omp atomic compare capture acq_rel 2174 if (cx == ce) { 2175 cx = cd; 2176 } else { 2177 cv = cx; 2178 } 2179 #pragma omp atomic compare capture acq_rel 2180 if (ce == cx) { 2181 cx = cd; 2182 } else { 2183 cv = cx; 2184 } 2185 #pragma omp atomic compare capture acq_rel 2186 { 2187 cr = cx == ce; 2188 if (cr) { 2189 cx = cd; 2190 } 2191 } 2192 #pragma omp atomic compare capture acq_rel 2193 { 2194 cr = ce == cx; 2195 if (cr) { 2196 cx = cd; 2197 } 2198 } 2199 #pragma omp atomic compare capture acq_rel 2200 { 2201 cr = cx == ce; 2202 if (cr) { 2203 cx = cd; 2204 } else { 2205 cv = cx; 2206 } 2207 } 2208 #pragma omp atomic compare capture acq_rel 2209 { 2210 cr = ce == cx; 2211 if (cr) { 2212 cx = cd; 2213 } else { 2214 cv = cx; 2215 } 2216 } 2217 2218 #pragma omp atomic compare capture acquire 2219 { 2220 cv = cx; 2221 if (ce > cx) { 2222 cx = ce; 2223 } 2224 } 2225 #pragma omp atomic compare capture acquire 2226 { 2227 cv = cx; 2228 if (cx > ce) { 2229 cx = ce; 2230 } 2231 } 2232 #pragma omp atomic compare capture acquire 2233 { 2234 cv = cx; 2235 if (ce < cx) { 2236 cx = ce; 2237 } 2238 } 2239 #pragma omp atomic compare capture acquire 2240 { 2241 cv = cx; 2242 if (cx < ce) { 2243 cx = ce; 2244 } 2245 } 2246 #pragma omp atomic compare capture acquire 2247 { 2248 cv = cx; 2249 if (cx == ce) { 2250 cx = cd; 2251 } 2252 } 2253 #pragma omp atomic compare capture acquire 2254 { 2255 cv = cx; 2256 if (ce == cx) { 2257 cx = cd; 2258 } 2259 } 2260 #pragma omp atomic compare capture acquire 2261 { 2262 if (ce > cx) { 2263 cx = ce; 2264 } 2265 cv = cx; 2266 } 2267 #pragma omp atomic compare capture acquire 2268 { 2269 if (cx > ce) { 2270 cx = ce; 2271 } 2272 cv = cx; 2273 } 2274 #pragma omp atomic compare capture acquire 2275 { 2276 if (ce < cx) { 2277 cx = ce; 2278 } 2279 cv = cx; 2280 } 2281 #pragma omp atomic compare capture acquire 2282 { 2283 if (cx < ce) { 2284 cx = ce; 2285 } 2286 cv = cx; 2287 } 2288 #pragma omp atomic compare capture acquire 2289 { 2290 if (cx == ce) { 2291 cx = cd; 2292 } 2293 cv = cx; 2294 } 2295 #pragma omp atomic compare capture acquire 2296 { 2297 if (ce == cx) { 2298 cx = cd; 2299 } 2300 cv = cx; 2301 } 2302 #pragma omp atomic compare capture acquire 2303 if (cx == ce) { 2304 cx = cd; 2305 } else { 2306 cv = cx; 2307 } 2308 #pragma omp atomic compare capture acquire 2309 if (ce == cx) { 2310 cx = cd; 2311 } else { 2312 cv = cx; 2313 } 2314 #pragma omp atomic compare capture acquire 2315 { 2316 cr = cx == ce; 2317 if (cr) { 2318 cx = cd; 2319 } 2320 } 2321 #pragma omp atomic compare capture acquire 2322 { 2323 cr = ce == cx; 2324 if (cr) { 2325 cx = cd; 2326 } 2327 } 2328 #pragma omp atomic compare capture acquire 2329 { 2330 cr = cx == ce; 2331 if (cr) { 2332 cx = cd; 2333 } else { 2334 cv = cx; 2335 } 2336 } 2337 #pragma omp atomic compare capture acquire 2338 { 2339 cr = ce == cx; 2340 if (cr) { 2341 cx = cd; 2342 } else { 2343 cv = cx; 2344 } 2345 } 2346 2347 #pragma omp atomic compare capture relaxed 2348 { 2349 cv = cx; 2350 if (ce > cx) { 2351 cx = ce; 2352 } 2353 } 2354 #pragma omp atomic compare capture relaxed 2355 { 2356 cv = cx; 2357 if (cx > ce) { 2358 cx = ce; 2359 } 2360 } 2361 #pragma omp atomic compare capture relaxed 2362 { 2363 cv = cx; 2364 if (ce < cx) { 2365 cx = ce; 2366 } 2367 } 2368 #pragma omp atomic compare capture relaxed 2369 { 2370 cv = cx; 2371 if (cx < ce) { 2372 cx = ce; 2373 } 2374 } 2375 #pragma omp atomic compare capture relaxed 2376 { 2377 cv = cx; 2378 if (cx == ce) { 2379 cx = cd; 2380 } 2381 } 2382 #pragma omp atomic compare capture relaxed 2383 { 2384 cv = cx; 2385 if (ce == cx) { 2386 cx = cd; 2387 } 2388 } 2389 #pragma omp atomic compare capture relaxed 2390 { 2391 if (ce > cx) { 2392 cx = ce; 2393 } 2394 cv = cx; 2395 } 2396 #pragma omp atomic compare capture relaxed 2397 { 2398 if (cx > ce) { 2399 cx = ce; 2400 } 2401 cv = cx; 2402 } 2403 #pragma omp atomic compare capture relaxed 2404 { 2405 if (ce < cx) { 2406 cx = ce; 2407 } 2408 cv = cx; 2409 } 2410 #pragma omp atomic compare capture relaxed 2411 { 2412 if (cx < ce) { 2413 cx = ce; 2414 } 2415 cv = cx; 2416 } 2417 #pragma omp atomic compare capture relaxed 2418 { 2419 if (cx == ce) { 2420 cx = cd; 2421 } 2422 cv = cx; 2423 } 2424 #pragma omp atomic compare capture relaxed 2425 { 2426 if (ce == cx) { 2427 cx = cd; 2428 } 2429 cv = cx; 2430 } 2431 #pragma omp atomic compare capture relaxed 2432 if (cx == ce) { 2433 cx = cd; 2434 } else { 2435 cv = cx; 2436 } 2437 #pragma omp atomic compare capture relaxed 2438 if (ce == cx) { 2439 cx = cd; 2440 } else { 2441 cv = cx; 2442 } 2443 #pragma omp atomic compare capture relaxed 2444 { 2445 cr = cx == ce; 2446 if (cr) { 2447 cx = cd; 2448 } 2449 } 2450 #pragma omp atomic compare capture relaxed 2451 { 2452 cr = ce == cx; 2453 if (cr) { 2454 cx = cd; 2455 } 2456 } 2457 #pragma omp atomic compare capture relaxed 2458 { 2459 cr = cx == ce; 2460 if (cr) { 2461 cx = cd; 2462 } else { 2463 cv = cx; 2464 } 2465 } 2466 #pragma omp atomic compare capture relaxed 2467 { 2468 cr = ce == cx; 2469 if (cr) { 2470 cx = cd; 2471 } else { 2472 cv = cx; 2473 } 2474 } 2475 2476 #pragma omp atomic compare capture release 2477 { 2478 cv = cx; 2479 if (ce > cx) { 2480 cx = ce; 2481 } 2482 } 2483 #pragma omp atomic compare capture release 2484 { 2485 cv = cx; 2486 if (cx > ce) { 2487 cx = ce; 2488 } 2489 } 2490 #pragma omp atomic compare capture release 2491 { 2492 cv = cx; 2493 if (ce < cx) { 2494 cx = ce; 2495 } 2496 } 2497 #pragma omp atomic compare capture release 2498 { 2499 cv = cx; 2500 if (cx < ce) { 2501 cx = ce; 2502 } 2503 } 2504 #pragma omp atomic compare capture release 2505 { 2506 cv = cx; 2507 if (cx == ce) { 2508 cx = cd; 2509 } 2510 } 2511 #pragma omp atomic compare capture release 2512 { 2513 cv = cx; 2514 if (ce == cx) { 2515 cx = cd; 2516 } 2517 } 2518 #pragma omp atomic compare capture release 2519 { 2520 if (ce > cx) { 2521 cx = ce; 2522 } 2523 cv = cx; 2524 } 2525 #pragma omp atomic compare capture release 2526 { 2527 if (cx > ce) { 2528 cx = ce; 2529 } 2530 cv = cx; 2531 } 2532 #pragma omp atomic compare capture release 2533 { 2534 if (ce < cx) { 2535 cx = ce; 2536 } 2537 cv = cx; 2538 } 2539 #pragma omp atomic compare capture release 2540 { 2541 if (cx < ce) { 2542 cx = ce; 2543 } 2544 cv = cx; 2545 } 2546 #pragma omp atomic compare capture release 2547 { 2548 if (cx == ce) { 2549 cx = cd; 2550 } 2551 cv = cx; 2552 } 2553 #pragma omp atomic compare capture release 2554 { 2555 if (ce == cx) { 2556 cx = cd; 2557 } 2558 cv = cx; 2559 } 2560 #pragma omp atomic compare capture release 2561 if (cx == ce) { 2562 cx = cd; 2563 } else { 2564 cv = cx; 2565 } 2566 #pragma omp atomic compare capture release 2567 if (ce == cx) { 2568 cx = cd; 2569 } else { 2570 cv = cx; 2571 } 2572 #pragma omp atomic compare capture release 2573 { 2574 cr = cx == ce; 2575 if (cr) { 2576 cx = cd; 2577 } 2578 } 2579 #pragma omp atomic compare capture release 2580 { 2581 cr = ce == cx; 2582 if (cr) { 2583 cx = cd; 2584 } 2585 } 2586 #pragma omp atomic compare capture release 2587 { 2588 cr = cx == ce; 2589 if (cr) { 2590 cx = cd; 2591 } else { 2592 cv = cx; 2593 } 2594 } 2595 #pragma omp atomic compare capture release 2596 { 2597 cr = ce == cx; 2598 if (cr) { 2599 cx = cd; 2600 } else { 2601 cv = cx; 2602 } 2603 } 2604 2605 #pragma omp atomic compare capture seq_cst 2606 { 2607 cv = cx; 2608 if (ce > cx) { 2609 cx = ce; 2610 } 2611 } 2612 #pragma omp atomic compare capture seq_cst 2613 { 2614 cv = cx; 2615 if (cx > ce) { 2616 cx = ce; 2617 } 2618 } 2619 #pragma omp atomic compare capture seq_cst 2620 { 2621 cv = cx; 2622 if (ce < cx) { 2623 cx = ce; 2624 } 2625 } 2626 #pragma omp atomic compare capture seq_cst 2627 { 2628 cv = cx; 2629 if (cx < ce) { 2630 cx = ce; 2631 } 2632 } 2633 #pragma omp atomic compare capture seq_cst 2634 { 2635 cv = cx; 2636 if (cx == ce) { 2637 cx = cd; 2638 } 2639 } 2640 #pragma omp atomic compare capture seq_cst 2641 { 2642 cv = cx; 2643 if (ce == cx) { 2644 cx = cd; 2645 } 2646 } 2647 #pragma omp atomic compare capture seq_cst 2648 { 2649 if (ce > cx) { 2650 cx = ce; 2651 } 2652 cv = cx; 2653 } 2654 #pragma omp atomic compare capture seq_cst 2655 { 2656 if (cx > ce) { 2657 cx = ce; 2658 } 2659 cv = cx; 2660 } 2661 #pragma omp atomic compare capture seq_cst 2662 { 2663 if (ce < cx) { 2664 cx = ce; 2665 } 2666 cv = cx; 2667 } 2668 #pragma omp atomic compare capture seq_cst 2669 { 2670 if (cx < ce) { 2671 cx = ce; 2672 } 2673 cv = cx; 2674 } 2675 #pragma omp atomic compare capture seq_cst 2676 { 2677 if (cx == ce) { 2678 cx = cd; 2679 } 2680 cv = cx; 2681 } 2682 #pragma omp atomic compare capture seq_cst 2683 { 2684 if (ce == cx) { 2685 cx = cd; 2686 } 2687 cv = cx; 2688 } 2689 #pragma omp atomic compare capture seq_cst 2690 if (cx == ce) { 2691 cx = cd; 2692 } else { 2693 cv = cx; 2694 } 2695 #pragma omp atomic compare capture seq_cst 2696 if (ce == cx) { 2697 cx = cd; 2698 } else { 2699 cv = cx; 2700 } 2701 #pragma omp atomic compare capture seq_cst 2702 { 2703 cr = cx == ce; 2704 if (cr) { 2705 cx = cd; 2706 } 2707 } 2708 #pragma omp atomic compare capture seq_cst 2709 { 2710 cr = ce == cx; 2711 if (cr) { 2712 cx = cd; 2713 } 2714 } 2715 #pragma omp atomic compare capture seq_cst 2716 { 2717 cr = cx == ce; 2718 if (cr) { 2719 cx = cd; 2720 } else { 2721 cv = cx; 2722 } 2723 } 2724 #pragma omp atomic compare capture seq_cst 2725 { 2726 cr = ce == cx; 2727 if (cr) { 2728 cx = cd; 2729 } else { 2730 cv = cx; 2731 } 2732 } 2733 2734 #pragma omp atomic compare capture 2735 { 2736 ucv = ucx; 2737 if (uce > ucx) { 2738 ucx = uce; 2739 } 2740 } 2741 #pragma omp atomic compare capture 2742 { 2743 ucv = ucx; 2744 if (ucx > uce) { 2745 ucx = uce; 2746 } 2747 } 2748 #pragma omp atomic compare capture 2749 { 2750 ucv = ucx; 2751 if (uce < ucx) { 2752 ucx = uce; 2753 } 2754 } 2755 #pragma omp atomic compare capture 2756 { 2757 ucv = ucx; 2758 if (ucx < uce) { 2759 ucx = uce; 2760 } 2761 } 2762 #pragma omp atomic compare capture 2763 { 2764 ucv = ucx; 2765 if (ucx == uce) { 2766 ucx = ucd; 2767 } 2768 } 2769 #pragma omp atomic compare capture 2770 { 2771 ucv = ucx; 2772 if (uce == ucx) { 2773 ucx = ucd; 2774 } 2775 } 2776 #pragma omp atomic compare capture 2777 { 2778 if (uce > ucx) { 2779 ucx = uce; 2780 } 2781 ucv = ucx; 2782 } 2783 #pragma omp atomic compare capture 2784 { 2785 if (ucx > uce) { 2786 ucx = uce; 2787 } 2788 ucv = ucx; 2789 } 2790 #pragma omp atomic compare capture 2791 { 2792 if (uce < ucx) { 2793 ucx = uce; 2794 } 2795 ucv = ucx; 2796 } 2797 #pragma omp atomic compare capture 2798 { 2799 if (ucx < uce) { 2800 ucx = uce; 2801 } 2802 ucv = ucx; 2803 } 2804 #pragma omp atomic compare capture 2805 { 2806 if (ucx == uce) { 2807 ucx = ucd; 2808 } 2809 ucv = ucx; 2810 } 2811 #pragma omp atomic compare capture 2812 { 2813 if (uce == ucx) { 2814 ucx = ucd; 2815 } 2816 ucv = ucx; 2817 } 2818 #pragma omp atomic compare capture 2819 if (ucx == uce) { 2820 ucx = ucd; 2821 } else { 2822 ucv = ucx; 2823 } 2824 #pragma omp atomic compare capture 2825 if (uce == ucx) { 2826 ucx = ucd; 2827 } else { 2828 ucv = ucx; 2829 } 2830 #pragma omp atomic compare capture 2831 { 2832 ucr = ucx == uce; 2833 if (ucr) { 2834 ucx = ucd; 2835 } 2836 } 2837 #pragma omp atomic compare capture 2838 { 2839 ucr = uce == ucx; 2840 if (ucr) { 2841 ucx = ucd; 2842 } 2843 } 2844 #pragma omp atomic compare capture 2845 { 2846 ucr = ucx == uce; 2847 if (ucr) { 2848 ucx = ucd; 2849 } else { 2850 ucv = ucx; 2851 } 2852 } 2853 #pragma omp atomic compare capture 2854 { 2855 ucr = uce == ucx; 2856 if (ucr) { 2857 ucx = ucd; 2858 } else { 2859 ucv = ucx; 2860 } 2861 } 2862 2863 #pragma omp atomic compare capture acq_rel 2864 { 2865 ucv = ucx; 2866 if (uce > ucx) { 2867 ucx = uce; 2868 } 2869 } 2870 #pragma omp atomic compare capture acq_rel 2871 { 2872 ucv = ucx; 2873 if (ucx > uce) { 2874 ucx = uce; 2875 } 2876 } 2877 #pragma omp atomic compare capture acq_rel 2878 { 2879 ucv = ucx; 2880 if (uce < ucx) { 2881 ucx = uce; 2882 } 2883 } 2884 #pragma omp atomic compare capture acq_rel 2885 { 2886 ucv = ucx; 2887 if (ucx < uce) { 2888 ucx = uce; 2889 } 2890 } 2891 #pragma omp atomic compare capture acq_rel 2892 { 2893 ucv = ucx; 2894 if (ucx == uce) { 2895 ucx = ucd; 2896 } 2897 } 2898 #pragma omp atomic compare capture acq_rel 2899 { 2900 ucv = ucx; 2901 if (uce == ucx) { 2902 ucx = ucd; 2903 } 2904 } 2905 #pragma omp atomic compare capture acq_rel 2906 { 2907 if (uce > ucx) { 2908 ucx = uce; 2909 } 2910 ucv = ucx; 2911 } 2912 #pragma omp atomic compare capture acq_rel 2913 { 2914 if (ucx > uce) { 2915 ucx = uce; 2916 } 2917 ucv = ucx; 2918 } 2919 #pragma omp atomic compare capture acq_rel 2920 { 2921 if (uce < ucx) { 2922 ucx = uce; 2923 } 2924 ucv = ucx; 2925 } 2926 #pragma omp atomic compare capture acq_rel 2927 { 2928 if (ucx < uce) { 2929 ucx = uce; 2930 } 2931 ucv = ucx; 2932 } 2933 #pragma omp atomic compare capture acq_rel 2934 { 2935 if (ucx == uce) { 2936 ucx = ucd; 2937 } 2938 ucv = ucx; 2939 } 2940 #pragma omp atomic compare capture acq_rel 2941 { 2942 if (uce == ucx) { 2943 ucx = ucd; 2944 } 2945 ucv = ucx; 2946 } 2947 #pragma omp atomic compare capture acq_rel 2948 if (ucx == uce) { 2949 ucx = ucd; 2950 } else { 2951 ucv = ucx; 2952 } 2953 #pragma omp atomic compare capture acq_rel 2954 if (uce == ucx) { 2955 ucx = ucd; 2956 } else { 2957 ucv = ucx; 2958 } 2959 #pragma omp atomic compare capture acq_rel 2960 { 2961 ucr = ucx == uce; 2962 if (ucr) { 2963 ucx = ucd; 2964 } 2965 } 2966 #pragma omp atomic compare capture acq_rel 2967 { 2968 ucr = uce == ucx; 2969 if (ucr) { 2970 ucx = ucd; 2971 } 2972 } 2973 #pragma omp atomic compare capture acq_rel 2974 { 2975 ucr = ucx == uce; 2976 if (ucr) { 2977 ucx = ucd; 2978 } else { 2979 ucv = ucx; 2980 } 2981 } 2982 #pragma omp atomic compare capture acq_rel 2983 { 2984 ucr = uce == ucx; 2985 if (ucr) { 2986 ucx = ucd; 2987 } else { 2988 ucv = ucx; 2989 } 2990 } 2991 2992 #pragma omp atomic compare capture acquire 2993 { 2994 ucv = ucx; 2995 if (uce > ucx) { 2996 ucx = uce; 2997 } 2998 } 2999 #pragma omp atomic compare capture acquire 3000 { 3001 ucv = ucx; 3002 if (ucx > uce) { 3003 ucx = uce; 3004 } 3005 } 3006 #pragma omp atomic compare capture acquire 3007 { 3008 ucv = ucx; 3009 if (uce < ucx) { 3010 ucx = uce; 3011 } 3012 } 3013 #pragma omp atomic compare capture acquire 3014 { 3015 ucv = ucx; 3016 if (ucx < uce) { 3017 ucx = uce; 3018 } 3019 } 3020 #pragma omp atomic compare capture acquire 3021 { 3022 ucv = ucx; 3023 if (ucx == uce) { 3024 ucx = ucd; 3025 } 3026 } 3027 #pragma omp atomic compare capture acquire 3028 { 3029 ucv = ucx; 3030 if (uce == ucx) { 3031 ucx = ucd; 3032 } 3033 } 3034 #pragma omp atomic compare capture acquire 3035 { 3036 if (uce > ucx) { 3037 ucx = uce; 3038 } 3039 ucv = ucx; 3040 } 3041 #pragma omp atomic compare capture acquire 3042 { 3043 if (ucx > uce) { 3044 ucx = uce; 3045 } 3046 ucv = ucx; 3047 } 3048 #pragma omp atomic compare capture acquire 3049 { 3050 if (uce < ucx) { 3051 ucx = uce; 3052 } 3053 ucv = ucx; 3054 } 3055 #pragma omp atomic compare capture acquire 3056 { 3057 if (ucx < uce) { 3058 ucx = uce; 3059 } 3060 ucv = ucx; 3061 } 3062 #pragma omp atomic compare capture acquire 3063 { 3064 if (ucx == uce) { 3065 ucx = ucd; 3066 } 3067 ucv = ucx; 3068 } 3069 #pragma omp atomic compare capture acquire 3070 { 3071 if (uce == ucx) { 3072 ucx = ucd; 3073 } 3074 ucv = ucx; 3075 } 3076 #pragma omp atomic compare capture acquire 3077 if (ucx == uce) { 3078 ucx = ucd; 3079 } else { 3080 ucv = ucx; 3081 } 3082 #pragma omp atomic compare capture acquire 3083 if (uce == ucx) { 3084 ucx = ucd; 3085 } else { 3086 ucv = ucx; 3087 } 3088 #pragma omp atomic compare capture acquire 3089 { 3090 ucr = ucx == uce; 3091 if (ucr) { 3092 ucx = ucd; 3093 } 3094 } 3095 #pragma omp atomic compare capture acquire 3096 { 3097 ucr = uce == ucx; 3098 if (ucr) { 3099 ucx = ucd; 3100 } 3101 } 3102 #pragma omp atomic compare capture acquire 3103 { 3104 ucr = ucx == uce; 3105 if (ucr) { 3106 ucx = ucd; 3107 } else { 3108 ucv = ucx; 3109 } 3110 } 3111 #pragma omp atomic compare capture acquire 3112 { 3113 ucr = uce == ucx; 3114 if (ucr) { 3115 ucx = ucd; 3116 } else { 3117 ucv = ucx; 3118 } 3119 } 3120 3121 #pragma omp atomic compare capture relaxed 3122 { 3123 ucv = ucx; 3124 if (uce > ucx) { 3125 ucx = uce; 3126 } 3127 } 3128 #pragma omp atomic compare capture relaxed 3129 { 3130 ucv = ucx; 3131 if (ucx > uce) { 3132 ucx = uce; 3133 } 3134 } 3135 #pragma omp atomic compare capture relaxed 3136 { 3137 ucv = ucx; 3138 if (uce < ucx) { 3139 ucx = uce; 3140 } 3141 } 3142 #pragma omp atomic compare capture relaxed 3143 { 3144 ucv = ucx; 3145 if (ucx < uce) { 3146 ucx = uce; 3147 } 3148 } 3149 #pragma omp atomic compare capture relaxed 3150 { 3151 ucv = ucx; 3152 if (ucx == uce) { 3153 ucx = ucd; 3154 } 3155 } 3156 #pragma omp atomic compare capture relaxed 3157 { 3158 ucv = ucx; 3159 if (uce == ucx) { 3160 ucx = ucd; 3161 } 3162 } 3163 #pragma omp atomic compare capture relaxed 3164 { 3165 if (uce > ucx) { 3166 ucx = uce; 3167 } 3168 ucv = ucx; 3169 } 3170 #pragma omp atomic compare capture relaxed 3171 { 3172 if (ucx > uce) { 3173 ucx = uce; 3174 } 3175 ucv = ucx; 3176 } 3177 #pragma omp atomic compare capture relaxed 3178 { 3179 if (uce < ucx) { 3180 ucx = uce; 3181 } 3182 ucv = ucx; 3183 } 3184 #pragma omp atomic compare capture relaxed 3185 { 3186 if (ucx < uce) { 3187 ucx = uce; 3188 } 3189 ucv = ucx; 3190 } 3191 #pragma omp atomic compare capture relaxed 3192 { 3193 if (ucx == uce) { 3194 ucx = ucd; 3195 } 3196 ucv = ucx; 3197 } 3198 #pragma omp atomic compare capture relaxed 3199 { 3200 if (uce == ucx) { 3201 ucx = ucd; 3202 } 3203 ucv = ucx; 3204 } 3205 #pragma omp atomic compare capture relaxed 3206 if (ucx == uce) { 3207 ucx = ucd; 3208 } else { 3209 ucv = ucx; 3210 } 3211 #pragma omp atomic compare capture relaxed 3212 if (uce == ucx) { 3213 ucx = ucd; 3214 } else { 3215 ucv = ucx; 3216 } 3217 #pragma omp atomic compare capture relaxed 3218 { 3219 ucr = ucx == uce; 3220 if (ucr) { 3221 ucx = ucd; 3222 } 3223 } 3224 #pragma omp atomic compare capture relaxed 3225 { 3226 ucr = uce == ucx; 3227 if (ucr) { 3228 ucx = ucd; 3229 } 3230 } 3231 #pragma omp atomic compare capture relaxed 3232 { 3233 ucr = ucx == uce; 3234 if (ucr) { 3235 ucx = ucd; 3236 } else { 3237 ucv = ucx; 3238 } 3239 } 3240 #pragma omp atomic compare capture relaxed 3241 { 3242 ucr = uce == ucx; 3243 if (ucr) { 3244 ucx = ucd; 3245 } else { 3246 ucv = ucx; 3247 } 3248 } 3249 3250 #pragma omp atomic compare capture release 3251 { 3252 ucv = ucx; 3253 if (uce > ucx) { 3254 ucx = uce; 3255 } 3256 } 3257 #pragma omp atomic compare capture release 3258 { 3259 ucv = ucx; 3260 if (ucx > uce) { 3261 ucx = uce; 3262 } 3263 } 3264 #pragma omp atomic compare capture release 3265 { 3266 ucv = ucx; 3267 if (uce < ucx) { 3268 ucx = uce; 3269 } 3270 } 3271 #pragma omp atomic compare capture release 3272 { 3273 ucv = ucx; 3274 if (ucx < uce) { 3275 ucx = uce; 3276 } 3277 } 3278 #pragma omp atomic compare capture release 3279 { 3280 ucv = ucx; 3281 if (ucx == uce) { 3282 ucx = ucd; 3283 } 3284 } 3285 #pragma omp atomic compare capture release 3286 { 3287 ucv = ucx; 3288 if (uce == ucx) { 3289 ucx = ucd; 3290 } 3291 } 3292 #pragma omp atomic compare capture release 3293 { 3294 if (uce > ucx) { 3295 ucx = uce; 3296 } 3297 ucv = ucx; 3298 } 3299 #pragma omp atomic compare capture release 3300 { 3301 if (ucx > uce) { 3302 ucx = uce; 3303 } 3304 ucv = ucx; 3305 } 3306 #pragma omp atomic compare capture release 3307 { 3308 if (uce < ucx) { 3309 ucx = uce; 3310 } 3311 ucv = ucx; 3312 } 3313 #pragma omp atomic compare capture release 3314 { 3315 if (ucx < uce) { 3316 ucx = uce; 3317 } 3318 ucv = ucx; 3319 } 3320 #pragma omp atomic compare capture release 3321 { 3322 if (ucx == uce) { 3323 ucx = ucd; 3324 } 3325 ucv = ucx; 3326 } 3327 #pragma omp atomic compare capture release 3328 { 3329 if (uce == ucx) { 3330 ucx = ucd; 3331 } 3332 ucv = ucx; 3333 } 3334 #pragma omp atomic compare capture release 3335 if (ucx == uce) { 3336 ucx = ucd; 3337 } else { 3338 ucv = ucx; 3339 } 3340 #pragma omp atomic compare capture release 3341 if (uce == ucx) { 3342 ucx = ucd; 3343 } else { 3344 ucv = ucx; 3345 } 3346 #pragma omp atomic compare capture release 3347 { 3348 ucr = ucx == uce; 3349 if (ucr) { 3350 ucx = ucd; 3351 } 3352 } 3353 #pragma omp atomic compare capture release 3354 { 3355 ucr = uce == ucx; 3356 if (ucr) { 3357 ucx = ucd; 3358 } 3359 } 3360 #pragma omp atomic compare capture release 3361 { 3362 ucr = ucx == uce; 3363 if (ucr) { 3364 ucx = ucd; 3365 } else { 3366 ucv = ucx; 3367 } 3368 } 3369 #pragma omp atomic compare capture release 3370 { 3371 ucr = uce == ucx; 3372 if (ucr) { 3373 ucx = ucd; 3374 } else { 3375 ucv = ucx; 3376 } 3377 } 3378 3379 #pragma omp atomic compare capture seq_cst 3380 { 3381 ucv = ucx; 3382 if (uce > ucx) { 3383 ucx = uce; 3384 } 3385 } 3386 #pragma omp atomic compare capture seq_cst 3387 { 3388 ucv = ucx; 3389 if (ucx > uce) { 3390 ucx = uce; 3391 } 3392 } 3393 #pragma omp atomic compare capture seq_cst 3394 { 3395 ucv = ucx; 3396 if (uce < ucx) { 3397 ucx = uce; 3398 } 3399 } 3400 #pragma omp atomic compare capture seq_cst 3401 { 3402 ucv = ucx; 3403 if (ucx < uce) { 3404 ucx = uce; 3405 } 3406 } 3407 #pragma omp atomic compare capture seq_cst 3408 { 3409 ucv = ucx; 3410 if (ucx == uce) { 3411 ucx = ucd; 3412 } 3413 } 3414 #pragma omp atomic compare capture seq_cst 3415 { 3416 ucv = ucx; 3417 if (uce == ucx) { 3418 ucx = ucd; 3419 } 3420 } 3421 #pragma omp atomic compare capture seq_cst 3422 { 3423 if (uce > ucx) { 3424 ucx = uce; 3425 } 3426 ucv = ucx; 3427 } 3428 #pragma omp atomic compare capture seq_cst 3429 { 3430 if (ucx > uce) { 3431 ucx = uce; 3432 } 3433 ucv = ucx; 3434 } 3435 #pragma omp atomic compare capture seq_cst 3436 { 3437 if (uce < ucx) { 3438 ucx = uce; 3439 } 3440 ucv = ucx; 3441 } 3442 #pragma omp atomic compare capture seq_cst 3443 { 3444 if (ucx < uce) { 3445 ucx = uce; 3446 } 3447 ucv = ucx; 3448 } 3449 #pragma omp atomic compare capture seq_cst 3450 { 3451 if (ucx == uce) { 3452 ucx = ucd; 3453 } 3454 ucv = ucx; 3455 } 3456 #pragma omp atomic compare capture seq_cst 3457 { 3458 if (uce == ucx) { 3459 ucx = ucd; 3460 } 3461 ucv = ucx; 3462 } 3463 #pragma omp atomic compare capture seq_cst 3464 if (ucx == uce) { 3465 ucx = ucd; 3466 } else { 3467 ucv = ucx; 3468 } 3469 #pragma omp atomic compare capture seq_cst 3470 if (uce == ucx) { 3471 ucx = ucd; 3472 } else { 3473 ucv = ucx; 3474 } 3475 #pragma omp atomic compare capture seq_cst 3476 { 3477 ucr = ucx == uce; 3478 if (ucr) { 3479 ucx = ucd; 3480 } 3481 } 3482 #pragma omp atomic compare capture seq_cst 3483 { 3484 ucr = uce == ucx; 3485 if (ucr) { 3486 ucx = ucd; 3487 } 3488 } 3489 #pragma omp atomic compare capture seq_cst 3490 { 3491 ucr = ucx == uce; 3492 if (ucr) { 3493 ucx = ucd; 3494 } else { 3495 ucv = ucx; 3496 } 3497 } 3498 #pragma omp atomic compare capture seq_cst 3499 { 3500 ucr = uce == ucx; 3501 if (ucr) { 3502 ucx = ucd; 3503 } else { 3504 ucv = ucx; 3505 } 3506 } 3507 3508 #pragma omp atomic compare capture 3509 { 3510 sv = sx; 3511 if (se > sx) { 3512 sx = se; 3513 } 3514 } 3515 #pragma omp atomic compare capture 3516 { 3517 sv = sx; 3518 if (sx > se) { 3519 sx = se; 3520 } 3521 } 3522 #pragma omp atomic compare capture 3523 { 3524 sv = sx; 3525 if (se < sx) { 3526 sx = se; 3527 } 3528 } 3529 #pragma omp atomic compare capture 3530 { 3531 sv = sx; 3532 if (sx < se) { 3533 sx = se; 3534 } 3535 } 3536 #pragma omp atomic compare capture 3537 { 3538 sv = sx; 3539 if (sx == se) { 3540 sx = sd; 3541 } 3542 } 3543 #pragma omp atomic compare capture 3544 { 3545 sv = sx; 3546 if (se == sx) { 3547 sx = sd; 3548 } 3549 } 3550 #pragma omp atomic compare capture 3551 { 3552 if (se > sx) { 3553 sx = se; 3554 } 3555 sv = sx; 3556 } 3557 #pragma omp atomic compare capture 3558 { 3559 if (sx > se) { 3560 sx = se; 3561 } 3562 sv = sx; 3563 } 3564 #pragma omp atomic compare capture 3565 { 3566 if (se < sx) { 3567 sx = se; 3568 } 3569 sv = sx; 3570 } 3571 #pragma omp atomic compare capture 3572 { 3573 if (sx < se) { 3574 sx = se; 3575 } 3576 sv = sx; 3577 } 3578 #pragma omp atomic compare capture 3579 { 3580 if (sx == se) { 3581 sx = sd; 3582 } 3583 sv = sx; 3584 } 3585 #pragma omp atomic compare capture 3586 { 3587 if (se == sx) { 3588 sx = sd; 3589 } 3590 sv = sx; 3591 } 3592 #pragma omp atomic compare capture 3593 if (sx == se) { 3594 sx = sd; 3595 } else { 3596 sv = sx; 3597 } 3598 #pragma omp atomic compare capture 3599 if (se == sx) { 3600 sx = sd; 3601 } else { 3602 sv = sx; 3603 } 3604 #pragma omp atomic compare capture 3605 { 3606 sr = sx == se; 3607 if (sr) { 3608 sx = sd; 3609 } 3610 } 3611 #pragma omp atomic compare capture 3612 { 3613 sr = se == sx; 3614 if (sr) { 3615 sx = sd; 3616 } 3617 } 3618 #pragma omp atomic compare capture 3619 { 3620 sr = sx == se; 3621 if (sr) { 3622 sx = sd; 3623 } else { 3624 sv = sx; 3625 } 3626 } 3627 #pragma omp atomic compare capture 3628 { 3629 sr = se == sx; 3630 if (sr) { 3631 sx = sd; 3632 } else { 3633 sv = sx; 3634 } 3635 } 3636 3637 #pragma omp atomic compare capture acq_rel 3638 { 3639 sv = sx; 3640 if (se > sx) { 3641 sx = se; 3642 } 3643 } 3644 #pragma omp atomic compare capture acq_rel 3645 { 3646 sv = sx; 3647 if (sx > se) { 3648 sx = se; 3649 } 3650 } 3651 #pragma omp atomic compare capture acq_rel 3652 { 3653 sv = sx; 3654 if (se < sx) { 3655 sx = se; 3656 } 3657 } 3658 #pragma omp atomic compare capture acq_rel 3659 { 3660 sv = sx; 3661 if (sx < se) { 3662 sx = se; 3663 } 3664 } 3665 #pragma omp atomic compare capture acq_rel 3666 { 3667 sv = sx; 3668 if (sx == se) { 3669 sx = sd; 3670 } 3671 } 3672 #pragma omp atomic compare capture acq_rel 3673 { 3674 sv = sx; 3675 if (se == sx) { 3676 sx = sd; 3677 } 3678 } 3679 #pragma omp atomic compare capture acq_rel 3680 { 3681 if (se > sx) { 3682 sx = se; 3683 } 3684 sv = sx; 3685 } 3686 #pragma omp atomic compare capture acq_rel 3687 { 3688 if (sx > se) { 3689 sx = se; 3690 } 3691 sv = sx; 3692 } 3693 #pragma omp atomic compare capture acq_rel 3694 { 3695 if (se < sx) { 3696 sx = se; 3697 } 3698 sv = sx; 3699 } 3700 #pragma omp atomic compare capture acq_rel 3701 { 3702 if (sx < se) { 3703 sx = se; 3704 } 3705 sv = sx; 3706 } 3707 #pragma omp atomic compare capture acq_rel 3708 { 3709 if (sx == se) { 3710 sx = sd; 3711 } 3712 sv = sx; 3713 } 3714 #pragma omp atomic compare capture acq_rel 3715 { 3716 if (se == sx) { 3717 sx = sd; 3718 } 3719 sv = sx; 3720 } 3721 #pragma omp atomic compare capture acq_rel 3722 if (sx == se) { 3723 sx = sd; 3724 } else { 3725 sv = sx; 3726 } 3727 #pragma omp atomic compare capture acq_rel 3728 if (se == sx) { 3729 sx = sd; 3730 } else { 3731 sv = sx; 3732 } 3733 #pragma omp atomic compare capture acq_rel 3734 { 3735 sr = sx == se; 3736 if (sr) { 3737 sx = sd; 3738 } 3739 } 3740 #pragma omp atomic compare capture acq_rel 3741 { 3742 sr = se == sx; 3743 if (sr) { 3744 sx = sd; 3745 } 3746 } 3747 #pragma omp atomic compare capture acq_rel 3748 { 3749 sr = sx == se; 3750 if (sr) { 3751 sx = sd; 3752 } else { 3753 sv = sx; 3754 } 3755 } 3756 #pragma omp atomic compare capture acq_rel 3757 { 3758 sr = se == sx; 3759 if (sr) { 3760 sx = sd; 3761 } else { 3762 sv = sx; 3763 } 3764 } 3765 3766 #pragma omp atomic compare capture acquire 3767 { 3768 sv = sx; 3769 if (se > sx) { 3770 sx = se; 3771 } 3772 } 3773 #pragma omp atomic compare capture acquire 3774 { 3775 sv = sx; 3776 if (sx > se) { 3777 sx = se; 3778 } 3779 } 3780 #pragma omp atomic compare capture acquire 3781 { 3782 sv = sx; 3783 if (se < sx) { 3784 sx = se; 3785 } 3786 } 3787 #pragma omp atomic compare capture acquire 3788 { 3789 sv = sx; 3790 if (sx < se) { 3791 sx = se; 3792 } 3793 } 3794 #pragma omp atomic compare capture acquire 3795 { 3796 sv = sx; 3797 if (sx == se) { 3798 sx = sd; 3799 } 3800 } 3801 #pragma omp atomic compare capture acquire 3802 { 3803 sv = sx; 3804 if (se == sx) { 3805 sx = sd; 3806 } 3807 } 3808 #pragma omp atomic compare capture acquire 3809 { 3810 if (se > sx) { 3811 sx = se; 3812 } 3813 sv = sx; 3814 } 3815 #pragma omp atomic compare capture acquire 3816 { 3817 if (sx > se) { 3818 sx = se; 3819 } 3820 sv = sx; 3821 } 3822 #pragma omp atomic compare capture acquire 3823 { 3824 if (se < sx) { 3825 sx = se; 3826 } 3827 sv = sx; 3828 } 3829 #pragma omp atomic compare capture acquire 3830 { 3831 if (sx < se) { 3832 sx = se; 3833 } 3834 sv = sx; 3835 } 3836 #pragma omp atomic compare capture acquire 3837 { 3838 if (sx == se) { 3839 sx = sd; 3840 } 3841 sv = sx; 3842 } 3843 #pragma omp atomic compare capture acquire 3844 { 3845 if (se == sx) { 3846 sx = sd; 3847 } 3848 sv = sx; 3849 } 3850 #pragma omp atomic compare capture acquire 3851 if (sx == se) { 3852 sx = sd; 3853 } else { 3854 sv = sx; 3855 } 3856 #pragma omp atomic compare capture acquire 3857 if (se == sx) { 3858 sx = sd; 3859 } else { 3860 sv = sx; 3861 } 3862 #pragma omp atomic compare capture acquire 3863 { 3864 sr = sx == se; 3865 if (sr) { 3866 sx = sd; 3867 } 3868 } 3869 #pragma omp atomic compare capture acquire 3870 { 3871 sr = se == sx; 3872 if (sr) { 3873 sx = sd; 3874 } 3875 } 3876 #pragma omp atomic compare capture acquire 3877 { 3878 sr = sx == se; 3879 if (sr) { 3880 sx = sd; 3881 } else { 3882 sv = sx; 3883 } 3884 } 3885 #pragma omp atomic compare capture acquire 3886 { 3887 sr = se == sx; 3888 if (sr) { 3889 sx = sd; 3890 } else { 3891 sv = sx; 3892 } 3893 } 3894 3895 #pragma omp atomic compare capture relaxed 3896 { 3897 sv = sx; 3898 if (se > sx) { 3899 sx = se; 3900 } 3901 } 3902 #pragma omp atomic compare capture relaxed 3903 { 3904 sv = sx; 3905 if (sx > se) { 3906 sx = se; 3907 } 3908 } 3909 #pragma omp atomic compare capture relaxed 3910 { 3911 sv = sx; 3912 if (se < sx) { 3913 sx = se; 3914 } 3915 } 3916 #pragma omp atomic compare capture relaxed 3917 { 3918 sv = sx; 3919 if (sx < se) { 3920 sx = se; 3921 } 3922 } 3923 #pragma omp atomic compare capture relaxed 3924 { 3925 sv = sx; 3926 if (sx == se) { 3927 sx = sd; 3928 } 3929 } 3930 #pragma omp atomic compare capture relaxed 3931 { 3932 sv = sx; 3933 if (se == sx) { 3934 sx = sd; 3935 } 3936 } 3937 #pragma omp atomic compare capture relaxed 3938 { 3939 if (se > sx) { 3940 sx = se; 3941 } 3942 sv = sx; 3943 } 3944 #pragma omp atomic compare capture relaxed 3945 { 3946 if (sx > se) { 3947 sx = se; 3948 } 3949 sv = sx; 3950 } 3951 #pragma omp atomic compare capture relaxed 3952 { 3953 if (se < sx) { 3954 sx = se; 3955 } 3956 sv = sx; 3957 } 3958 #pragma omp atomic compare capture relaxed 3959 { 3960 if (sx < se) { 3961 sx = se; 3962 } 3963 sv = sx; 3964 } 3965 #pragma omp atomic compare capture relaxed 3966 { 3967 if (sx == se) { 3968 sx = sd; 3969 } 3970 sv = sx; 3971 } 3972 #pragma omp atomic compare capture relaxed 3973 { 3974 if (se == sx) { 3975 sx = sd; 3976 } 3977 sv = sx; 3978 } 3979 #pragma omp atomic compare capture relaxed 3980 if (sx == se) { 3981 sx = sd; 3982 } else { 3983 sv = sx; 3984 } 3985 #pragma omp atomic compare capture relaxed 3986 if (se == sx) { 3987 sx = sd; 3988 } else { 3989 sv = sx; 3990 } 3991 #pragma omp atomic compare capture relaxed 3992 { 3993 sr = sx == se; 3994 if (sr) { 3995 sx = sd; 3996 } 3997 } 3998 #pragma omp atomic compare capture relaxed 3999 { 4000 sr = se == sx; 4001 if (sr) { 4002 sx = sd; 4003 } 4004 } 4005 #pragma omp atomic compare capture relaxed 4006 { 4007 sr = sx == se; 4008 if (sr) { 4009 sx = sd; 4010 } else { 4011 sv = sx; 4012 } 4013 } 4014 #pragma omp atomic compare capture relaxed 4015 { 4016 sr = se == sx; 4017 if (sr) { 4018 sx = sd; 4019 } else { 4020 sv = sx; 4021 } 4022 } 4023 4024 #pragma omp atomic compare capture release 4025 { 4026 sv = sx; 4027 if (se > sx) { 4028 sx = se; 4029 } 4030 } 4031 #pragma omp atomic compare capture release 4032 { 4033 sv = sx; 4034 if (sx > se) { 4035 sx = se; 4036 } 4037 } 4038 #pragma omp atomic compare capture release 4039 { 4040 sv = sx; 4041 if (se < sx) { 4042 sx = se; 4043 } 4044 } 4045 #pragma omp atomic compare capture release 4046 { 4047 sv = sx; 4048 if (sx < se) { 4049 sx = se; 4050 } 4051 } 4052 #pragma omp atomic compare capture release 4053 { 4054 sv = sx; 4055 if (sx == se) { 4056 sx = sd; 4057 } 4058 } 4059 #pragma omp atomic compare capture release 4060 { 4061 sv = sx; 4062 if (se == sx) { 4063 sx = sd; 4064 } 4065 } 4066 #pragma omp atomic compare capture release 4067 { 4068 if (se > sx) { 4069 sx = se; 4070 } 4071 sv = sx; 4072 } 4073 #pragma omp atomic compare capture release 4074 { 4075 if (sx > se) { 4076 sx = se; 4077 } 4078 sv = sx; 4079 } 4080 #pragma omp atomic compare capture release 4081 { 4082 if (se < sx) { 4083 sx = se; 4084 } 4085 sv = sx; 4086 } 4087 #pragma omp atomic compare capture release 4088 { 4089 if (sx < se) { 4090 sx = se; 4091 } 4092 sv = sx; 4093 } 4094 #pragma omp atomic compare capture release 4095 { 4096 if (sx == se) { 4097 sx = sd; 4098 } 4099 sv = sx; 4100 } 4101 #pragma omp atomic compare capture release 4102 { 4103 if (se == sx) { 4104 sx = sd; 4105 } 4106 sv = sx; 4107 } 4108 #pragma omp atomic compare capture release 4109 if (sx == se) { 4110 sx = sd; 4111 } else { 4112 sv = sx; 4113 } 4114 #pragma omp atomic compare capture release 4115 if (se == sx) { 4116 sx = sd; 4117 } else { 4118 sv = sx; 4119 } 4120 #pragma omp atomic compare capture release 4121 { 4122 sr = sx == se; 4123 if (sr) { 4124 sx = sd; 4125 } 4126 } 4127 #pragma omp atomic compare capture release 4128 { 4129 sr = se == sx; 4130 if (sr) { 4131 sx = sd; 4132 } 4133 } 4134 #pragma omp atomic compare capture release 4135 { 4136 sr = sx == se; 4137 if (sr) { 4138 sx = sd; 4139 } else { 4140 sv = sx; 4141 } 4142 } 4143 #pragma omp atomic compare capture release 4144 { 4145 sr = se == sx; 4146 if (sr) { 4147 sx = sd; 4148 } else { 4149 sv = sx; 4150 } 4151 } 4152 4153 #pragma omp atomic compare capture seq_cst 4154 { 4155 sv = sx; 4156 if (se > sx) { 4157 sx = se; 4158 } 4159 } 4160 #pragma omp atomic compare capture seq_cst 4161 { 4162 sv = sx; 4163 if (sx > se) { 4164 sx = se; 4165 } 4166 } 4167 #pragma omp atomic compare capture seq_cst 4168 { 4169 sv = sx; 4170 if (se < sx) { 4171 sx = se; 4172 } 4173 } 4174 #pragma omp atomic compare capture seq_cst 4175 { 4176 sv = sx; 4177 if (sx < se) { 4178 sx = se; 4179 } 4180 } 4181 #pragma omp atomic compare capture seq_cst 4182 { 4183 sv = sx; 4184 if (sx == se) { 4185 sx = sd; 4186 } 4187 } 4188 #pragma omp atomic compare capture seq_cst 4189 { 4190 sv = sx; 4191 if (se == sx) { 4192 sx = sd; 4193 } 4194 } 4195 #pragma omp atomic compare capture seq_cst 4196 { 4197 if (se > sx) { 4198 sx = se; 4199 } 4200 sv = sx; 4201 } 4202 #pragma omp atomic compare capture seq_cst 4203 { 4204 if (sx > se) { 4205 sx = se; 4206 } 4207 sv = sx; 4208 } 4209 #pragma omp atomic compare capture seq_cst 4210 { 4211 if (se < sx) { 4212 sx = se; 4213 } 4214 sv = sx; 4215 } 4216 #pragma omp atomic compare capture seq_cst 4217 { 4218 if (sx < se) { 4219 sx = se; 4220 } 4221 sv = sx; 4222 } 4223 #pragma omp atomic compare capture seq_cst 4224 { 4225 if (sx == se) { 4226 sx = sd; 4227 } 4228 sv = sx; 4229 } 4230 #pragma omp atomic compare capture seq_cst 4231 { 4232 if (se == sx) { 4233 sx = sd; 4234 } 4235 sv = sx; 4236 } 4237 #pragma omp atomic compare capture seq_cst 4238 if (sx == se) { 4239 sx = sd; 4240 } else { 4241 sv = sx; 4242 } 4243 #pragma omp atomic compare capture seq_cst 4244 if (se == sx) { 4245 sx = sd; 4246 } else { 4247 sv = sx; 4248 } 4249 #pragma omp atomic compare capture seq_cst 4250 { 4251 sr = sx == se; 4252 if (sr) { 4253 sx = sd; 4254 } 4255 } 4256 #pragma omp atomic compare capture seq_cst 4257 { 4258 sr = se == sx; 4259 if (sr) { 4260 sx = sd; 4261 } 4262 } 4263 #pragma omp atomic compare capture seq_cst 4264 { 4265 sr = sx == se; 4266 if (sr) { 4267 sx = sd; 4268 } else { 4269 sv = sx; 4270 } 4271 } 4272 #pragma omp atomic compare capture seq_cst 4273 { 4274 sr = se == sx; 4275 if (sr) { 4276 sx = sd; 4277 } else { 4278 sv = sx; 4279 } 4280 } 4281 4282 #pragma omp atomic compare capture 4283 { 4284 usv = usx; 4285 if (use > usx) { 4286 usx = use; 4287 } 4288 } 4289 #pragma omp atomic compare capture 4290 { 4291 usv = usx; 4292 if (usx > use) { 4293 usx = use; 4294 } 4295 } 4296 #pragma omp atomic compare capture 4297 { 4298 usv = usx; 4299 if (use < usx) { 4300 usx = use; 4301 } 4302 } 4303 #pragma omp atomic compare capture 4304 { 4305 usv = usx; 4306 if (usx < use) { 4307 usx = use; 4308 } 4309 } 4310 #pragma omp atomic compare capture 4311 { 4312 usv = usx; 4313 if (usx == use) { 4314 usx = usd; 4315 } 4316 } 4317 #pragma omp atomic compare capture 4318 { 4319 usv = usx; 4320 if (use == usx) { 4321 usx = usd; 4322 } 4323 } 4324 #pragma omp atomic compare capture 4325 { 4326 if (use > usx) { 4327 usx = use; 4328 } 4329 usv = usx; 4330 } 4331 #pragma omp atomic compare capture 4332 { 4333 if (usx > use) { 4334 usx = use; 4335 } 4336 usv = usx; 4337 } 4338 #pragma omp atomic compare capture 4339 { 4340 if (use < usx) { 4341 usx = use; 4342 } 4343 usv = usx; 4344 } 4345 #pragma omp atomic compare capture 4346 { 4347 if (usx < use) { 4348 usx = use; 4349 } 4350 usv = usx; 4351 } 4352 #pragma omp atomic compare capture 4353 { 4354 if (usx == use) { 4355 usx = usd; 4356 } 4357 usv = usx; 4358 } 4359 #pragma omp atomic compare capture 4360 { 4361 if (use == usx) { 4362 usx = usd; 4363 } 4364 usv = usx; 4365 } 4366 #pragma omp atomic compare capture 4367 if (usx == use) { 4368 usx = usd; 4369 } else { 4370 usv = usx; 4371 } 4372 #pragma omp atomic compare capture 4373 if (use == usx) { 4374 usx = usd; 4375 } else { 4376 usv = usx; 4377 } 4378 #pragma omp atomic compare capture 4379 { 4380 usr = usx == use; 4381 if (usr) { 4382 usx = usd; 4383 } 4384 } 4385 #pragma omp atomic compare capture 4386 { 4387 usr = use == usx; 4388 if (usr) { 4389 usx = usd; 4390 } 4391 } 4392 #pragma omp atomic compare capture 4393 { 4394 usr = usx == use; 4395 if (usr) { 4396 usx = usd; 4397 } else { 4398 usv = usx; 4399 } 4400 } 4401 #pragma omp atomic compare capture 4402 { 4403 usr = use == usx; 4404 if (usr) { 4405 usx = usd; 4406 } else { 4407 usv = usx; 4408 } 4409 } 4410 4411 #pragma omp atomic compare capture acq_rel 4412 { 4413 usv = usx; 4414 if (use > usx) { 4415 usx = use; 4416 } 4417 } 4418 #pragma omp atomic compare capture acq_rel 4419 { 4420 usv = usx; 4421 if (usx > use) { 4422 usx = use; 4423 } 4424 } 4425 #pragma omp atomic compare capture acq_rel 4426 { 4427 usv = usx; 4428 if (use < usx) { 4429 usx = use; 4430 } 4431 } 4432 #pragma omp atomic compare capture acq_rel 4433 { 4434 usv = usx; 4435 if (usx < use) { 4436 usx = use; 4437 } 4438 } 4439 #pragma omp atomic compare capture acq_rel 4440 { 4441 usv = usx; 4442 if (usx == use) { 4443 usx = usd; 4444 } 4445 } 4446 #pragma omp atomic compare capture acq_rel 4447 { 4448 usv = usx; 4449 if (use == usx) { 4450 usx = usd; 4451 } 4452 } 4453 #pragma omp atomic compare capture acq_rel 4454 { 4455 if (use > usx) { 4456 usx = use; 4457 } 4458 usv = usx; 4459 } 4460 #pragma omp atomic compare capture acq_rel 4461 { 4462 if (usx > use) { 4463 usx = use; 4464 } 4465 usv = usx; 4466 } 4467 #pragma omp atomic compare capture acq_rel 4468 { 4469 if (use < usx) { 4470 usx = use; 4471 } 4472 usv = usx; 4473 } 4474 #pragma omp atomic compare capture acq_rel 4475 { 4476 if (usx < use) { 4477 usx = use; 4478 } 4479 usv = usx; 4480 } 4481 #pragma omp atomic compare capture acq_rel 4482 { 4483 if (usx == use) { 4484 usx = usd; 4485 } 4486 usv = usx; 4487 } 4488 #pragma omp atomic compare capture acq_rel 4489 { 4490 if (use == usx) { 4491 usx = usd; 4492 } 4493 usv = usx; 4494 } 4495 #pragma omp atomic compare capture acq_rel 4496 if (usx == use) { 4497 usx = usd; 4498 } else { 4499 usv = usx; 4500 } 4501 #pragma omp atomic compare capture acq_rel 4502 if (use == usx) { 4503 usx = usd; 4504 } else { 4505 usv = usx; 4506 } 4507 #pragma omp atomic compare capture acq_rel 4508 { 4509 usr = usx == use; 4510 if (usr) { 4511 usx = usd; 4512 } 4513 } 4514 #pragma omp atomic compare capture acq_rel 4515 { 4516 usr = use == usx; 4517 if (usr) { 4518 usx = usd; 4519 } 4520 } 4521 #pragma omp atomic compare capture acq_rel 4522 { 4523 usr = usx == use; 4524 if (usr) { 4525 usx = usd; 4526 } else { 4527 usv = usx; 4528 } 4529 } 4530 #pragma omp atomic compare capture acq_rel 4531 { 4532 usr = use == usx; 4533 if (usr) { 4534 usx = usd; 4535 } else { 4536 usv = usx; 4537 } 4538 } 4539 4540 #pragma omp atomic compare capture acquire 4541 { 4542 usv = usx; 4543 if (use > usx) { 4544 usx = use; 4545 } 4546 } 4547 #pragma omp atomic compare capture acquire 4548 { 4549 usv = usx; 4550 if (usx > use) { 4551 usx = use; 4552 } 4553 } 4554 #pragma omp atomic compare capture acquire 4555 { 4556 usv = usx; 4557 if (use < usx) { 4558 usx = use; 4559 } 4560 } 4561 #pragma omp atomic compare capture acquire 4562 { 4563 usv = usx; 4564 if (usx < use) { 4565 usx = use; 4566 } 4567 } 4568 #pragma omp atomic compare capture acquire 4569 { 4570 usv = usx; 4571 if (usx == use) { 4572 usx = usd; 4573 } 4574 } 4575 #pragma omp atomic compare capture acquire 4576 { 4577 usv = usx; 4578 if (use == usx) { 4579 usx = usd; 4580 } 4581 } 4582 #pragma omp atomic compare capture acquire 4583 { 4584 if (use > usx) { 4585 usx = use; 4586 } 4587 usv = usx; 4588 } 4589 #pragma omp atomic compare capture acquire 4590 { 4591 if (usx > use) { 4592 usx = use; 4593 } 4594 usv = usx; 4595 } 4596 #pragma omp atomic compare capture acquire 4597 { 4598 if (use < usx) { 4599 usx = use; 4600 } 4601 usv = usx; 4602 } 4603 #pragma omp atomic compare capture acquire 4604 { 4605 if (usx < use) { 4606 usx = use; 4607 } 4608 usv = usx; 4609 } 4610 #pragma omp atomic compare capture acquire 4611 { 4612 if (usx == use) { 4613 usx = usd; 4614 } 4615 usv = usx; 4616 } 4617 #pragma omp atomic compare capture acquire 4618 { 4619 if (use == usx) { 4620 usx = usd; 4621 } 4622 usv = usx; 4623 } 4624 #pragma omp atomic compare capture acquire 4625 if (usx == use) { 4626 usx = usd; 4627 } else { 4628 usv = usx; 4629 } 4630 #pragma omp atomic compare capture acquire 4631 if (use == usx) { 4632 usx = usd; 4633 } else { 4634 usv = usx; 4635 } 4636 #pragma omp atomic compare capture acquire 4637 { 4638 usr = usx == use; 4639 if (usr) { 4640 usx = usd; 4641 } 4642 } 4643 #pragma omp atomic compare capture acquire 4644 { 4645 usr = use == usx; 4646 if (usr) { 4647 usx = usd; 4648 } 4649 } 4650 #pragma omp atomic compare capture acquire 4651 { 4652 usr = usx == use; 4653 if (usr) { 4654 usx = usd; 4655 } else { 4656 usv = usx; 4657 } 4658 } 4659 #pragma omp atomic compare capture acquire 4660 { 4661 usr = use == usx; 4662 if (usr) { 4663 usx = usd; 4664 } else { 4665 usv = usx; 4666 } 4667 } 4668 4669 #pragma omp atomic compare capture relaxed 4670 { 4671 usv = usx; 4672 if (use > usx) { 4673 usx = use; 4674 } 4675 } 4676 #pragma omp atomic compare capture relaxed 4677 { 4678 usv = usx; 4679 if (usx > use) { 4680 usx = use; 4681 } 4682 } 4683 #pragma omp atomic compare capture relaxed 4684 { 4685 usv = usx; 4686 if (use < usx) { 4687 usx = use; 4688 } 4689 } 4690 #pragma omp atomic compare capture relaxed 4691 { 4692 usv = usx; 4693 if (usx < use) { 4694 usx = use; 4695 } 4696 } 4697 #pragma omp atomic compare capture relaxed 4698 { 4699 usv = usx; 4700 if (usx == use) { 4701 usx = usd; 4702 } 4703 } 4704 #pragma omp atomic compare capture relaxed 4705 { 4706 usv = usx; 4707 if (use == usx) { 4708 usx = usd; 4709 } 4710 } 4711 #pragma omp atomic compare capture relaxed 4712 { 4713 if (use > usx) { 4714 usx = use; 4715 } 4716 usv = usx; 4717 } 4718 #pragma omp atomic compare capture relaxed 4719 { 4720 if (usx > use) { 4721 usx = use; 4722 } 4723 usv = usx; 4724 } 4725 #pragma omp atomic compare capture relaxed 4726 { 4727 if (use < usx) { 4728 usx = use; 4729 } 4730 usv = usx; 4731 } 4732 #pragma omp atomic compare capture relaxed 4733 { 4734 if (usx < use) { 4735 usx = use; 4736 } 4737 usv = usx; 4738 } 4739 #pragma omp atomic compare capture relaxed 4740 { 4741 if (usx == use) { 4742 usx = usd; 4743 } 4744 usv = usx; 4745 } 4746 #pragma omp atomic compare capture relaxed 4747 { 4748 if (use == usx) { 4749 usx = usd; 4750 } 4751 usv = usx; 4752 } 4753 #pragma omp atomic compare capture relaxed 4754 if (usx == use) { 4755 usx = usd; 4756 } else { 4757 usv = usx; 4758 } 4759 #pragma omp atomic compare capture relaxed 4760 if (use == usx) { 4761 usx = usd; 4762 } else { 4763 usv = usx; 4764 } 4765 #pragma omp atomic compare capture relaxed 4766 { 4767 usr = usx == use; 4768 if (usr) { 4769 usx = usd; 4770 } 4771 } 4772 #pragma omp atomic compare capture relaxed 4773 { 4774 usr = use == usx; 4775 if (usr) { 4776 usx = usd; 4777 } 4778 } 4779 #pragma omp atomic compare capture relaxed 4780 { 4781 usr = usx == use; 4782 if (usr) { 4783 usx = usd; 4784 } else { 4785 usv = usx; 4786 } 4787 } 4788 #pragma omp atomic compare capture relaxed 4789 { 4790 usr = use == usx; 4791 if (usr) { 4792 usx = usd; 4793 } else { 4794 usv = usx; 4795 } 4796 } 4797 4798 #pragma omp atomic compare capture release 4799 { 4800 usv = usx; 4801 if (use > usx) { 4802 usx = use; 4803 } 4804 } 4805 #pragma omp atomic compare capture release 4806 { 4807 usv = usx; 4808 if (usx > use) { 4809 usx = use; 4810 } 4811 } 4812 #pragma omp atomic compare capture release 4813 { 4814 usv = usx; 4815 if (use < usx) { 4816 usx = use; 4817 } 4818 } 4819 #pragma omp atomic compare capture release 4820 { 4821 usv = usx; 4822 if (usx < use) { 4823 usx = use; 4824 } 4825 } 4826 #pragma omp atomic compare capture release 4827 { 4828 usv = usx; 4829 if (usx == use) { 4830 usx = usd; 4831 } 4832 } 4833 #pragma omp atomic compare capture release 4834 { 4835 usv = usx; 4836 if (use == usx) { 4837 usx = usd; 4838 } 4839 } 4840 #pragma omp atomic compare capture release 4841 { 4842 if (use > usx) { 4843 usx = use; 4844 } 4845 usv = usx; 4846 } 4847 #pragma omp atomic compare capture release 4848 { 4849 if (usx > use) { 4850 usx = use; 4851 } 4852 usv = usx; 4853 } 4854 #pragma omp atomic compare capture release 4855 { 4856 if (use < usx) { 4857 usx = use; 4858 } 4859 usv = usx; 4860 } 4861 #pragma omp atomic compare capture release 4862 { 4863 if (usx < use) { 4864 usx = use; 4865 } 4866 usv = usx; 4867 } 4868 #pragma omp atomic compare capture release 4869 { 4870 if (usx == use) { 4871 usx = usd; 4872 } 4873 usv = usx; 4874 } 4875 #pragma omp atomic compare capture release 4876 { 4877 if (use == usx) { 4878 usx = usd; 4879 } 4880 usv = usx; 4881 } 4882 #pragma omp atomic compare capture release 4883 if (usx == use) { 4884 usx = usd; 4885 } else { 4886 usv = usx; 4887 } 4888 #pragma omp atomic compare capture release 4889 if (use == usx) { 4890 usx = usd; 4891 } else { 4892 usv = usx; 4893 } 4894 #pragma omp atomic compare capture release 4895 { 4896 usr = usx == use; 4897 if (usr) { 4898 usx = usd; 4899 } 4900 } 4901 #pragma omp atomic compare capture release 4902 { 4903 usr = use == usx; 4904 if (usr) { 4905 usx = usd; 4906 } 4907 } 4908 #pragma omp atomic compare capture release 4909 { 4910 usr = usx == use; 4911 if (usr) { 4912 usx = usd; 4913 } else { 4914 usv = usx; 4915 } 4916 } 4917 #pragma omp atomic compare capture release 4918 { 4919 usr = use == usx; 4920 if (usr) { 4921 usx = usd; 4922 } else { 4923 usv = usx; 4924 } 4925 } 4926 4927 #pragma omp atomic compare capture seq_cst 4928 { 4929 usv = usx; 4930 if (use > usx) { 4931 usx = use; 4932 } 4933 } 4934 #pragma omp atomic compare capture seq_cst 4935 { 4936 usv = usx; 4937 if (usx > use) { 4938 usx = use; 4939 } 4940 } 4941 #pragma omp atomic compare capture seq_cst 4942 { 4943 usv = usx; 4944 if (use < usx) { 4945 usx = use; 4946 } 4947 } 4948 #pragma omp atomic compare capture seq_cst 4949 { 4950 usv = usx; 4951 if (usx < use) { 4952 usx = use; 4953 } 4954 } 4955 #pragma omp atomic compare capture seq_cst 4956 { 4957 usv = usx; 4958 if (usx == use) { 4959 usx = usd; 4960 } 4961 } 4962 #pragma omp atomic compare capture seq_cst 4963 { 4964 usv = usx; 4965 if (use == usx) { 4966 usx = usd; 4967 } 4968 } 4969 #pragma omp atomic compare capture seq_cst 4970 { 4971 if (use > usx) { 4972 usx = use; 4973 } 4974 usv = usx; 4975 } 4976 #pragma omp atomic compare capture seq_cst 4977 { 4978 if (usx > use) { 4979 usx = use; 4980 } 4981 usv = usx; 4982 } 4983 #pragma omp atomic compare capture seq_cst 4984 { 4985 if (use < usx) { 4986 usx = use; 4987 } 4988 usv = usx; 4989 } 4990 #pragma omp atomic compare capture seq_cst 4991 { 4992 if (usx < use) { 4993 usx = use; 4994 } 4995 usv = usx; 4996 } 4997 #pragma omp atomic compare capture seq_cst 4998 { 4999 if (usx == use) { 5000 usx = usd; 5001 } 5002 usv = usx; 5003 } 5004 #pragma omp atomic compare capture seq_cst 5005 { 5006 if (use == usx) { 5007 usx = usd; 5008 } 5009 usv = usx; 5010 } 5011 #pragma omp atomic compare capture seq_cst 5012 if (usx == use) { 5013 usx = usd; 5014 } else { 5015 usv = usx; 5016 } 5017 #pragma omp atomic compare capture seq_cst 5018 if (use == usx) { 5019 usx = usd; 5020 } else { 5021 usv = usx; 5022 } 5023 #pragma omp atomic compare capture seq_cst 5024 { 5025 usr = usx == use; 5026 if (usr) { 5027 usx = usd; 5028 } 5029 } 5030 #pragma omp atomic compare capture seq_cst 5031 { 5032 usr = use == usx; 5033 if (usr) { 5034 usx = usd; 5035 } 5036 } 5037 #pragma omp atomic compare capture seq_cst 5038 { 5039 usr = usx == use; 5040 if (usr) { 5041 usx = usd; 5042 } else { 5043 usv = usx; 5044 } 5045 } 5046 #pragma omp atomic compare capture seq_cst 5047 { 5048 usr = use == usx; 5049 if (usr) { 5050 usx = usd; 5051 } else { 5052 usv = usx; 5053 } 5054 } 5055 5056 #pragma omp atomic compare capture 5057 { 5058 iv = ix; 5059 if (ie > ix) { 5060 ix = ie; 5061 } 5062 } 5063 #pragma omp atomic compare capture 5064 { 5065 iv = ix; 5066 if (ix > ie) { 5067 ix = ie; 5068 } 5069 } 5070 #pragma omp atomic compare capture 5071 { 5072 iv = ix; 5073 if (ie < ix) { 5074 ix = ie; 5075 } 5076 } 5077 #pragma omp atomic compare capture 5078 { 5079 iv = ix; 5080 if (ix < ie) { 5081 ix = ie; 5082 } 5083 } 5084 #pragma omp atomic compare capture 5085 { 5086 iv = ix; 5087 if (ix == ie) { 5088 ix = id; 5089 } 5090 } 5091 #pragma omp atomic compare capture 5092 { 5093 iv = ix; 5094 if (ie == ix) { 5095 ix = id; 5096 } 5097 } 5098 #pragma omp atomic compare capture 5099 { 5100 if (ie > ix) { 5101 ix = ie; 5102 } 5103 iv = ix; 5104 } 5105 #pragma omp atomic compare capture 5106 { 5107 if (ix > ie) { 5108 ix = ie; 5109 } 5110 iv = ix; 5111 } 5112 #pragma omp atomic compare capture 5113 { 5114 if (ie < ix) { 5115 ix = ie; 5116 } 5117 iv = ix; 5118 } 5119 #pragma omp atomic compare capture 5120 { 5121 if (ix < ie) { 5122 ix = ie; 5123 } 5124 iv = ix; 5125 } 5126 #pragma omp atomic compare capture 5127 { 5128 if (ix == ie) { 5129 ix = id; 5130 } 5131 iv = ix; 5132 } 5133 #pragma omp atomic compare capture 5134 { 5135 if (ie == ix) { 5136 ix = id; 5137 } 5138 iv = ix; 5139 } 5140 #pragma omp atomic compare capture 5141 if (ix == ie) { 5142 ix = id; 5143 } else { 5144 iv = ix; 5145 } 5146 #pragma omp atomic compare capture 5147 if (ie == ix) { 5148 ix = id; 5149 } else { 5150 iv = ix; 5151 } 5152 #pragma omp atomic compare capture 5153 { 5154 ir = ix == ie; 5155 if (ir) { 5156 ix = id; 5157 } 5158 } 5159 #pragma omp atomic compare capture 5160 { 5161 ir = ie == ix; 5162 if (ir) { 5163 ix = id; 5164 } 5165 } 5166 #pragma omp atomic compare capture 5167 { 5168 ir = ix == ie; 5169 if (ir) { 5170 ix = id; 5171 } else { 5172 iv = ix; 5173 } 5174 } 5175 #pragma omp atomic compare capture 5176 { 5177 ir = ie == ix; 5178 if (ir) { 5179 ix = id; 5180 } else { 5181 iv = ix; 5182 } 5183 } 5184 5185 #pragma omp atomic compare capture acq_rel 5186 { 5187 iv = ix; 5188 if (ie > ix) { 5189 ix = ie; 5190 } 5191 } 5192 #pragma omp atomic compare capture acq_rel 5193 { 5194 iv = ix; 5195 if (ix > ie) { 5196 ix = ie; 5197 } 5198 } 5199 #pragma omp atomic compare capture acq_rel 5200 { 5201 iv = ix; 5202 if (ie < ix) { 5203 ix = ie; 5204 } 5205 } 5206 #pragma omp atomic compare capture acq_rel 5207 { 5208 iv = ix; 5209 if (ix < ie) { 5210 ix = ie; 5211 } 5212 } 5213 #pragma omp atomic compare capture acq_rel 5214 { 5215 iv = ix; 5216 if (ix == ie) { 5217 ix = id; 5218 } 5219 } 5220 #pragma omp atomic compare capture acq_rel 5221 { 5222 iv = ix; 5223 if (ie == ix) { 5224 ix = id; 5225 } 5226 } 5227 #pragma omp atomic compare capture acq_rel 5228 { 5229 if (ie > ix) { 5230 ix = ie; 5231 } 5232 iv = ix; 5233 } 5234 #pragma omp atomic compare capture acq_rel 5235 { 5236 if (ix > ie) { 5237 ix = ie; 5238 } 5239 iv = ix; 5240 } 5241 #pragma omp atomic compare capture acq_rel 5242 { 5243 if (ie < ix) { 5244 ix = ie; 5245 } 5246 iv = ix; 5247 } 5248 #pragma omp atomic compare capture acq_rel 5249 { 5250 if (ix < ie) { 5251 ix = ie; 5252 } 5253 iv = ix; 5254 } 5255 #pragma omp atomic compare capture acq_rel 5256 { 5257 if (ix == ie) { 5258 ix = id; 5259 } 5260 iv = ix; 5261 } 5262 #pragma omp atomic compare capture acq_rel 5263 { 5264 if (ie == ix) { 5265 ix = id; 5266 } 5267 iv = ix; 5268 } 5269 #pragma omp atomic compare capture acq_rel 5270 if (ix == ie) { 5271 ix = id; 5272 } else { 5273 iv = ix; 5274 } 5275 #pragma omp atomic compare capture acq_rel 5276 if (ie == ix) { 5277 ix = id; 5278 } else { 5279 iv = ix; 5280 } 5281 #pragma omp atomic compare capture acq_rel 5282 { 5283 ir = ix == ie; 5284 if (ir) { 5285 ix = id; 5286 } 5287 } 5288 #pragma omp atomic compare capture acq_rel 5289 { 5290 ir = ie == ix; 5291 if (ir) { 5292 ix = id; 5293 } 5294 } 5295 #pragma omp atomic compare capture acq_rel 5296 { 5297 ir = ix == ie; 5298 if (ir) { 5299 ix = id; 5300 } else { 5301 iv = ix; 5302 } 5303 } 5304 #pragma omp atomic compare capture acq_rel 5305 { 5306 ir = ie == ix; 5307 if (ir) { 5308 ix = id; 5309 } else { 5310 iv = ix; 5311 } 5312 } 5313 5314 #pragma omp atomic compare capture acquire 5315 { 5316 iv = ix; 5317 if (ie > ix) { 5318 ix = ie; 5319 } 5320 } 5321 #pragma omp atomic compare capture acquire 5322 { 5323 iv = ix; 5324 if (ix > ie) { 5325 ix = ie; 5326 } 5327 } 5328 #pragma omp atomic compare capture acquire 5329 { 5330 iv = ix; 5331 if (ie < ix) { 5332 ix = ie; 5333 } 5334 } 5335 #pragma omp atomic compare capture acquire 5336 { 5337 iv = ix; 5338 if (ix < ie) { 5339 ix = ie; 5340 } 5341 } 5342 #pragma omp atomic compare capture acquire 5343 { 5344 iv = ix; 5345 if (ix == ie) { 5346 ix = id; 5347 } 5348 } 5349 #pragma omp atomic compare capture acquire 5350 { 5351 iv = ix; 5352 if (ie == ix) { 5353 ix = id; 5354 } 5355 } 5356 #pragma omp atomic compare capture acquire 5357 { 5358 if (ie > ix) { 5359 ix = ie; 5360 } 5361 iv = ix; 5362 } 5363 #pragma omp atomic compare capture acquire 5364 { 5365 if (ix > ie) { 5366 ix = ie; 5367 } 5368 iv = ix; 5369 } 5370 #pragma omp atomic compare capture acquire 5371 { 5372 if (ie < ix) { 5373 ix = ie; 5374 } 5375 iv = ix; 5376 } 5377 #pragma omp atomic compare capture acquire 5378 { 5379 if (ix < ie) { 5380 ix = ie; 5381 } 5382 iv = ix; 5383 } 5384 #pragma omp atomic compare capture acquire 5385 { 5386 if (ix == ie) { 5387 ix = id; 5388 } 5389 iv = ix; 5390 } 5391 #pragma omp atomic compare capture acquire 5392 { 5393 if (ie == ix) { 5394 ix = id; 5395 } 5396 iv = ix; 5397 } 5398 #pragma omp atomic compare capture acquire 5399 if (ix == ie) { 5400 ix = id; 5401 } else { 5402 iv = ix; 5403 } 5404 #pragma omp atomic compare capture acquire 5405 if (ie == ix) { 5406 ix = id; 5407 } else { 5408 iv = ix; 5409 } 5410 #pragma omp atomic compare capture acquire 5411 { 5412 ir = ix == ie; 5413 if (ir) { 5414 ix = id; 5415 } 5416 } 5417 #pragma omp atomic compare capture acquire 5418 { 5419 ir = ie == ix; 5420 if (ir) { 5421 ix = id; 5422 } 5423 } 5424 #pragma omp atomic compare capture acquire 5425 { 5426 ir = ix == ie; 5427 if (ir) { 5428 ix = id; 5429 } else { 5430 iv = ix; 5431 } 5432 } 5433 #pragma omp atomic compare capture acquire 5434 { 5435 ir = ie == ix; 5436 if (ir) { 5437 ix = id; 5438 } else { 5439 iv = ix; 5440 } 5441 } 5442 5443 #pragma omp atomic compare capture relaxed 5444 { 5445 iv = ix; 5446 if (ie > ix) { 5447 ix = ie; 5448 } 5449 } 5450 #pragma omp atomic compare capture relaxed 5451 { 5452 iv = ix; 5453 if (ix > ie) { 5454 ix = ie; 5455 } 5456 } 5457 #pragma omp atomic compare capture relaxed 5458 { 5459 iv = ix; 5460 if (ie < ix) { 5461 ix = ie; 5462 } 5463 } 5464 #pragma omp atomic compare capture relaxed 5465 { 5466 iv = ix; 5467 if (ix < ie) { 5468 ix = ie; 5469 } 5470 } 5471 #pragma omp atomic compare capture relaxed 5472 { 5473 iv = ix; 5474 if (ix == ie) { 5475 ix = id; 5476 } 5477 } 5478 #pragma omp atomic compare capture relaxed 5479 { 5480 iv = ix; 5481 if (ie == ix) { 5482 ix = id; 5483 } 5484 } 5485 #pragma omp atomic compare capture relaxed 5486 { 5487 if (ie > ix) { 5488 ix = ie; 5489 } 5490 iv = ix; 5491 } 5492 #pragma omp atomic compare capture relaxed 5493 { 5494 if (ix > ie) { 5495 ix = ie; 5496 } 5497 iv = ix; 5498 } 5499 #pragma omp atomic compare capture relaxed 5500 { 5501 if (ie < ix) { 5502 ix = ie; 5503 } 5504 iv = ix; 5505 } 5506 #pragma omp atomic compare capture relaxed 5507 { 5508 if (ix < ie) { 5509 ix = ie; 5510 } 5511 iv = ix; 5512 } 5513 #pragma omp atomic compare capture relaxed 5514 { 5515 if (ix == ie) { 5516 ix = id; 5517 } 5518 iv = ix; 5519 } 5520 #pragma omp atomic compare capture relaxed 5521 { 5522 if (ie == ix) { 5523 ix = id; 5524 } 5525 iv = ix; 5526 } 5527 #pragma omp atomic compare capture relaxed 5528 if (ix == ie) { 5529 ix = id; 5530 } else { 5531 iv = ix; 5532 } 5533 #pragma omp atomic compare capture relaxed 5534 if (ie == ix) { 5535 ix = id; 5536 } else { 5537 iv = ix; 5538 } 5539 #pragma omp atomic compare capture relaxed 5540 { 5541 ir = ix == ie; 5542 if (ir) { 5543 ix = id; 5544 } 5545 } 5546 #pragma omp atomic compare capture relaxed 5547 { 5548 ir = ie == ix; 5549 if (ir) { 5550 ix = id; 5551 } 5552 } 5553 #pragma omp atomic compare capture relaxed 5554 { 5555 ir = ix == ie; 5556 if (ir) { 5557 ix = id; 5558 } else { 5559 iv = ix; 5560 } 5561 } 5562 #pragma omp atomic compare capture relaxed 5563 { 5564 ir = ie == ix; 5565 if (ir) { 5566 ix = id; 5567 } else { 5568 iv = ix; 5569 } 5570 } 5571 5572 #pragma omp atomic compare capture release 5573 { 5574 iv = ix; 5575 if (ie > ix) { 5576 ix = ie; 5577 } 5578 } 5579 #pragma omp atomic compare capture release 5580 { 5581 iv = ix; 5582 if (ix > ie) { 5583 ix = ie; 5584 } 5585 } 5586 #pragma omp atomic compare capture release 5587 { 5588 iv = ix; 5589 if (ie < ix) { 5590 ix = ie; 5591 } 5592 } 5593 #pragma omp atomic compare capture release 5594 { 5595 iv = ix; 5596 if (ix < ie) { 5597 ix = ie; 5598 } 5599 } 5600 #pragma omp atomic compare capture release 5601 { 5602 iv = ix; 5603 if (ix == ie) { 5604 ix = id; 5605 } 5606 } 5607 #pragma omp atomic compare capture release 5608 { 5609 iv = ix; 5610 if (ie == ix) { 5611 ix = id; 5612 } 5613 } 5614 #pragma omp atomic compare capture release 5615 { 5616 if (ie > ix) { 5617 ix = ie; 5618 } 5619 iv = ix; 5620 } 5621 #pragma omp atomic compare capture release 5622 { 5623 if (ix > ie) { 5624 ix = ie; 5625 } 5626 iv = ix; 5627 } 5628 #pragma omp atomic compare capture release 5629 { 5630 if (ie < ix) { 5631 ix = ie; 5632 } 5633 iv = ix; 5634 } 5635 #pragma omp atomic compare capture release 5636 { 5637 if (ix < ie) { 5638 ix = ie; 5639 } 5640 iv = ix; 5641 } 5642 #pragma omp atomic compare capture release 5643 { 5644 if (ix == ie) { 5645 ix = id; 5646 } 5647 iv = ix; 5648 } 5649 #pragma omp atomic compare capture release 5650 { 5651 if (ie == ix) { 5652 ix = id; 5653 } 5654 iv = ix; 5655 } 5656 #pragma omp atomic compare capture release 5657 if (ix == ie) { 5658 ix = id; 5659 } else { 5660 iv = ix; 5661 } 5662 #pragma omp atomic compare capture release 5663 if (ie == ix) { 5664 ix = id; 5665 } else { 5666 iv = ix; 5667 } 5668 #pragma omp atomic compare capture release 5669 { 5670 ir = ix == ie; 5671 if (ir) { 5672 ix = id; 5673 } 5674 } 5675 #pragma omp atomic compare capture release 5676 { 5677 ir = ie == ix; 5678 if (ir) { 5679 ix = id; 5680 } 5681 } 5682 #pragma omp atomic compare capture release 5683 { 5684 ir = ix == ie; 5685 if (ir) { 5686 ix = id; 5687 } else { 5688 iv = ix; 5689 } 5690 } 5691 #pragma omp atomic compare capture release 5692 { 5693 ir = ie == ix; 5694 if (ir) { 5695 ix = id; 5696 } else { 5697 iv = ix; 5698 } 5699 } 5700 5701 #pragma omp atomic compare capture seq_cst 5702 { 5703 iv = ix; 5704 if (ie > ix) { 5705 ix = ie; 5706 } 5707 } 5708 #pragma omp atomic compare capture seq_cst 5709 { 5710 iv = ix; 5711 if (ix > ie) { 5712 ix = ie; 5713 } 5714 } 5715 #pragma omp atomic compare capture seq_cst 5716 { 5717 iv = ix; 5718 if (ie < ix) { 5719 ix = ie; 5720 } 5721 } 5722 #pragma omp atomic compare capture seq_cst 5723 { 5724 iv = ix; 5725 if (ix < ie) { 5726 ix = ie; 5727 } 5728 } 5729 #pragma omp atomic compare capture seq_cst 5730 { 5731 iv = ix; 5732 if (ix == ie) { 5733 ix = id; 5734 } 5735 } 5736 #pragma omp atomic compare capture seq_cst 5737 { 5738 iv = ix; 5739 if (ie == ix) { 5740 ix = id; 5741 } 5742 } 5743 #pragma omp atomic compare capture seq_cst 5744 { 5745 if (ie > ix) { 5746 ix = ie; 5747 } 5748 iv = ix; 5749 } 5750 #pragma omp atomic compare capture seq_cst 5751 { 5752 if (ix > ie) { 5753 ix = ie; 5754 } 5755 iv = ix; 5756 } 5757 #pragma omp atomic compare capture seq_cst 5758 { 5759 if (ie < ix) { 5760 ix = ie; 5761 } 5762 iv = ix; 5763 } 5764 #pragma omp atomic compare capture seq_cst 5765 { 5766 if (ix < ie) { 5767 ix = ie; 5768 } 5769 iv = ix; 5770 } 5771 #pragma omp atomic compare capture seq_cst 5772 { 5773 if (ix == ie) { 5774 ix = id; 5775 } 5776 iv = ix; 5777 } 5778 #pragma omp atomic compare capture seq_cst 5779 { 5780 if (ie == ix) { 5781 ix = id; 5782 } 5783 iv = ix; 5784 } 5785 #pragma omp atomic compare capture seq_cst 5786 if (ix == ie) { 5787 ix = id; 5788 } else { 5789 iv = ix; 5790 } 5791 #pragma omp atomic compare capture seq_cst 5792 if (ie == ix) { 5793 ix = id; 5794 } else { 5795 iv = ix; 5796 } 5797 #pragma omp atomic compare capture seq_cst 5798 { 5799 ir = ix == ie; 5800 if (ir) { 5801 ix = id; 5802 } 5803 } 5804 #pragma omp atomic compare capture seq_cst 5805 { 5806 ir = ie == ix; 5807 if (ir) { 5808 ix = id; 5809 } 5810 } 5811 #pragma omp atomic compare capture seq_cst 5812 { 5813 ir = ix == ie; 5814 if (ir) { 5815 ix = id; 5816 } else { 5817 iv = ix; 5818 } 5819 } 5820 #pragma omp atomic compare capture seq_cst 5821 { 5822 ir = ie == ix; 5823 if (ir) { 5824 ix = id; 5825 } else { 5826 iv = ix; 5827 } 5828 } 5829 5830 #pragma omp atomic compare capture 5831 { 5832 uiv = uix; 5833 if (uie > uix) { 5834 uix = uie; 5835 } 5836 } 5837 #pragma omp atomic compare capture 5838 { 5839 uiv = uix; 5840 if (uix > uie) { 5841 uix = uie; 5842 } 5843 } 5844 #pragma omp atomic compare capture 5845 { 5846 uiv = uix; 5847 if (uie < uix) { 5848 uix = uie; 5849 } 5850 } 5851 #pragma omp atomic compare capture 5852 { 5853 uiv = uix; 5854 if (uix < uie) { 5855 uix = uie; 5856 } 5857 } 5858 #pragma omp atomic compare capture 5859 { 5860 uiv = uix; 5861 if (uix == uie) { 5862 uix = uid; 5863 } 5864 } 5865 #pragma omp atomic compare capture 5866 { 5867 uiv = uix; 5868 if (uie == uix) { 5869 uix = uid; 5870 } 5871 } 5872 #pragma omp atomic compare capture 5873 { 5874 if (uie > uix) { 5875 uix = uie; 5876 } 5877 uiv = uix; 5878 } 5879 #pragma omp atomic compare capture 5880 { 5881 if (uix > uie) { 5882 uix = uie; 5883 } 5884 uiv = uix; 5885 } 5886 #pragma omp atomic compare capture 5887 { 5888 if (uie < uix) { 5889 uix = uie; 5890 } 5891 uiv = uix; 5892 } 5893 #pragma omp atomic compare capture 5894 { 5895 if (uix < uie) { 5896 uix = uie; 5897 } 5898 uiv = uix; 5899 } 5900 #pragma omp atomic compare capture 5901 { 5902 if (uix == uie) { 5903 uix = uid; 5904 } 5905 uiv = uix; 5906 } 5907 #pragma omp atomic compare capture 5908 { 5909 if (uie == uix) { 5910 uix = uid; 5911 } 5912 uiv = uix; 5913 } 5914 #pragma omp atomic compare capture 5915 if (uix == uie) { 5916 uix = uid; 5917 } else { 5918 uiv = uix; 5919 } 5920 #pragma omp atomic compare capture 5921 if (uie == uix) { 5922 uix = uid; 5923 } else { 5924 uiv = uix; 5925 } 5926 #pragma omp atomic compare capture 5927 { 5928 uir = uix == uie; 5929 if (uir) { 5930 uix = uid; 5931 } 5932 } 5933 #pragma omp atomic compare capture 5934 { 5935 uir = uie == uix; 5936 if (uir) { 5937 uix = uid; 5938 } 5939 } 5940 #pragma omp atomic compare capture 5941 { 5942 uir = uix == uie; 5943 if (uir) { 5944 uix = uid; 5945 } else { 5946 uiv = uix; 5947 } 5948 } 5949 #pragma omp atomic compare capture 5950 { 5951 uir = uie == uix; 5952 if (uir) { 5953 uix = uid; 5954 } else { 5955 uiv = uix; 5956 } 5957 } 5958 5959 #pragma omp atomic compare capture acq_rel 5960 { 5961 uiv = uix; 5962 if (uie > uix) { 5963 uix = uie; 5964 } 5965 } 5966 #pragma omp atomic compare capture acq_rel 5967 { 5968 uiv = uix; 5969 if (uix > uie) { 5970 uix = uie; 5971 } 5972 } 5973 #pragma omp atomic compare capture acq_rel 5974 { 5975 uiv = uix; 5976 if (uie < uix) { 5977 uix = uie; 5978 } 5979 } 5980 #pragma omp atomic compare capture acq_rel 5981 { 5982 uiv = uix; 5983 if (uix < uie) { 5984 uix = uie; 5985 } 5986 } 5987 #pragma omp atomic compare capture acq_rel 5988 { 5989 uiv = uix; 5990 if (uix == uie) { 5991 uix = uid; 5992 } 5993 } 5994 #pragma omp atomic compare capture acq_rel 5995 { 5996 uiv = uix; 5997 if (uie == uix) { 5998 uix = uid; 5999 } 6000 } 6001 #pragma omp atomic compare capture acq_rel 6002 { 6003 if (uie > uix) { 6004 uix = uie; 6005 } 6006 uiv = uix; 6007 } 6008 #pragma omp atomic compare capture acq_rel 6009 { 6010 if (uix > uie) { 6011 uix = uie; 6012 } 6013 uiv = uix; 6014 } 6015 #pragma omp atomic compare capture acq_rel 6016 { 6017 if (uie < uix) { 6018 uix = uie; 6019 } 6020 uiv = uix; 6021 } 6022 #pragma omp atomic compare capture acq_rel 6023 { 6024 if (uix < uie) { 6025 uix = uie; 6026 } 6027 uiv = uix; 6028 } 6029 #pragma omp atomic compare capture acq_rel 6030 { 6031 if (uix == uie) { 6032 uix = uid; 6033 } 6034 uiv = uix; 6035 } 6036 #pragma omp atomic compare capture acq_rel 6037 { 6038 if (uie == uix) { 6039 uix = uid; 6040 } 6041 uiv = uix; 6042 } 6043 #pragma omp atomic compare capture acq_rel 6044 if (uix == uie) { 6045 uix = uid; 6046 } else { 6047 uiv = uix; 6048 } 6049 #pragma omp atomic compare capture acq_rel 6050 if (uie == uix) { 6051 uix = uid; 6052 } else { 6053 uiv = uix; 6054 } 6055 #pragma omp atomic compare capture acq_rel 6056 { 6057 uir = uix == uie; 6058 if (uir) { 6059 uix = uid; 6060 } 6061 } 6062 #pragma omp atomic compare capture acq_rel 6063 { 6064 uir = uie == uix; 6065 if (uir) { 6066 uix = uid; 6067 } 6068 } 6069 #pragma omp atomic compare capture acq_rel 6070 { 6071 uir = uix == uie; 6072 if (uir) { 6073 uix = uid; 6074 } else { 6075 uiv = uix; 6076 } 6077 } 6078 #pragma omp atomic compare capture acq_rel 6079 { 6080 uir = uie == uix; 6081 if (uir) { 6082 uix = uid; 6083 } else { 6084 uiv = uix; 6085 } 6086 } 6087 6088 #pragma omp atomic compare capture acquire 6089 { 6090 uiv = uix; 6091 if (uie > uix) { 6092 uix = uie; 6093 } 6094 } 6095 #pragma omp atomic compare capture acquire 6096 { 6097 uiv = uix; 6098 if (uix > uie) { 6099 uix = uie; 6100 } 6101 } 6102 #pragma omp atomic compare capture acquire 6103 { 6104 uiv = uix; 6105 if (uie < uix) { 6106 uix = uie; 6107 } 6108 } 6109 #pragma omp atomic compare capture acquire 6110 { 6111 uiv = uix; 6112 if (uix < uie) { 6113 uix = uie; 6114 } 6115 } 6116 #pragma omp atomic compare capture acquire 6117 { 6118 uiv = uix; 6119 if (uix == uie) { 6120 uix = uid; 6121 } 6122 } 6123 #pragma omp atomic compare capture acquire 6124 { 6125 uiv = uix; 6126 if (uie == uix) { 6127 uix = uid; 6128 } 6129 } 6130 #pragma omp atomic compare capture acquire 6131 { 6132 if (uie > uix) { 6133 uix = uie; 6134 } 6135 uiv = uix; 6136 } 6137 #pragma omp atomic compare capture acquire 6138 { 6139 if (uix > uie) { 6140 uix = uie; 6141 } 6142 uiv = uix; 6143 } 6144 #pragma omp atomic compare capture acquire 6145 { 6146 if (uie < uix) { 6147 uix = uie; 6148 } 6149 uiv = uix; 6150 } 6151 #pragma omp atomic compare capture acquire 6152 { 6153 if (uix < uie) { 6154 uix = uie; 6155 } 6156 uiv = uix; 6157 } 6158 #pragma omp atomic compare capture acquire 6159 { 6160 if (uix == uie) { 6161 uix = uid; 6162 } 6163 uiv = uix; 6164 } 6165 #pragma omp atomic compare capture acquire 6166 { 6167 if (uie == uix) { 6168 uix = uid; 6169 } 6170 uiv = uix; 6171 } 6172 #pragma omp atomic compare capture acquire 6173 if (uix == uie) { 6174 uix = uid; 6175 } else { 6176 uiv = uix; 6177 } 6178 #pragma omp atomic compare capture acquire 6179 if (uie == uix) { 6180 uix = uid; 6181 } else { 6182 uiv = uix; 6183 } 6184 #pragma omp atomic compare capture acquire 6185 { 6186 uir = uix == uie; 6187 if (uir) { 6188 uix = uid; 6189 } 6190 } 6191 #pragma omp atomic compare capture acquire 6192 { 6193 uir = uie == uix; 6194 if (uir) { 6195 uix = uid; 6196 } 6197 } 6198 #pragma omp atomic compare capture acquire 6199 { 6200 uir = uix == uie; 6201 if (uir) { 6202 uix = uid; 6203 } else { 6204 uiv = uix; 6205 } 6206 } 6207 #pragma omp atomic compare capture acquire 6208 { 6209 uir = uie == uix; 6210 if (uir) { 6211 uix = uid; 6212 } else { 6213 uiv = uix; 6214 } 6215 } 6216 6217 #pragma omp atomic compare capture relaxed 6218 { 6219 uiv = uix; 6220 if (uie > uix) { 6221 uix = uie; 6222 } 6223 } 6224 #pragma omp atomic compare capture relaxed 6225 { 6226 uiv = uix; 6227 if (uix > uie) { 6228 uix = uie; 6229 } 6230 } 6231 #pragma omp atomic compare capture relaxed 6232 { 6233 uiv = uix; 6234 if (uie < uix) { 6235 uix = uie; 6236 } 6237 } 6238 #pragma omp atomic compare capture relaxed 6239 { 6240 uiv = uix; 6241 if (uix < uie) { 6242 uix = uie; 6243 } 6244 } 6245 #pragma omp atomic compare capture relaxed 6246 { 6247 uiv = uix; 6248 if (uix == uie) { 6249 uix = uid; 6250 } 6251 } 6252 #pragma omp atomic compare capture relaxed 6253 { 6254 uiv = uix; 6255 if (uie == uix) { 6256 uix = uid; 6257 } 6258 } 6259 #pragma omp atomic compare capture relaxed 6260 { 6261 if (uie > uix) { 6262 uix = uie; 6263 } 6264 uiv = uix; 6265 } 6266 #pragma omp atomic compare capture relaxed 6267 { 6268 if (uix > uie) { 6269 uix = uie; 6270 } 6271 uiv = uix; 6272 } 6273 #pragma omp atomic compare capture relaxed 6274 { 6275 if (uie < uix) { 6276 uix = uie; 6277 } 6278 uiv = uix; 6279 } 6280 #pragma omp atomic compare capture relaxed 6281 { 6282 if (uix < uie) { 6283 uix = uie; 6284 } 6285 uiv = uix; 6286 } 6287 #pragma omp atomic compare capture relaxed 6288 { 6289 if (uix == uie) { 6290 uix = uid; 6291 } 6292 uiv = uix; 6293 } 6294 #pragma omp atomic compare capture relaxed 6295 { 6296 if (uie == uix) { 6297 uix = uid; 6298 } 6299 uiv = uix; 6300 } 6301 #pragma omp atomic compare capture relaxed 6302 if (uix == uie) { 6303 uix = uid; 6304 } else { 6305 uiv = uix; 6306 } 6307 #pragma omp atomic compare capture relaxed 6308 if (uie == uix) { 6309 uix = uid; 6310 } else { 6311 uiv = uix; 6312 } 6313 #pragma omp atomic compare capture relaxed 6314 { 6315 uir = uix == uie; 6316 if (uir) { 6317 uix = uid; 6318 } 6319 } 6320 #pragma omp atomic compare capture relaxed 6321 { 6322 uir = uie == uix; 6323 if (uir) { 6324 uix = uid; 6325 } 6326 } 6327 #pragma omp atomic compare capture relaxed 6328 { 6329 uir = uix == uie; 6330 if (uir) { 6331 uix = uid; 6332 } else { 6333 uiv = uix; 6334 } 6335 } 6336 #pragma omp atomic compare capture relaxed 6337 { 6338 uir = uie == uix; 6339 if (uir) { 6340 uix = uid; 6341 } else { 6342 uiv = uix; 6343 } 6344 } 6345 6346 #pragma omp atomic compare capture release 6347 { 6348 uiv = uix; 6349 if (uie > uix) { 6350 uix = uie; 6351 } 6352 } 6353 #pragma omp atomic compare capture release 6354 { 6355 uiv = uix; 6356 if (uix > uie) { 6357 uix = uie; 6358 } 6359 } 6360 #pragma omp atomic compare capture release 6361 { 6362 uiv = uix; 6363 if (uie < uix) { 6364 uix = uie; 6365 } 6366 } 6367 #pragma omp atomic compare capture release 6368 { 6369 uiv = uix; 6370 if (uix < uie) { 6371 uix = uie; 6372 } 6373 } 6374 #pragma omp atomic compare capture release 6375 { 6376 uiv = uix; 6377 if (uix == uie) { 6378 uix = uid; 6379 } 6380 } 6381 #pragma omp atomic compare capture release 6382 { 6383 uiv = uix; 6384 if (uie == uix) { 6385 uix = uid; 6386 } 6387 } 6388 #pragma omp atomic compare capture release 6389 { 6390 if (uie > uix) { 6391 uix = uie; 6392 } 6393 uiv = uix; 6394 } 6395 #pragma omp atomic compare capture release 6396 { 6397 if (uix > uie) { 6398 uix = uie; 6399 } 6400 uiv = uix; 6401 } 6402 #pragma omp atomic compare capture release 6403 { 6404 if (uie < uix) { 6405 uix = uie; 6406 } 6407 uiv = uix; 6408 } 6409 #pragma omp atomic compare capture release 6410 { 6411 if (uix < uie) { 6412 uix = uie; 6413 } 6414 uiv = uix; 6415 } 6416 #pragma omp atomic compare capture release 6417 { 6418 if (uix == uie) { 6419 uix = uid; 6420 } 6421 uiv = uix; 6422 } 6423 #pragma omp atomic compare capture release 6424 { 6425 if (uie == uix) { 6426 uix = uid; 6427 } 6428 uiv = uix; 6429 } 6430 #pragma omp atomic compare capture release 6431 if (uix == uie) { 6432 uix = uid; 6433 } else { 6434 uiv = uix; 6435 } 6436 #pragma omp atomic compare capture release 6437 if (uie == uix) { 6438 uix = uid; 6439 } else { 6440 uiv = uix; 6441 } 6442 #pragma omp atomic compare capture release 6443 { 6444 uir = uix == uie; 6445 if (uir) { 6446 uix = uid; 6447 } 6448 } 6449 #pragma omp atomic compare capture release 6450 { 6451 uir = uie == uix; 6452 if (uir) { 6453 uix = uid; 6454 } 6455 } 6456 #pragma omp atomic compare capture release 6457 { 6458 uir = uix == uie; 6459 if (uir) { 6460 uix = uid; 6461 } else { 6462 uiv = uix; 6463 } 6464 } 6465 #pragma omp atomic compare capture release 6466 { 6467 uir = uie == uix; 6468 if (uir) { 6469 uix = uid; 6470 } else { 6471 uiv = uix; 6472 } 6473 } 6474 6475 #pragma omp atomic compare capture seq_cst 6476 { 6477 uiv = uix; 6478 if (uie > uix) { 6479 uix = uie; 6480 } 6481 } 6482 #pragma omp atomic compare capture seq_cst 6483 { 6484 uiv = uix; 6485 if (uix > uie) { 6486 uix = uie; 6487 } 6488 } 6489 #pragma omp atomic compare capture seq_cst 6490 { 6491 uiv = uix; 6492 if (uie < uix) { 6493 uix = uie; 6494 } 6495 } 6496 #pragma omp atomic compare capture seq_cst 6497 { 6498 uiv = uix; 6499 if (uix < uie) { 6500 uix = uie; 6501 } 6502 } 6503 #pragma omp atomic compare capture seq_cst 6504 { 6505 uiv = uix; 6506 if (uix == uie) { 6507 uix = uid; 6508 } 6509 } 6510 #pragma omp atomic compare capture seq_cst 6511 { 6512 uiv = uix; 6513 if (uie == uix) { 6514 uix = uid; 6515 } 6516 } 6517 #pragma omp atomic compare capture seq_cst 6518 { 6519 if (uie > uix) { 6520 uix = uie; 6521 } 6522 uiv = uix; 6523 } 6524 #pragma omp atomic compare capture seq_cst 6525 { 6526 if (uix > uie) { 6527 uix = uie; 6528 } 6529 uiv = uix; 6530 } 6531 #pragma omp atomic compare capture seq_cst 6532 { 6533 if (uie < uix) { 6534 uix = uie; 6535 } 6536 uiv = uix; 6537 } 6538 #pragma omp atomic compare capture seq_cst 6539 { 6540 if (uix < uie) { 6541 uix = uie; 6542 } 6543 uiv = uix; 6544 } 6545 #pragma omp atomic compare capture seq_cst 6546 { 6547 if (uix == uie) { 6548 uix = uid; 6549 } 6550 uiv = uix; 6551 } 6552 #pragma omp atomic compare capture seq_cst 6553 { 6554 if (uie == uix) { 6555 uix = uid; 6556 } 6557 uiv = uix; 6558 } 6559 #pragma omp atomic compare capture seq_cst 6560 if (uix == uie) { 6561 uix = uid; 6562 } else { 6563 uiv = uix; 6564 } 6565 #pragma omp atomic compare capture seq_cst 6566 if (uie == uix) { 6567 uix = uid; 6568 } else { 6569 uiv = uix; 6570 } 6571 #pragma omp atomic compare capture seq_cst 6572 { 6573 uir = uix == uie; 6574 if (uir) { 6575 uix = uid; 6576 } 6577 } 6578 #pragma omp atomic compare capture seq_cst 6579 { 6580 uir = uie == uix; 6581 if (uir) { 6582 uix = uid; 6583 } 6584 } 6585 #pragma omp atomic compare capture seq_cst 6586 { 6587 uir = uix == uie; 6588 if (uir) { 6589 uix = uid; 6590 } else { 6591 uiv = uix; 6592 } 6593 } 6594 #pragma omp atomic compare capture seq_cst 6595 { 6596 uir = uie == uix; 6597 if (uir) { 6598 uix = uid; 6599 } else { 6600 uiv = uix; 6601 } 6602 } 6603 6604 #pragma omp atomic compare capture 6605 { 6606 lv = lx; 6607 if (le > lx) { 6608 lx = le; 6609 } 6610 } 6611 #pragma omp atomic compare capture 6612 { 6613 lv = lx; 6614 if (lx > le) { 6615 lx = le; 6616 } 6617 } 6618 #pragma omp atomic compare capture 6619 { 6620 lv = lx; 6621 if (le < lx) { 6622 lx = le; 6623 } 6624 } 6625 #pragma omp atomic compare capture 6626 { 6627 lv = lx; 6628 if (lx < le) { 6629 lx = le; 6630 } 6631 } 6632 #pragma omp atomic compare capture 6633 { 6634 lv = lx; 6635 if (lx == le) { 6636 lx = ld; 6637 } 6638 } 6639 #pragma omp atomic compare capture 6640 { 6641 lv = lx; 6642 if (le == lx) { 6643 lx = ld; 6644 } 6645 } 6646 #pragma omp atomic compare capture 6647 { 6648 if (le > lx) { 6649 lx = le; 6650 } 6651 lv = lx; 6652 } 6653 #pragma omp atomic compare capture 6654 { 6655 if (lx > le) { 6656 lx = le; 6657 } 6658 lv = lx; 6659 } 6660 #pragma omp atomic compare capture 6661 { 6662 if (le < lx) { 6663 lx = le; 6664 } 6665 lv = lx; 6666 } 6667 #pragma omp atomic compare capture 6668 { 6669 if (lx < le) { 6670 lx = le; 6671 } 6672 lv = lx; 6673 } 6674 #pragma omp atomic compare capture 6675 { 6676 if (lx == le) { 6677 lx = ld; 6678 } 6679 lv = lx; 6680 } 6681 #pragma omp atomic compare capture 6682 { 6683 if (le == lx) { 6684 lx = ld; 6685 } 6686 lv = lx; 6687 } 6688 #pragma omp atomic compare capture 6689 if (lx == le) { 6690 lx = ld; 6691 } else { 6692 lv = lx; 6693 } 6694 #pragma omp atomic compare capture 6695 if (le == lx) { 6696 lx = ld; 6697 } else { 6698 lv = lx; 6699 } 6700 #pragma omp atomic compare capture 6701 { 6702 lr = lx == le; 6703 if (lr) { 6704 lx = ld; 6705 } 6706 } 6707 #pragma omp atomic compare capture 6708 { 6709 lr = le == lx; 6710 if (lr) { 6711 lx = ld; 6712 } 6713 } 6714 #pragma omp atomic compare capture 6715 { 6716 lr = lx == le; 6717 if (lr) { 6718 lx = ld; 6719 } else { 6720 lv = lx; 6721 } 6722 } 6723 #pragma omp atomic compare capture 6724 { 6725 lr = le == lx; 6726 if (lr) { 6727 lx = ld; 6728 } else { 6729 lv = lx; 6730 } 6731 } 6732 6733 #pragma omp atomic compare capture acq_rel 6734 { 6735 lv = lx; 6736 if (le > lx) { 6737 lx = le; 6738 } 6739 } 6740 #pragma omp atomic compare capture acq_rel 6741 { 6742 lv = lx; 6743 if (lx > le) { 6744 lx = le; 6745 } 6746 } 6747 #pragma omp atomic compare capture acq_rel 6748 { 6749 lv = lx; 6750 if (le < lx) { 6751 lx = le; 6752 } 6753 } 6754 #pragma omp atomic compare capture acq_rel 6755 { 6756 lv = lx; 6757 if (lx < le) { 6758 lx = le; 6759 } 6760 } 6761 #pragma omp atomic compare capture acq_rel 6762 { 6763 lv = lx; 6764 if (lx == le) { 6765 lx = ld; 6766 } 6767 } 6768 #pragma omp atomic compare capture acq_rel 6769 { 6770 lv = lx; 6771 if (le == lx) { 6772 lx = ld; 6773 } 6774 } 6775 #pragma omp atomic compare capture acq_rel 6776 { 6777 if (le > lx) { 6778 lx = le; 6779 } 6780 lv = lx; 6781 } 6782 #pragma omp atomic compare capture acq_rel 6783 { 6784 if (lx > le) { 6785 lx = le; 6786 } 6787 lv = lx; 6788 } 6789 #pragma omp atomic compare capture acq_rel 6790 { 6791 if (le < lx) { 6792 lx = le; 6793 } 6794 lv = lx; 6795 } 6796 #pragma omp atomic compare capture acq_rel 6797 { 6798 if (lx < le) { 6799 lx = le; 6800 } 6801 lv = lx; 6802 } 6803 #pragma omp atomic compare capture acq_rel 6804 { 6805 if (lx == le) { 6806 lx = ld; 6807 } 6808 lv = lx; 6809 } 6810 #pragma omp atomic compare capture acq_rel 6811 { 6812 if (le == lx) { 6813 lx = ld; 6814 } 6815 lv = lx; 6816 } 6817 #pragma omp atomic compare capture acq_rel 6818 if (lx == le) { 6819 lx = ld; 6820 } else { 6821 lv = lx; 6822 } 6823 #pragma omp atomic compare capture acq_rel 6824 if (le == lx) { 6825 lx = ld; 6826 } else { 6827 lv = lx; 6828 } 6829 #pragma omp atomic compare capture acq_rel 6830 { 6831 lr = lx == le; 6832 if (lr) { 6833 lx = ld; 6834 } 6835 } 6836 #pragma omp atomic compare capture acq_rel 6837 { 6838 lr = le == lx; 6839 if (lr) { 6840 lx = ld; 6841 } 6842 } 6843 #pragma omp atomic compare capture acq_rel 6844 { 6845 lr = lx == le; 6846 if (lr) { 6847 lx = ld; 6848 } else { 6849 lv = lx; 6850 } 6851 } 6852 #pragma omp atomic compare capture acq_rel 6853 { 6854 lr = le == lx; 6855 if (lr) { 6856 lx = ld; 6857 } else { 6858 lv = lx; 6859 } 6860 } 6861 6862 #pragma omp atomic compare capture acquire 6863 { 6864 lv = lx; 6865 if (le > lx) { 6866 lx = le; 6867 } 6868 } 6869 #pragma omp atomic compare capture acquire 6870 { 6871 lv = lx; 6872 if (lx > le) { 6873 lx = le; 6874 } 6875 } 6876 #pragma omp atomic compare capture acquire 6877 { 6878 lv = lx; 6879 if (le < lx) { 6880 lx = le; 6881 } 6882 } 6883 #pragma omp atomic compare capture acquire 6884 { 6885 lv = lx; 6886 if (lx < le) { 6887 lx = le; 6888 } 6889 } 6890 #pragma omp atomic compare capture acquire 6891 { 6892 lv = lx; 6893 if (lx == le) { 6894 lx = ld; 6895 } 6896 } 6897 #pragma omp atomic compare capture acquire 6898 { 6899 lv = lx; 6900 if (le == lx) { 6901 lx = ld; 6902 } 6903 } 6904 #pragma omp atomic compare capture acquire 6905 { 6906 if (le > lx) { 6907 lx = le; 6908 } 6909 lv = lx; 6910 } 6911 #pragma omp atomic compare capture acquire 6912 { 6913 if (lx > le) { 6914 lx = le; 6915 } 6916 lv = lx; 6917 } 6918 #pragma omp atomic compare capture acquire 6919 { 6920 if (le < lx) { 6921 lx = le; 6922 } 6923 lv = lx; 6924 } 6925 #pragma omp atomic compare capture acquire 6926 { 6927 if (lx < le) { 6928 lx = le; 6929 } 6930 lv = lx; 6931 } 6932 #pragma omp atomic compare capture acquire 6933 { 6934 if (lx == le) { 6935 lx = ld; 6936 } 6937 lv = lx; 6938 } 6939 #pragma omp atomic compare capture acquire 6940 { 6941 if (le == lx) { 6942 lx = ld; 6943 } 6944 lv = lx; 6945 } 6946 #pragma omp atomic compare capture acquire 6947 if (lx == le) { 6948 lx = ld; 6949 } else { 6950 lv = lx; 6951 } 6952 #pragma omp atomic compare capture acquire 6953 if (le == lx) { 6954 lx = ld; 6955 } else { 6956 lv = lx; 6957 } 6958 #pragma omp atomic compare capture acquire 6959 { 6960 lr = lx == le; 6961 if (lr) { 6962 lx = ld; 6963 } 6964 } 6965 #pragma omp atomic compare capture acquire 6966 { 6967 lr = le == lx; 6968 if (lr) { 6969 lx = ld; 6970 } 6971 } 6972 #pragma omp atomic compare capture acquire 6973 { 6974 lr = lx == le; 6975 if (lr) { 6976 lx = ld; 6977 } else { 6978 lv = lx; 6979 } 6980 } 6981 #pragma omp atomic compare capture acquire 6982 { 6983 lr = le == lx; 6984 if (lr) { 6985 lx = ld; 6986 } else { 6987 lv = lx; 6988 } 6989 } 6990 6991 #pragma omp atomic compare capture relaxed 6992 { 6993 lv = lx; 6994 if (le > lx) { 6995 lx = le; 6996 } 6997 } 6998 #pragma omp atomic compare capture relaxed 6999 { 7000 lv = lx; 7001 if (lx > le) { 7002 lx = le; 7003 } 7004 } 7005 #pragma omp atomic compare capture relaxed 7006 { 7007 lv = lx; 7008 if (le < lx) { 7009 lx = le; 7010 } 7011 } 7012 #pragma omp atomic compare capture relaxed 7013 { 7014 lv = lx; 7015 if (lx < le) { 7016 lx = le; 7017 } 7018 } 7019 #pragma omp atomic compare capture relaxed 7020 { 7021 lv = lx; 7022 if (lx == le) { 7023 lx = ld; 7024 } 7025 } 7026 #pragma omp atomic compare capture relaxed 7027 { 7028 lv = lx; 7029 if (le == lx) { 7030 lx = ld; 7031 } 7032 } 7033 #pragma omp atomic compare capture relaxed 7034 { 7035 if (le > lx) { 7036 lx = le; 7037 } 7038 lv = lx; 7039 } 7040 #pragma omp atomic compare capture relaxed 7041 { 7042 if (lx > le) { 7043 lx = le; 7044 } 7045 lv = lx; 7046 } 7047 #pragma omp atomic compare capture relaxed 7048 { 7049 if (le < lx) { 7050 lx = le; 7051 } 7052 lv = lx; 7053 } 7054 #pragma omp atomic compare capture relaxed 7055 { 7056 if (lx < le) { 7057 lx = le; 7058 } 7059 lv = lx; 7060 } 7061 #pragma omp atomic compare capture relaxed 7062 { 7063 if (lx == le) { 7064 lx = ld; 7065 } 7066 lv = lx; 7067 } 7068 #pragma omp atomic compare capture relaxed 7069 { 7070 if (le == lx) { 7071 lx = ld; 7072 } 7073 lv = lx; 7074 } 7075 #pragma omp atomic compare capture relaxed 7076 if (lx == le) { 7077 lx = ld; 7078 } else { 7079 lv = lx; 7080 } 7081 #pragma omp atomic compare capture relaxed 7082 if (le == lx) { 7083 lx = ld; 7084 } else { 7085 lv = lx; 7086 } 7087 #pragma omp atomic compare capture relaxed 7088 { 7089 lr = lx == le; 7090 if (lr) { 7091 lx = ld; 7092 } 7093 } 7094 #pragma omp atomic compare capture relaxed 7095 { 7096 lr = le == lx; 7097 if (lr) { 7098 lx = ld; 7099 } 7100 } 7101 #pragma omp atomic compare capture relaxed 7102 { 7103 lr = lx == le; 7104 if (lr) { 7105 lx = ld; 7106 } else { 7107 lv = lx; 7108 } 7109 } 7110 #pragma omp atomic compare capture relaxed 7111 { 7112 lr = le == lx; 7113 if (lr) { 7114 lx = ld; 7115 } else { 7116 lv = lx; 7117 } 7118 } 7119 7120 #pragma omp atomic compare capture release 7121 { 7122 lv = lx; 7123 if (le > lx) { 7124 lx = le; 7125 } 7126 } 7127 #pragma omp atomic compare capture release 7128 { 7129 lv = lx; 7130 if (lx > le) { 7131 lx = le; 7132 } 7133 } 7134 #pragma omp atomic compare capture release 7135 { 7136 lv = lx; 7137 if (le < lx) { 7138 lx = le; 7139 } 7140 } 7141 #pragma omp atomic compare capture release 7142 { 7143 lv = lx; 7144 if (lx < le) { 7145 lx = le; 7146 } 7147 } 7148 #pragma omp atomic compare capture release 7149 { 7150 lv = lx; 7151 if (lx == le) { 7152 lx = ld; 7153 } 7154 } 7155 #pragma omp atomic compare capture release 7156 { 7157 lv = lx; 7158 if (le == lx) { 7159 lx = ld; 7160 } 7161 } 7162 #pragma omp atomic compare capture release 7163 { 7164 if (le > lx) { 7165 lx = le; 7166 } 7167 lv = lx; 7168 } 7169 #pragma omp atomic compare capture release 7170 { 7171 if (lx > le) { 7172 lx = le; 7173 } 7174 lv = lx; 7175 } 7176 #pragma omp atomic compare capture release 7177 { 7178 if (le < lx) { 7179 lx = le; 7180 } 7181 lv = lx; 7182 } 7183 #pragma omp atomic compare capture release 7184 { 7185 if (lx < le) { 7186 lx = le; 7187 } 7188 lv = lx; 7189 } 7190 #pragma omp atomic compare capture release 7191 { 7192 if (lx == le) { 7193 lx = ld; 7194 } 7195 lv = lx; 7196 } 7197 #pragma omp atomic compare capture release 7198 { 7199 if (le == lx) { 7200 lx = ld; 7201 } 7202 lv = lx; 7203 } 7204 #pragma omp atomic compare capture release 7205 if (lx == le) { 7206 lx = ld; 7207 } else { 7208 lv = lx; 7209 } 7210 #pragma omp atomic compare capture release 7211 if (le == lx) { 7212 lx = ld; 7213 } else { 7214 lv = lx; 7215 } 7216 #pragma omp atomic compare capture release 7217 { 7218 lr = lx == le; 7219 if (lr) { 7220 lx = ld; 7221 } 7222 } 7223 #pragma omp atomic compare capture release 7224 { 7225 lr = le == lx; 7226 if (lr) { 7227 lx = ld; 7228 } 7229 } 7230 #pragma omp atomic compare capture release 7231 { 7232 lr = lx == le; 7233 if (lr) { 7234 lx = ld; 7235 } else { 7236 lv = lx; 7237 } 7238 } 7239 #pragma omp atomic compare capture release 7240 { 7241 lr = le == lx; 7242 if (lr) { 7243 lx = ld; 7244 } else { 7245 lv = lx; 7246 } 7247 } 7248 7249 #pragma omp atomic compare capture seq_cst 7250 { 7251 lv = lx; 7252 if (le > lx) { 7253 lx = le; 7254 } 7255 } 7256 #pragma omp atomic compare capture seq_cst 7257 { 7258 lv = lx; 7259 if (lx > le) { 7260 lx = le; 7261 } 7262 } 7263 #pragma omp atomic compare capture seq_cst 7264 { 7265 lv = lx; 7266 if (le < lx) { 7267 lx = le; 7268 } 7269 } 7270 #pragma omp atomic compare capture seq_cst 7271 { 7272 lv = lx; 7273 if (lx < le) { 7274 lx = le; 7275 } 7276 } 7277 #pragma omp atomic compare capture seq_cst 7278 { 7279 lv = lx; 7280 if (lx == le) { 7281 lx = ld; 7282 } 7283 } 7284 #pragma omp atomic compare capture seq_cst 7285 { 7286 lv = lx; 7287 if (le == lx) { 7288 lx = ld; 7289 } 7290 } 7291 #pragma omp atomic compare capture seq_cst 7292 { 7293 if (le > lx) { 7294 lx = le; 7295 } 7296 lv = lx; 7297 } 7298 #pragma omp atomic compare capture seq_cst 7299 { 7300 if (lx > le) { 7301 lx = le; 7302 } 7303 lv = lx; 7304 } 7305 #pragma omp atomic compare capture seq_cst 7306 { 7307 if (le < lx) { 7308 lx = le; 7309 } 7310 lv = lx; 7311 } 7312 #pragma omp atomic compare capture seq_cst 7313 { 7314 if (lx < le) { 7315 lx = le; 7316 } 7317 lv = lx; 7318 } 7319 #pragma omp atomic compare capture seq_cst 7320 { 7321 if (lx == le) { 7322 lx = ld; 7323 } 7324 lv = lx; 7325 } 7326 #pragma omp atomic compare capture seq_cst 7327 { 7328 if (le == lx) { 7329 lx = ld; 7330 } 7331 lv = lx; 7332 } 7333 #pragma omp atomic compare capture seq_cst 7334 if (lx == le) { 7335 lx = ld; 7336 } else { 7337 lv = lx; 7338 } 7339 #pragma omp atomic compare capture seq_cst 7340 if (le == lx) { 7341 lx = ld; 7342 } else { 7343 lv = lx; 7344 } 7345 #pragma omp atomic compare capture seq_cst 7346 { 7347 lr = lx == le; 7348 if (lr) { 7349 lx = ld; 7350 } 7351 } 7352 #pragma omp atomic compare capture seq_cst 7353 { 7354 lr = le == lx; 7355 if (lr) { 7356 lx = ld; 7357 } 7358 } 7359 #pragma omp atomic compare capture seq_cst 7360 { 7361 lr = lx == le; 7362 if (lr) { 7363 lx = ld; 7364 } else { 7365 lv = lx; 7366 } 7367 } 7368 #pragma omp atomic compare capture seq_cst 7369 { 7370 lr = le == lx; 7371 if (lr) { 7372 lx = ld; 7373 } else { 7374 lv = lx; 7375 } 7376 } 7377 7378 #pragma omp atomic compare capture 7379 { 7380 ulv = ulx; 7381 if (ule > ulx) { 7382 ulx = ule; 7383 } 7384 } 7385 #pragma omp atomic compare capture 7386 { 7387 ulv = ulx; 7388 if (ulx > ule) { 7389 ulx = ule; 7390 } 7391 } 7392 #pragma omp atomic compare capture 7393 { 7394 ulv = ulx; 7395 if (ule < ulx) { 7396 ulx = ule; 7397 } 7398 } 7399 #pragma omp atomic compare capture 7400 { 7401 ulv = ulx; 7402 if (ulx < ule) { 7403 ulx = ule; 7404 } 7405 } 7406 #pragma omp atomic compare capture 7407 { 7408 ulv = ulx; 7409 if (ulx == ule) { 7410 ulx = uld; 7411 } 7412 } 7413 #pragma omp atomic compare capture 7414 { 7415 ulv = ulx; 7416 if (ule == ulx) { 7417 ulx = uld; 7418 } 7419 } 7420 #pragma omp atomic compare capture 7421 { 7422 if (ule > ulx) { 7423 ulx = ule; 7424 } 7425 ulv = ulx; 7426 } 7427 #pragma omp atomic compare capture 7428 { 7429 if (ulx > ule) { 7430 ulx = ule; 7431 } 7432 ulv = ulx; 7433 } 7434 #pragma omp atomic compare capture 7435 { 7436 if (ule < ulx) { 7437 ulx = ule; 7438 } 7439 ulv = ulx; 7440 } 7441 #pragma omp atomic compare capture 7442 { 7443 if (ulx < ule) { 7444 ulx = ule; 7445 } 7446 ulv = ulx; 7447 } 7448 #pragma omp atomic compare capture 7449 { 7450 if (ulx == ule) { 7451 ulx = uld; 7452 } 7453 ulv = ulx; 7454 } 7455 #pragma omp atomic compare capture 7456 { 7457 if (ule == ulx) { 7458 ulx = uld; 7459 } 7460 ulv = ulx; 7461 } 7462 #pragma omp atomic compare capture 7463 if (ulx == ule) { 7464 ulx = uld; 7465 } else { 7466 ulv = ulx; 7467 } 7468 #pragma omp atomic compare capture 7469 if (ule == ulx) { 7470 ulx = uld; 7471 } else { 7472 ulv = ulx; 7473 } 7474 #pragma omp atomic compare capture 7475 { 7476 ulr = ulx == ule; 7477 if (ulr) { 7478 ulx = uld; 7479 } 7480 } 7481 #pragma omp atomic compare capture 7482 { 7483 ulr = ule == ulx; 7484 if (ulr) { 7485 ulx = uld; 7486 } 7487 } 7488 #pragma omp atomic compare capture 7489 { 7490 ulr = ulx == ule; 7491 if (ulr) { 7492 ulx = uld; 7493 } else { 7494 ulv = ulx; 7495 } 7496 } 7497 #pragma omp atomic compare capture 7498 { 7499 ulr = ule == ulx; 7500 if (ulr) { 7501 ulx = uld; 7502 } else { 7503 ulv = ulx; 7504 } 7505 } 7506 7507 #pragma omp atomic compare capture acq_rel 7508 { 7509 ulv = ulx; 7510 if (ule > ulx) { 7511 ulx = ule; 7512 } 7513 } 7514 #pragma omp atomic compare capture acq_rel 7515 { 7516 ulv = ulx; 7517 if (ulx > ule) { 7518 ulx = ule; 7519 } 7520 } 7521 #pragma omp atomic compare capture acq_rel 7522 { 7523 ulv = ulx; 7524 if (ule < ulx) { 7525 ulx = ule; 7526 } 7527 } 7528 #pragma omp atomic compare capture acq_rel 7529 { 7530 ulv = ulx; 7531 if (ulx < ule) { 7532 ulx = ule; 7533 } 7534 } 7535 #pragma omp atomic compare capture acq_rel 7536 { 7537 ulv = ulx; 7538 if (ulx == ule) { 7539 ulx = uld; 7540 } 7541 } 7542 #pragma omp atomic compare capture acq_rel 7543 { 7544 ulv = ulx; 7545 if (ule == ulx) { 7546 ulx = uld; 7547 } 7548 } 7549 #pragma omp atomic compare capture acq_rel 7550 { 7551 if (ule > ulx) { 7552 ulx = ule; 7553 } 7554 ulv = ulx; 7555 } 7556 #pragma omp atomic compare capture acq_rel 7557 { 7558 if (ulx > ule) { 7559 ulx = ule; 7560 } 7561 ulv = ulx; 7562 } 7563 #pragma omp atomic compare capture acq_rel 7564 { 7565 if (ule < ulx) { 7566 ulx = ule; 7567 } 7568 ulv = ulx; 7569 } 7570 #pragma omp atomic compare capture acq_rel 7571 { 7572 if (ulx < ule) { 7573 ulx = ule; 7574 } 7575 ulv = ulx; 7576 } 7577 #pragma omp atomic compare capture acq_rel 7578 { 7579 if (ulx == ule) { 7580 ulx = uld; 7581 } 7582 ulv = ulx; 7583 } 7584 #pragma omp atomic compare capture acq_rel 7585 { 7586 if (ule == ulx) { 7587 ulx = uld; 7588 } 7589 ulv = ulx; 7590 } 7591 #pragma omp atomic compare capture acq_rel 7592 if (ulx == ule) { 7593 ulx = uld; 7594 } else { 7595 ulv = ulx; 7596 } 7597 #pragma omp atomic compare capture acq_rel 7598 if (ule == ulx) { 7599 ulx = uld; 7600 } else { 7601 ulv = ulx; 7602 } 7603 #pragma omp atomic compare capture acq_rel 7604 { 7605 ulr = ulx == ule; 7606 if (ulr) { 7607 ulx = uld; 7608 } 7609 } 7610 #pragma omp atomic compare capture acq_rel 7611 { 7612 ulr = ule == ulx; 7613 if (ulr) { 7614 ulx = uld; 7615 } 7616 } 7617 #pragma omp atomic compare capture acq_rel 7618 { 7619 ulr = ulx == ule; 7620 if (ulr) { 7621 ulx = uld; 7622 } else { 7623 ulv = ulx; 7624 } 7625 } 7626 #pragma omp atomic compare capture acq_rel 7627 { 7628 ulr = ule == ulx; 7629 if (ulr) { 7630 ulx = uld; 7631 } else { 7632 ulv = ulx; 7633 } 7634 } 7635 7636 #pragma omp atomic compare capture acquire 7637 { 7638 ulv = ulx; 7639 if (ule > ulx) { 7640 ulx = ule; 7641 } 7642 } 7643 #pragma omp atomic compare capture acquire 7644 { 7645 ulv = ulx; 7646 if (ulx > ule) { 7647 ulx = ule; 7648 } 7649 } 7650 #pragma omp atomic compare capture acquire 7651 { 7652 ulv = ulx; 7653 if (ule < ulx) { 7654 ulx = ule; 7655 } 7656 } 7657 #pragma omp atomic compare capture acquire 7658 { 7659 ulv = ulx; 7660 if (ulx < ule) { 7661 ulx = ule; 7662 } 7663 } 7664 #pragma omp atomic compare capture acquire 7665 { 7666 ulv = ulx; 7667 if (ulx == ule) { 7668 ulx = uld; 7669 } 7670 } 7671 #pragma omp atomic compare capture acquire 7672 { 7673 ulv = ulx; 7674 if (ule == ulx) { 7675 ulx = uld; 7676 } 7677 } 7678 #pragma omp atomic compare capture acquire 7679 { 7680 if (ule > ulx) { 7681 ulx = ule; 7682 } 7683 ulv = ulx; 7684 } 7685 #pragma omp atomic compare capture acquire 7686 { 7687 if (ulx > ule) { 7688 ulx = ule; 7689 } 7690 ulv = ulx; 7691 } 7692 #pragma omp atomic compare capture acquire 7693 { 7694 if (ule < ulx) { 7695 ulx = ule; 7696 } 7697 ulv = ulx; 7698 } 7699 #pragma omp atomic compare capture acquire 7700 { 7701 if (ulx < ule) { 7702 ulx = ule; 7703 } 7704 ulv = ulx; 7705 } 7706 #pragma omp atomic compare capture acquire 7707 { 7708 if (ulx == ule) { 7709 ulx = uld; 7710 } 7711 ulv = ulx; 7712 } 7713 #pragma omp atomic compare capture acquire 7714 { 7715 if (ule == ulx) { 7716 ulx = uld; 7717 } 7718 ulv = ulx; 7719 } 7720 #pragma omp atomic compare capture acquire 7721 if (ulx == ule) { 7722 ulx = uld; 7723 } else { 7724 ulv = ulx; 7725 } 7726 #pragma omp atomic compare capture acquire 7727 if (ule == ulx) { 7728 ulx = uld; 7729 } else { 7730 ulv = ulx; 7731 } 7732 #pragma omp atomic compare capture acquire 7733 { 7734 ulr = ulx == ule; 7735 if (ulr) { 7736 ulx = uld; 7737 } 7738 } 7739 #pragma omp atomic compare capture acquire 7740 { 7741 ulr = ule == ulx; 7742 if (ulr) { 7743 ulx = uld; 7744 } 7745 } 7746 #pragma omp atomic compare capture acquire 7747 { 7748 ulr = ulx == ule; 7749 if (ulr) { 7750 ulx = uld; 7751 } else { 7752 ulv = ulx; 7753 } 7754 } 7755 #pragma omp atomic compare capture acquire 7756 { 7757 ulr = ule == ulx; 7758 if (ulr) { 7759 ulx = uld; 7760 } else { 7761 ulv = ulx; 7762 } 7763 } 7764 7765 #pragma omp atomic compare capture relaxed 7766 { 7767 ulv = ulx; 7768 if (ule > ulx) { 7769 ulx = ule; 7770 } 7771 } 7772 #pragma omp atomic compare capture relaxed 7773 { 7774 ulv = ulx; 7775 if (ulx > ule) { 7776 ulx = ule; 7777 } 7778 } 7779 #pragma omp atomic compare capture relaxed 7780 { 7781 ulv = ulx; 7782 if (ule < ulx) { 7783 ulx = ule; 7784 } 7785 } 7786 #pragma omp atomic compare capture relaxed 7787 { 7788 ulv = ulx; 7789 if (ulx < ule) { 7790 ulx = ule; 7791 } 7792 } 7793 #pragma omp atomic compare capture relaxed 7794 { 7795 ulv = ulx; 7796 if (ulx == ule) { 7797 ulx = uld; 7798 } 7799 } 7800 #pragma omp atomic compare capture relaxed 7801 { 7802 ulv = ulx; 7803 if (ule == ulx) { 7804 ulx = uld; 7805 } 7806 } 7807 #pragma omp atomic compare capture relaxed 7808 { 7809 if (ule > ulx) { 7810 ulx = ule; 7811 } 7812 ulv = ulx; 7813 } 7814 #pragma omp atomic compare capture relaxed 7815 { 7816 if (ulx > ule) { 7817 ulx = ule; 7818 } 7819 ulv = ulx; 7820 } 7821 #pragma omp atomic compare capture relaxed 7822 { 7823 if (ule < ulx) { 7824 ulx = ule; 7825 } 7826 ulv = ulx; 7827 } 7828 #pragma omp atomic compare capture relaxed 7829 { 7830 if (ulx < ule) { 7831 ulx = ule; 7832 } 7833 ulv = ulx; 7834 } 7835 #pragma omp atomic compare capture relaxed 7836 { 7837 if (ulx == ule) { 7838 ulx = uld; 7839 } 7840 ulv = ulx; 7841 } 7842 #pragma omp atomic compare capture relaxed 7843 { 7844 if (ule == ulx) { 7845 ulx = uld; 7846 } 7847 ulv = ulx; 7848 } 7849 #pragma omp atomic compare capture relaxed 7850 if (ulx == ule) { 7851 ulx = uld; 7852 } else { 7853 ulv = ulx; 7854 } 7855 #pragma omp atomic compare capture relaxed 7856 if (ule == ulx) { 7857 ulx = uld; 7858 } else { 7859 ulv = ulx; 7860 } 7861 #pragma omp atomic compare capture relaxed 7862 { 7863 ulr = ulx == ule; 7864 if (ulr) { 7865 ulx = uld; 7866 } 7867 } 7868 #pragma omp atomic compare capture relaxed 7869 { 7870 ulr = ule == ulx; 7871 if (ulr) { 7872 ulx = uld; 7873 } 7874 } 7875 #pragma omp atomic compare capture relaxed 7876 { 7877 ulr = ulx == ule; 7878 if (ulr) { 7879 ulx = uld; 7880 } else { 7881 ulv = ulx; 7882 } 7883 } 7884 #pragma omp atomic compare capture relaxed 7885 { 7886 ulr = ule == ulx; 7887 if (ulr) { 7888 ulx = uld; 7889 } else { 7890 ulv = ulx; 7891 } 7892 } 7893 7894 #pragma omp atomic compare capture release 7895 { 7896 ulv = ulx; 7897 if (ule > ulx) { 7898 ulx = ule; 7899 } 7900 } 7901 #pragma omp atomic compare capture release 7902 { 7903 ulv = ulx; 7904 if (ulx > ule) { 7905 ulx = ule; 7906 } 7907 } 7908 #pragma omp atomic compare capture release 7909 { 7910 ulv = ulx; 7911 if (ule < ulx) { 7912 ulx = ule; 7913 } 7914 } 7915 #pragma omp atomic compare capture release 7916 { 7917 ulv = ulx; 7918 if (ulx < ule) { 7919 ulx = ule; 7920 } 7921 } 7922 #pragma omp atomic compare capture release 7923 { 7924 ulv = ulx; 7925 if (ulx == ule) { 7926 ulx = uld; 7927 } 7928 } 7929 #pragma omp atomic compare capture release 7930 { 7931 ulv = ulx; 7932 if (ule == ulx) { 7933 ulx = uld; 7934 } 7935 } 7936 #pragma omp atomic compare capture release 7937 { 7938 if (ule > ulx) { 7939 ulx = ule; 7940 } 7941 ulv = ulx; 7942 } 7943 #pragma omp atomic compare capture release 7944 { 7945 if (ulx > ule) { 7946 ulx = ule; 7947 } 7948 ulv = ulx; 7949 } 7950 #pragma omp atomic compare capture release 7951 { 7952 if (ule < ulx) { 7953 ulx = ule; 7954 } 7955 ulv = ulx; 7956 } 7957 #pragma omp atomic compare capture release 7958 { 7959 if (ulx < ule) { 7960 ulx = ule; 7961 } 7962 ulv = ulx; 7963 } 7964 #pragma omp atomic compare capture release 7965 { 7966 if (ulx == ule) { 7967 ulx = uld; 7968 } 7969 ulv = ulx; 7970 } 7971 #pragma omp atomic compare capture release 7972 { 7973 if (ule == ulx) { 7974 ulx = uld; 7975 } 7976 ulv = ulx; 7977 } 7978 #pragma omp atomic compare capture release 7979 if (ulx == ule) { 7980 ulx = uld; 7981 } else { 7982 ulv = ulx; 7983 } 7984 #pragma omp atomic compare capture release 7985 if (ule == ulx) { 7986 ulx = uld; 7987 } else { 7988 ulv = ulx; 7989 } 7990 #pragma omp atomic compare capture release 7991 { 7992 ulr = ulx == ule; 7993 if (ulr) { 7994 ulx = uld; 7995 } 7996 } 7997 #pragma omp atomic compare capture release 7998 { 7999 ulr = ule == ulx; 8000 if (ulr) { 8001 ulx = uld; 8002 } 8003 } 8004 #pragma omp atomic compare capture release 8005 { 8006 ulr = ulx == ule; 8007 if (ulr) { 8008 ulx = uld; 8009 } else { 8010 ulv = ulx; 8011 } 8012 } 8013 #pragma omp atomic compare capture release 8014 { 8015 ulr = ule == ulx; 8016 if (ulr) { 8017 ulx = uld; 8018 } else { 8019 ulv = ulx; 8020 } 8021 } 8022 8023 #pragma omp atomic compare capture seq_cst 8024 { 8025 ulv = ulx; 8026 if (ule > ulx) { 8027 ulx = ule; 8028 } 8029 } 8030 #pragma omp atomic compare capture seq_cst 8031 { 8032 ulv = ulx; 8033 if (ulx > ule) { 8034 ulx = ule; 8035 } 8036 } 8037 #pragma omp atomic compare capture seq_cst 8038 { 8039 ulv = ulx; 8040 if (ule < ulx) { 8041 ulx = ule; 8042 } 8043 } 8044 #pragma omp atomic compare capture seq_cst 8045 { 8046 ulv = ulx; 8047 if (ulx < ule) { 8048 ulx = ule; 8049 } 8050 } 8051 #pragma omp atomic compare capture seq_cst 8052 { 8053 ulv = ulx; 8054 if (ulx == ule) { 8055 ulx = uld; 8056 } 8057 } 8058 #pragma omp atomic compare capture seq_cst 8059 { 8060 ulv = ulx; 8061 if (ule == ulx) { 8062 ulx = uld; 8063 } 8064 } 8065 #pragma omp atomic compare capture seq_cst 8066 { 8067 if (ule > ulx) { 8068 ulx = ule; 8069 } 8070 ulv = ulx; 8071 } 8072 #pragma omp atomic compare capture seq_cst 8073 { 8074 if (ulx > ule) { 8075 ulx = ule; 8076 } 8077 ulv = ulx; 8078 } 8079 #pragma omp atomic compare capture seq_cst 8080 { 8081 if (ule < ulx) { 8082 ulx = ule; 8083 } 8084 ulv = ulx; 8085 } 8086 #pragma omp atomic compare capture seq_cst 8087 { 8088 if (ulx < ule) { 8089 ulx = ule; 8090 } 8091 ulv = ulx; 8092 } 8093 #pragma omp atomic compare capture seq_cst 8094 { 8095 if (ulx == ule) { 8096 ulx = uld; 8097 } 8098 ulv = ulx; 8099 } 8100 #pragma omp atomic compare capture seq_cst 8101 { 8102 if (ule == ulx) { 8103 ulx = uld; 8104 } 8105 ulv = ulx; 8106 } 8107 #pragma omp atomic compare capture seq_cst 8108 if (ulx == ule) { 8109 ulx = uld; 8110 } else { 8111 ulv = ulx; 8112 } 8113 #pragma omp atomic compare capture seq_cst 8114 if (ule == ulx) { 8115 ulx = uld; 8116 } else { 8117 ulv = ulx; 8118 } 8119 #pragma omp atomic compare capture seq_cst 8120 { 8121 ulr = ulx == ule; 8122 if (ulr) { 8123 ulx = uld; 8124 } 8125 } 8126 #pragma omp atomic compare capture seq_cst 8127 { 8128 ulr = ule == ulx; 8129 if (ulr) { 8130 ulx = uld; 8131 } 8132 } 8133 #pragma omp atomic compare capture seq_cst 8134 { 8135 ulr = ulx == ule; 8136 if (ulr) { 8137 ulx = uld; 8138 } else { 8139 ulv = ulx; 8140 } 8141 } 8142 #pragma omp atomic compare capture seq_cst 8143 { 8144 ulr = ule == ulx; 8145 if (ulr) { 8146 ulx = uld; 8147 } else { 8148 ulv = ulx; 8149 } 8150 } 8151 8152 #pragma omp atomic compare capture 8153 { 8154 llv = llx; 8155 if (lle > llx) { 8156 llx = lle; 8157 } 8158 } 8159 #pragma omp atomic compare capture 8160 { 8161 llv = llx; 8162 if (llx > lle) { 8163 llx = lle; 8164 } 8165 } 8166 #pragma omp atomic compare capture 8167 { 8168 llv = llx; 8169 if (lle < llx) { 8170 llx = lle; 8171 } 8172 } 8173 #pragma omp atomic compare capture 8174 { 8175 llv = llx; 8176 if (llx < lle) { 8177 llx = lle; 8178 } 8179 } 8180 #pragma omp atomic compare capture 8181 { 8182 llv = llx; 8183 if (llx == lle) { 8184 llx = lld; 8185 } 8186 } 8187 #pragma omp atomic compare capture 8188 { 8189 llv = llx; 8190 if (lle == llx) { 8191 llx = lld; 8192 } 8193 } 8194 #pragma omp atomic compare capture 8195 { 8196 if (lle > llx) { 8197 llx = lle; 8198 } 8199 llv = llx; 8200 } 8201 #pragma omp atomic compare capture 8202 { 8203 if (llx > lle) { 8204 llx = lle; 8205 } 8206 llv = llx; 8207 } 8208 #pragma omp atomic compare capture 8209 { 8210 if (lle < llx) { 8211 llx = lle; 8212 } 8213 llv = llx; 8214 } 8215 #pragma omp atomic compare capture 8216 { 8217 if (llx < lle) { 8218 llx = lle; 8219 } 8220 llv = llx; 8221 } 8222 #pragma omp atomic compare capture 8223 { 8224 if (llx == lle) { 8225 llx = lld; 8226 } 8227 llv = llx; 8228 } 8229 #pragma omp atomic compare capture 8230 { 8231 if (lle == llx) { 8232 llx = lld; 8233 } 8234 llv = llx; 8235 } 8236 #pragma omp atomic compare capture 8237 if (llx == lle) { 8238 llx = lld; 8239 } else { 8240 llv = llx; 8241 } 8242 #pragma omp atomic compare capture 8243 if (lle == llx) { 8244 llx = lld; 8245 } else { 8246 llv = llx; 8247 } 8248 #pragma omp atomic compare capture 8249 { 8250 llr = llx == lle; 8251 if (llr) { 8252 llx = lld; 8253 } 8254 } 8255 #pragma omp atomic compare capture 8256 { 8257 llr = lle == llx; 8258 if (llr) { 8259 llx = lld; 8260 } 8261 } 8262 #pragma omp atomic compare capture 8263 { 8264 llr = llx == lle; 8265 if (llr) { 8266 llx = lld; 8267 } else { 8268 llv = llx; 8269 } 8270 } 8271 #pragma omp atomic compare capture 8272 { 8273 llr = lle == llx; 8274 if (llr) { 8275 llx = lld; 8276 } else { 8277 llv = llx; 8278 } 8279 } 8280 8281 #pragma omp atomic compare capture acq_rel 8282 { 8283 llv = llx; 8284 if (lle > llx) { 8285 llx = lle; 8286 } 8287 } 8288 #pragma omp atomic compare capture acq_rel 8289 { 8290 llv = llx; 8291 if (llx > lle) { 8292 llx = lle; 8293 } 8294 } 8295 #pragma omp atomic compare capture acq_rel 8296 { 8297 llv = llx; 8298 if (lle < llx) { 8299 llx = lle; 8300 } 8301 } 8302 #pragma omp atomic compare capture acq_rel 8303 { 8304 llv = llx; 8305 if (llx < lle) { 8306 llx = lle; 8307 } 8308 } 8309 #pragma omp atomic compare capture acq_rel 8310 { 8311 llv = llx; 8312 if (llx == lle) { 8313 llx = lld; 8314 } 8315 } 8316 #pragma omp atomic compare capture acq_rel 8317 { 8318 llv = llx; 8319 if (lle == llx) { 8320 llx = lld; 8321 } 8322 } 8323 #pragma omp atomic compare capture acq_rel 8324 { 8325 if (lle > llx) { 8326 llx = lle; 8327 } 8328 llv = llx; 8329 } 8330 #pragma omp atomic compare capture acq_rel 8331 { 8332 if (llx > lle) { 8333 llx = lle; 8334 } 8335 llv = llx; 8336 } 8337 #pragma omp atomic compare capture acq_rel 8338 { 8339 if (lle < llx) { 8340 llx = lle; 8341 } 8342 llv = llx; 8343 } 8344 #pragma omp atomic compare capture acq_rel 8345 { 8346 if (llx < lle) { 8347 llx = lle; 8348 } 8349 llv = llx; 8350 } 8351 #pragma omp atomic compare capture acq_rel 8352 { 8353 if (llx == lle) { 8354 llx = lld; 8355 } 8356 llv = llx; 8357 } 8358 #pragma omp atomic compare capture acq_rel 8359 { 8360 if (lle == llx) { 8361 llx = lld; 8362 } 8363 llv = llx; 8364 } 8365 #pragma omp atomic compare capture acq_rel 8366 if (llx == lle) { 8367 llx = lld; 8368 } else { 8369 llv = llx; 8370 } 8371 #pragma omp atomic compare capture acq_rel 8372 if (lle == llx) { 8373 llx = lld; 8374 } else { 8375 llv = llx; 8376 } 8377 #pragma omp atomic compare capture acq_rel 8378 { 8379 llr = llx == lle; 8380 if (llr) { 8381 llx = lld; 8382 } 8383 } 8384 #pragma omp atomic compare capture acq_rel 8385 { 8386 llr = lle == llx; 8387 if (llr) { 8388 llx = lld; 8389 } 8390 } 8391 #pragma omp atomic compare capture acq_rel 8392 { 8393 llr = llx == lle; 8394 if (llr) { 8395 llx = lld; 8396 } else { 8397 llv = llx; 8398 } 8399 } 8400 #pragma omp atomic compare capture acq_rel 8401 { 8402 llr = lle == llx; 8403 if (llr) { 8404 llx = lld; 8405 } else { 8406 llv = llx; 8407 } 8408 } 8409 8410 #pragma omp atomic compare capture acquire 8411 { 8412 llv = llx; 8413 if (lle > llx) { 8414 llx = lle; 8415 } 8416 } 8417 #pragma omp atomic compare capture acquire 8418 { 8419 llv = llx; 8420 if (llx > lle) { 8421 llx = lle; 8422 } 8423 } 8424 #pragma omp atomic compare capture acquire 8425 { 8426 llv = llx; 8427 if (lle < llx) { 8428 llx = lle; 8429 } 8430 } 8431 #pragma omp atomic compare capture acquire 8432 { 8433 llv = llx; 8434 if (llx < lle) { 8435 llx = lle; 8436 } 8437 } 8438 #pragma omp atomic compare capture acquire 8439 { 8440 llv = llx; 8441 if (llx == lle) { 8442 llx = lld; 8443 } 8444 } 8445 #pragma omp atomic compare capture acquire 8446 { 8447 llv = llx; 8448 if (lle == llx) { 8449 llx = lld; 8450 } 8451 } 8452 #pragma omp atomic compare capture acquire 8453 { 8454 if (lle > llx) { 8455 llx = lle; 8456 } 8457 llv = llx; 8458 } 8459 #pragma omp atomic compare capture acquire 8460 { 8461 if (llx > lle) { 8462 llx = lle; 8463 } 8464 llv = llx; 8465 } 8466 #pragma omp atomic compare capture acquire 8467 { 8468 if (lle < llx) { 8469 llx = lle; 8470 } 8471 llv = llx; 8472 } 8473 #pragma omp atomic compare capture acquire 8474 { 8475 if (llx < lle) { 8476 llx = lle; 8477 } 8478 llv = llx; 8479 } 8480 #pragma omp atomic compare capture acquire 8481 { 8482 if (llx == lle) { 8483 llx = lld; 8484 } 8485 llv = llx; 8486 } 8487 #pragma omp atomic compare capture acquire 8488 { 8489 if (lle == llx) { 8490 llx = lld; 8491 } 8492 llv = llx; 8493 } 8494 #pragma omp atomic compare capture acquire 8495 if (llx == lle) { 8496 llx = lld; 8497 } else { 8498 llv = llx; 8499 } 8500 #pragma omp atomic compare capture acquire 8501 if (lle == llx) { 8502 llx = lld; 8503 } else { 8504 llv = llx; 8505 } 8506 #pragma omp atomic compare capture acquire 8507 { 8508 llr = llx == lle; 8509 if (llr) { 8510 llx = lld; 8511 } 8512 } 8513 #pragma omp atomic compare capture acquire 8514 { 8515 llr = lle == llx; 8516 if (llr) { 8517 llx = lld; 8518 } 8519 } 8520 #pragma omp atomic compare capture acquire 8521 { 8522 llr = llx == lle; 8523 if (llr) { 8524 llx = lld; 8525 } else { 8526 llv = llx; 8527 } 8528 } 8529 #pragma omp atomic compare capture acquire 8530 { 8531 llr = lle == llx; 8532 if (llr) { 8533 llx = lld; 8534 } else { 8535 llv = llx; 8536 } 8537 } 8538 8539 #pragma omp atomic compare capture relaxed 8540 { 8541 llv = llx; 8542 if (lle > llx) { 8543 llx = lle; 8544 } 8545 } 8546 #pragma omp atomic compare capture relaxed 8547 { 8548 llv = llx; 8549 if (llx > lle) { 8550 llx = lle; 8551 } 8552 } 8553 #pragma omp atomic compare capture relaxed 8554 { 8555 llv = llx; 8556 if (lle < llx) { 8557 llx = lle; 8558 } 8559 } 8560 #pragma omp atomic compare capture relaxed 8561 { 8562 llv = llx; 8563 if (llx < lle) { 8564 llx = lle; 8565 } 8566 } 8567 #pragma omp atomic compare capture relaxed 8568 { 8569 llv = llx; 8570 if (llx == lle) { 8571 llx = lld; 8572 } 8573 } 8574 #pragma omp atomic compare capture relaxed 8575 { 8576 llv = llx; 8577 if (lle == llx) { 8578 llx = lld; 8579 } 8580 } 8581 #pragma omp atomic compare capture relaxed 8582 { 8583 if (lle > llx) { 8584 llx = lle; 8585 } 8586 llv = llx; 8587 } 8588 #pragma omp atomic compare capture relaxed 8589 { 8590 if (llx > lle) { 8591 llx = lle; 8592 } 8593 llv = llx; 8594 } 8595 #pragma omp atomic compare capture relaxed 8596 { 8597 if (lle < llx) { 8598 llx = lle; 8599 } 8600 llv = llx; 8601 } 8602 #pragma omp atomic compare capture relaxed 8603 { 8604 if (llx < lle) { 8605 llx = lle; 8606 } 8607 llv = llx; 8608 } 8609 #pragma omp atomic compare capture relaxed 8610 { 8611 if (llx == lle) { 8612 llx = lld; 8613 } 8614 llv = llx; 8615 } 8616 #pragma omp atomic compare capture relaxed 8617 { 8618 if (lle == llx) { 8619 llx = lld; 8620 } 8621 llv = llx; 8622 } 8623 #pragma omp atomic compare capture relaxed 8624 if (llx == lle) { 8625 llx = lld; 8626 } else { 8627 llv = llx; 8628 } 8629 #pragma omp atomic compare capture relaxed 8630 if (lle == llx) { 8631 llx = lld; 8632 } else { 8633 llv = llx; 8634 } 8635 #pragma omp atomic compare capture relaxed 8636 { 8637 llr = llx == lle; 8638 if (llr) { 8639 llx = lld; 8640 } 8641 } 8642 #pragma omp atomic compare capture relaxed 8643 { 8644 llr = lle == llx; 8645 if (llr) { 8646 llx = lld; 8647 } 8648 } 8649 #pragma omp atomic compare capture relaxed 8650 { 8651 llr = llx == lle; 8652 if (llr) { 8653 llx = lld; 8654 } else { 8655 llv = llx; 8656 } 8657 } 8658 #pragma omp atomic compare capture relaxed 8659 { 8660 llr = lle == llx; 8661 if (llr) { 8662 llx = lld; 8663 } else { 8664 llv = llx; 8665 } 8666 } 8667 8668 #pragma omp atomic compare capture release 8669 { 8670 llv = llx; 8671 if (lle > llx) { 8672 llx = lle; 8673 } 8674 } 8675 #pragma omp atomic compare capture release 8676 { 8677 llv = llx; 8678 if (llx > lle) { 8679 llx = lle; 8680 } 8681 } 8682 #pragma omp atomic compare capture release 8683 { 8684 llv = llx; 8685 if (lle < llx) { 8686 llx = lle; 8687 } 8688 } 8689 #pragma omp atomic compare capture release 8690 { 8691 llv = llx; 8692 if (llx < lle) { 8693 llx = lle; 8694 } 8695 } 8696 #pragma omp atomic compare capture release 8697 { 8698 llv = llx; 8699 if (llx == lle) { 8700 llx = lld; 8701 } 8702 } 8703 #pragma omp atomic compare capture release 8704 { 8705 llv = llx; 8706 if (lle == llx) { 8707 llx = lld; 8708 } 8709 } 8710 #pragma omp atomic compare capture release 8711 { 8712 if (lle > llx) { 8713 llx = lle; 8714 } 8715 llv = llx; 8716 } 8717 #pragma omp atomic compare capture release 8718 { 8719 if (llx > lle) { 8720 llx = lle; 8721 } 8722 llv = llx; 8723 } 8724 #pragma omp atomic compare capture release 8725 { 8726 if (lle < llx) { 8727 llx = lle; 8728 } 8729 llv = llx; 8730 } 8731 #pragma omp atomic compare capture release 8732 { 8733 if (llx < lle) { 8734 llx = lle; 8735 } 8736 llv = llx; 8737 } 8738 #pragma omp atomic compare capture release 8739 { 8740 if (llx == lle) { 8741 llx = lld; 8742 } 8743 llv = llx; 8744 } 8745 #pragma omp atomic compare capture release 8746 { 8747 if (lle == llx) { 8748 llx = lld; 8749 } 8750 llv = llx; 8751 } 8752 #pragma omp atomic compare capture release 8753 if (llx == lle) { 8754 llx = lld; 8755 } else { 8756 llv = llx; 8757 } 8758 #pragma omp atomic compare capture release 8759 if (lle == llx) { 8760 llx = lld; 8761 } else { 8762 llv = llx; 8763 } 8764 #pragma omp atomic compare capture release 8765 { 8766 llr = llx == lle; 8767 if (llr) { 8768 llx = lld; 8769 } 8770 } 8771 #pragma omp atomic compare capture release 8772 { 8773 llr = lle == llx; 8774 if (llr) { 8775 llx = lld; 8776 } 8777 } 8778 #pragma omp atomic compare capture release 8779 { 8780 llr = llx == lle; 8781 if (llr) { 8782 llx = lld; 8783 } else { 8784 llv = llx; 8785 } 8786 } 8787 #pragma omp atomic compare capture release 8788 { 8789 llr = lle == llx; 8790 if (llr) { 8791 llx = lld; 8792 } else { 8793 llv = llx; 8794 } 8795 } 8796 8797 #pragma omp atomic compare capture seq_cst 8798 { 8799 llv = llx; 8800 if (lle > llx) { 8801 llx = lle; 8802 } 8803 } 8804 #pragma omp atomic compare capture seq_cst 8805 { 8806 llv = llx; 8807 if (llx > lle) { 8808 llx = lle; 8809 } 8810 } 8811 #pragma omp atomic compare capture seq_cst 8812 { 8813 llv = llx; 8814 if (lle < llx) { 8815 llx = lle; 8816 } 8817 } 8818 #pragma omp atomic compare capture seq_cst 8819 { 8820 llv = llx; 8821 if (llx < lle) { 8822 llx = lle; 8823 } 8824 } 8825 #pragma omp atomic compare capture seq_cst 8826 { 8827 llv = llx; 8828 if (llx == lle) { 8829 llx = lld; 8830 } 8831 } 8832 #pragma omp atomic compare capture seq_cst 8833 { 8834 llv = llx; 8835 if (lle == llx) { 8836 llx = lld; 8837 } 8838 } 8839 #pragma omp atomic compare capture seq_cst 8840 { 8841 if (lle > llx) { 8842 llx = lle; 8843 } 8844 llv = llx; 8845 } 8846 #pragma omp atomic compare capture seq_cst 8847 { 8848 if (llx > lle) { 8849 llx = lle; 8850 } 8851 llv = llx; 8852 } 8853 #pragma omp atomic compare capture seq_cst 8854 { 8855 if (lle < llx) { 8856 llx = lle; 8857 } 8858 llv = llx; 8859 } 8860 #pragma omp atomic compare capture seq_cst 8861 { 8862 if (llx < lle) { 8863 llx = lle; 8864 } 8865 llv = llx; 8866 } 8867 #pragma omp atomic compare capture seq_cst 8868 { 8869 if (llx == lle) { 8870 llx = lld; 8871 } 8872 llv = llx; 8873 } 8874 #pragma omp atomic compare capture seq_cst 8875 { 8876 if (lle == llx) { 8877 llx = lld; 8878 } 8879 llv = llx; 8880 } 8881 #pragma omp atomic compare capture seq_cst 8882 if (llx == lle) { 8883 llx = lld; 8884 } else { 8885 llv = llx; 8886 } 8887 #pragma omp atomic compare capture seq_cst 8888 if (lle == llx) { 8889 llx = lld; 8890 } else { 8891 llv = llx; 8892 } 8893 #pragma omp atomic compare capture seq_cst 8894 { 8895 llr = llx == lle; 8896 if (llr) { 8897 llx = lld; 8898 } 8899 } 8900 #pragma omp atomic compare capture seq_cst 8901 { 8902 llr = lle == llx; 8903 if (llr) { 8904 llx = lld; 8905 } 8906 } 8907 #pragma omp atomic compare capture seq_cst 8908 { 8909 llr = llx == lle; 8910 if (llr) { 8911 llx = lld; 8912 } else { 8913 llv = llx; 8914 } 8915 } 8916 #pragma omp atomic compare capture seq_cst 8917 { 8918 llr = lle == llx; 8919 if (llr) { 8920 llx = lld; 8921 } else { 8922 llv = llx; 8923 } 8924 } 8925 8926 #pragma omp atomic compare capture 8927 { 8928 ullv = ullx; 8929 if (ulle > ullx) { 8930 ullx = ulle; 8931 } 8932 } 8933 #pragma omp atomic compare capture 8934 { 8935 ullv = ullx; 8936 if (ullx > ulle) { 8937 ullx = ulle; 8938 } 8939 } 8940 #pragma omp atomic compare capture 8941 { 8942 ullv = ullx; 8943 if (ulle < ullx) { 8944 ullx = ulle; 8945 } 8946 } 8947 #pragma omp atomic compare capture 8948 { 8949 ullv = ullx; 8950 if (ullx < ulle) { 8951 ullx = ulle; 8952 } 8953 } 8954 #pragma omp atomic compare capture 8955 { 8956 ullv = ullx; 8957 if (ullx == ulle) { 8958 ullx = ulld; 8959 } 8960 } 8961 #pragma omp atomic compare capture 8962 { 8963 ullv = ullx; 8964 if (ulle == ullx) { 8965 ullx = ulld; 8966 } 8967 } 8968 #pragma omp atomic compare capture 8969 { 8970 if (ulle > ullx) { 8971 ullx = ulle; 8972 } 8973 ullv = ullx; 8974 } 8975 #pragma omp atomic compare capture 8976 { 8977 if (ullx > ulle) { 8978 ullx = ulle; 8979 } 8980 ullv = ullx; 8981 } 8982 #pragma omp atomic compare capture 8983 { 8984 if (ulle < ullx) { 8985 ullx = ulle; 8986 } 8987 ullv = ullx; 8988 } 8989 #pragma omp atomic compare capture 8990 { 8991 if (ullx < ulle) { 8992 ullx = ulle; 8993 } 8994 ullv = ullx; 8995 } 8996 #pragma omp atomic compare capture 8997 { 8998 if (ullx == ulle) { 8999 ullx = ulld; 9000 } 9001 ullv = ullx; 9002 } 9003 #pragma omp atomic compare capture 9004 { 9005 if (ulle == ullx) { 9006 ullx = ulld; 9007 } 9008 ullv = ullx; 9009 } 9010 #pragma omp atomic compare capture 9011 if (ullx == ulle) { 9012 ullx = ulld; 9013 } else { 9014 ullv = ullx; 9015 } 9016 #pragma omp atomic compare capture 9017 if (ulle == ullx) { 9018 ullx = ulld; 9019 } else { 9020 ullv = ullx; 9021 } 9022 #pragma omp atomic compare capture 9023 { 9024 ullr = ullx == ulle; 9025 if (ullr) { 9026 ullx = ulld; 9027 } 9028 } 9029 #pragma omp atomic compare capture 9030 { 9031 ullr = ulle == ullx; 9032 if (ullr) { 9033 ullx = ulld; 9034 } 9035 } 9036 #pragma omp atomic compare capture 9037 { 9038 ullr = ullx == ulle; 9039 if (ullr) { 9040 ullx = ulld; 9041 } else { 9042 ullv = ullx; 9043 } 9044 } 9045 #pragma omp atomic compare capture 9046 { 9047 ullr = ulle == ullx; 9048 if (ullr) { 9049 ullx = ulld; 9050 } else { 9051 ullv = ullx; 9052 } 9053 } 9054 9055 #pragma omp atomic compare capture acq_rel 9056 { 9057 ullv = ullx; 9058 if (ulle > ullx) { 9059 ullx = ulle; 9060 } 9061 } 9062 #pragma omp atomic compare capture acq_rel 9063 { 9064 ullv = ullx; 9065 if (ullx > ulle) { 9066 ullx = ulle; 9067 } 9068 } 9069 #pragma omp atomic compare capture acq_rel 9070 { 9071 ullv = ullx; 9072 if (ulle < ullx) { 9073 ullx = ulle; 9074 } 9075 } 9076 #pragma omp atomic compare capture acq_rel 9077 { 9078 ullv = ullx; 9079 if (ullx < ulle) { 9080 ullx = ulle; 9081 } 9082 } 9083 #pragma omp atomic compare capture acq_rel 9084 { 9085 ullv = ullx; 9086 if (ullx == ulle) { 9087 ullx = ulld; 9088 } 9089 } 9090 #pragma omp atomic compare capture acq_rel 9091 { 9092 ullv = ullx; 9093 if (ulle == ullx) { 9094 ullx = ulld; 9095 } 9096 } 9097 #pragma omp atomic compare capture acq_rel 9098 { 9099 if (ulle > ullx) { 9100 ullx = ulle; 9101 } 9102 ullv = ullx; 9103 } 9104 #pragma omp atomic compare capture acq_rel 9105 { 9106 if (ullx > ulle) { 9107 ullx = ulle; 9108 } 9109 ullv = ullx; 9110 } 9111 #pragma omp atomic compare capture acq_rel 9112 { 9113 if (ulle < ullx) { 9114 ullx = ulle; 9115 } 9116 ullv = ullx; 9117 } 9118 #pragma omp atomic compare capture acq_rel 9119 { 9120 if (ullx < ulle) { 9121 ullx = ulle; 9122 } 9123 ullv = ullx; 9124 } 9125 #pragma omp atomic compare capture acq_rel 9126 { 9127 if (ullx == ulle) { 9128 ullx = ulld; 9129 } 9130 ullv = ullx; 9131 } 9132 #pragma omp atomic compare capture acq_rel 9133 { 9134 if (ulle == ullx) { 9135 ullx = ulld; 9136 } 9137 ullv = ullx; 9138 } 9139 #pragma omp atomic compare capture acq_rel 9140 if (ullx == ulle) { 9141 ullx = ulld; 9142 } else { 9143 ullv = ullx; 9144 } 9145 #pragma omp atomic compare capture acq_rel 9146 if (ulle == ullx) { 9147 ullx = ulld; 9148 } else { 9149 ullv = ullx; 9150 } 9151 #pragma omp atomic compare capture acq_rel 9152 { 9153 ullr = ullx == ulle; 9154 if (ullr) { 9155 ullx = ulld; 9156 } 9157 } 9158 #pragma omp atomic compare capture acq_rel 9159 { 9160 ullr = ulle == ullx; 9161 if (ullr) { 9162 ullx = ulld; 9163 } 9164 } 9165 #pragma omp atomic compare capture acq_rel 9166 { 9167 ullr = ullx == ulle; 9168 if (ullr) { 9169 ullx = ulld; 9170 } else { 9171 ullv = ullx; 9172 } 9173 } 9174 #pragma omp atomic compare capture acq_rel 9175 { 9176 ullr = ulle == ullx; 9177 if (ullr) { 9178 ullx = ulld; 9179 } else { 9180 ullv = ullx; 9181 } 9182 } 9183 9184 #pragma omp atomic compare capture acquire 9185 { 9186 ullv = ullx; 9187 if (ulle > ullx) { 9188 ullx = ulle; 9189 } 9190 } 9191 #pragma omp atomic compare capture acquire 9192 { 9193 ullv = ullx; 9194 if (ullx > ulle) { 9195 ullx = ulle; 9196 } 9197 } 9198 #pragma omp atomic compare capture acquire 9199 { 9200 ullv = ullx; 9201 if (ulle < ullx) { 9202 ullx = ulle; 9203 } 9204 } 9205 #pragma omp atomic compare capture acquire 9206 { 9207 ullv = ullx; 9208 if (ullx < ulle) { 9209 ullx = ulle; 9210 } 9211 } 9212 #pragma omp atomic compare capture acquire 9213 { 9214 ullv = ullx; 9215 if (ullx == ulle) { 9216 ullx = ulld; 9217 } 9218 } 9219 #pragma omp atomic compare capture acquire 9220 { 9221 ullv = ullx; 9222 if (ulle == ullx) { 9223 ullx = ulld; 9224 } 9225 } 9226 #pragma omp atomic compare capture acquire 9227 { 9228 if (ulle > ullx) { 9229 ullx = ulle; 9230 } 9231 ullv = ullx; 9232 } 9233 #pragma omp atomic compare capture acquire 9234 { 9235 if (ullx > ulle) { 9236 ullx = ulle; 9237 } 9238 ullv = ullx; 9239 } 9240 #pragma omp atomic compare capture acquire 9241 { 9242 if (ulle < ullx) { 9243 ullx = ulle; 9244 } 9245 ullv = ullx; 9246 } 9247 #pragma omp atomic compare capture acquire 9248 { 9249 if (ullx < ulle) { 9250 ullx = ulle; 9251 } 9252 ullv = ullx; 9253 } 9254 #pragma omp atomic compare capture acquire 9255 { 9256 if (ullx == ulle) { 9257 ullx = ulld; 9258 } 9259 ullv = ullx; 9260 } 9261 #pragma omp atomic compare capture acquire 9262 { 9263 if (ulle == ullx) { 9264 ullx = ulld; 9265 } 9266 ullv = ullx; 9267 } 9268 #pragma omp atomic compare capture acquire 9269 if (ullx == ulle) { 9270 ullx = ulld; 9271 } else { 9272 ullv = ullx; 9273 } 9274 #pragma omp atomic compare capture acquire 9275 if (ulle == ullx) { 9276 ullx = ulld; 9277 } else { 9278 ullv = ullx; 9279 } 9280 #pragma omp atomic compare capture acquire 9281 { 9282 ullr = ullx == ulle; 9283 if (ullr) { 9284 ullx = ulld; 9285 } 9286 } 9287 #pragma omp atomic compare capture acquire 9288 { 9289 ullr = ulle == ullx; 9290 if (ullr) { 9291 ullx = ulld; 9292 } 9293 } 9294 #pragma omp atomic compare capture acquire 9295 { 9296 ullr = ullx == ulle; 9297 if (ullr) { 9298 ullx = ulld; 9299 } else { 9300 ullv = ullx; 9301 } 9302 } 9303 #pragma omp atomic compare capture acquire 9304 { 9305 ullr = ulle == ullx; 9306 if (ullr) { 9307 ullx = ulld; 9308 } else { 9309 ullv = ullx; 9310 } 9311 } 9312 9313 #pragma omp atomic compare capture relaxed 9314 { 9315 ullv = ullx; 9316 if (ulle > ullx) { 9317 ullx = ulle; 9318 } 9319 } 9320 #pragma omp atomic compare capture relaxed 9321 { 9322 ullv = ullx; 9323 if (ullx > ulle) { 9324 ullx = ulle; 9325 } 9326 } 9327 #pragma omp atomic compare capture relaxed 9328 { 9329 ullv = ullx; 9330 if (ulle < ullx) { 9331 ullx = ulle; 9332 } 9333 } 9334 #pragma omp atomic compare capture relaxed 9335 { 9336 ullv = ullx; 9337 if (ullx < ulle) { 9338 ullx = ulle; 9339 } 9340 } 9341 #pragma omp atomic compare capture relaxed 9342 { 9343 ullv = ullx; 9344 if (ullx == ulle) { 9345 ullx = ulld; 9346 } 9347 } 9348 #pragma omp atomic compare capture relaxed 9349 { 9350 ullv = ullx; 9351 if (ulle == ullx) { 9352 ullx = ulld; 9353 } 9354 } 9355 #pragma omp atomic compare capture relaxed 9356 { 9357 if (ulle > ullx) { 9358 ullx = ulle; 9359 } 9360 ullv = ullx; 9361 } 9362 #pragma omp atomic compare capture relaxed 9363 { 9364 if (ullx > ulle) { 9365 ullx = ulle; 9366 } 9367 ullv = ullx; 9368 } 9369 #pragma omp atomic compare capture relaxed 9370 { 9371 if (ulle < ullx) { 9372 ullx = ulle; 9373 } 9374 ullv = ullx; 9375 } 9376 #pragma omp atomic compare capture relaxed 9377 { 9378 if (ullx < ulle) { 9379 ullx = ulle; 9380 } 9381 ullv = ullx; 9382 } 9383 #pragma omp atomic compare capture relaxed 9384 { 9385 if (ullx == ulle) { 9386 ullx = ulld; 9387 } 9388 ullv = ullx; 9389 } 9390 #pragma omp atomic compare capture relaxed 9391 { 9392 if (ulle == ullx) { 9393 ullx = ulld; 9394 } 9395 ullv = ullx; 9396 } 9397 #pragma omp atomic compare capture relaxed 9398 if (ullx == ulle) { 9399 ullx = ulld; 9400 } else { 9401 ullv = ullx; 9402 } 9403 #pragma omp atomic compare capture relaxed 9404 if (ulle == ullx) { 9405 ullx = ulld; 9406 } else { 9407 ullv = ullx; 9408 } 9409 #pragma omp atomic compare capture relaxed 9410 { 9411 ullr = ullx == ulle; 9412 if (ullr) { 9413 ullx = ulld; 9414 } 9415 } 9416 #pragma omp atomic compare capture relaxed 9417 { 9418 ullr = ulle == ullx; 9419 if (ullr) { 9420 ullx = ulld; 9421 } 9422 } 9423 #pragma omp atomic compare capture relaxed 9424 { 9425 ullr = ullx == ulle; 9426 if (ullr) { 9427 ullx = ulld; 9428 } else { 9429 ullv = ullx; 9430 } 9431 } 9432 #pragma omp atomic compare capture relaxed 9433 { 9434 ullr = ulle == ullx; 9435 if (ullr) { 9436 ullx = ulld; 9437 } else { 9438 ullv = ullx; 9439 } 9440 } 9441 9442 #pragma omp atomic compare capture release 9443 { 9444 ullv = ullx; 9445 if (ulle > ullx) { 9446 ullx = ulle; 9447 } 9448 } 9449 #pragma omp atomic compare capture release 9450 { 9451 ullv = ullx; 9452 if (ullx > ulle) { 9453 ullx = ulle; 9454 } 9455 } 9456 #pragma omp atomic compare capture release 9457 { 9458 ullv = ullx; 9459 if (ulle < ullx) { 9460 ullx = ulle; 9461 } 9462 } 9463 #pragma omp atomic compare capture release 9464 { 9465 ullv = ullx; 9466 if (ullx < ulle) { 9467 ullx = ulle; 9468 } 9469 } 9470 #pragma omp atomic compare capture release 9471 { 9472 ullv = ullx; 9473 if (ullx == ulle) { 9474 ullx = ulld; 9475 } 9476 } 9477 #pragma omp atomic compare capture release 9478 { 9479 ullv = ullx; 9480 if (ulle == ullx) { 9481 ullx = ulld; 9482 } 9483 } 9484 #pragma omp atomic compare capture release 9485 { 9486 if (ulle > ullx) { 9487 ullx = ulle; 9488 } 9489 ullv = ullx; 9490 } 9491 #pragma omp atomic compare capture release 9492 { 9493 if (ullx > ulle) { 9494 ullx = ulle; 9495 } 9496 ullv = ullx; 9497 } 9498 #pragma omp atomic compare capture release 9499 { 9500 if (ulle < ullx) { 9501 ullx = ulle; 9502 } 9503 ullv = ullx; 9504 } 9505 #pragma omp atomic compare capture release 9506 { 9507 if (ullx < ulle) { 9508 ullx = ulle; 9509 } 9510 ullv = ullx; 9511 } 9512 #pragma omp atomic compare capture release 9513 { 9514 if (ullx == ulle) { 9515 ullx = ulld; 9516 } 9517 ullv = ullx; 9518 } 9519 #pragma omp atomic compare capture release 9520 { 9521 if (ulle == ullx) { 9522 ullx = ulld; 9523 } 9524 ullv = ullx; 9525 } 9526 #pragma omp atomic compare capture release 9527 if (ullx == ulle) { 9528 ullx = ulld; 9529 } else { 9530 ullv = ullx; 9531 } 9532 #pragma omp atomic compare capture release 9533 if (ulle == ullx) { 9534 ullx = ulld; 9535 } else { 9536 ullv = ullx; 9537 } 9538 #pragma omp atomic compare capture release 9539 { 9540 ullr = ullx == ulle; 9541 if (ullr) { 9542 ullx = ulld; 9543 } 9544 } 9545 #pragma omp atomic compare capture release 9546 { 9547 ullr = ulle == ullx; 9548 if (ullr) { 9549 ullx = ulld; 9550 } 9551 } 9552 #pragma omp atomic compare capture release 9553 { 9554 ullr = ullx == ulle; 9555 if (ullr) { 9556 ullx = ulld; 9557 } else { 9558 ullv = ullx; 9559 } 9560 } 9561 #pragma omp atomic compare capture release 9562 { 9563 ullr = ulle == ullx; 9564 if (ullr) { 9565 ullx = ulld; 9566 } else { 9567 ullv = ullx; 9568 } 9569 } 9570 9571 #pragma omp atomic compare capture seq_cst 9572 { 9573 ullv = ullx; 9574 if (ulle > ullx) { 9575 ullx = ulle; 9576 } 9577 } 9578 #pragma omp atomic compare capture seq_cst 9579 { 9580 ullv = ullx; 9581 if (ullx > ulle) { 9582 ullx = ulle; 9583 } 9584 } 9585 #pragma omp atomic compare capture seq_cst 9586 { 9587 ullv = ullx; 9588 if (ulle < ullx) { 9589 ullx = ulle; 9590 } 9591 } 9592 #pragma omp atomic compare capture seq_cst 9593 { 9594 ullv = ullx; 9595 if (ullx < ulle) { 9596 ullx = ulle; 9597 } 9598 } 9599 #pragma omp atomic compare capture seq_cst 9600 { 9601 ullv = ullx; 9602 if (ullx == ulle) { 9603 ullx = ulld; 9604 } 9605 } 9606 #pragma omp atomic compare capture seq_cst 9607 { 9608 ullv = ullx; 9609 if (ulle == ullx) { 9610 ullx = ulld; 9611 } 9612 } 9613 #pragma omp atomic compare capture seq_cst 9614 { 9615 if (ulle > ullx) { 9616 ullx = ulle; 9617 } 9618 ullv = ullx; 9619 } 9620 #pragma omp atomic compare capture seq_cst 9621 { 9622 if (ullx > ulle) { 9623 ullx = ulle; 9624 } 9625 ullv = ullx; 9626 } 9627 #pragma omp atomic compare capture seq_cst 9628 { 9629 if (ulle < ullx) { 9630 ullx = ulle; 9631 } 9632 ullv = ullx; 9633 } 9634 #pragma omp atomic compare capture seq_cst 9635 { 9636 if (ullx < ulle) { 9637 ullx = ulle; 9638 } 9639 ullv = ullx; 9640 } 9641 #pragma omp atomic compare capture seq_cst 9642 { 9643 if (ullx == ulle) { 9644 ullx = ulld; 9645 } 9646 ullv = ullx; 9647 } 9648 #pragma omp atomic compare capture seq_cst 9649 { 9650 if (ulle == ullx) { 9651 ullx = ulld; 9652 } 9653 ullv = ullx; 9654 } 9655 #pragma omp atomic compare capture seq_cst 9656 if (ullx == ulle) { 9657 ullx = ulld; 9658 } else { 9659 ullv = ullx; 9660 } 9661 #pragma omp atomic compare capture seq_cst 9662 if (ulle == ullx) { 9663 ullx = ulld; 9664 } else { 9665 ullv = ullx; 9666 } 9667 #pragma omp atomic compare capture seq_cst 9668 { 9669 ullr = ullx == ulle; 9670 if (ullr) { 9671 ullx = ulld; 9672 } 9673 } 9674 #pragma omp atomic compare capture seq_cst 9675 { 9676 ullr = ulle == ullx; 9677 if (ullr) { 9678 ullx = ulld; 9679 } 9680 } 9681 #pragma omp atomic compare capture seq_cst 9682 { 9683 ullr = ullx == ulle; 9684 if (ullr) { 9685 ullx = ulld; 9686 } else { 9687 ullv = ullx; 9688 } 9689 } 9690 #pragma omp atomic compare capture seq_cst 9691 { 9692 ullr = ulle == ullx; 9693 if (ullr) { 9694 ullx = ulld; 9695 } else { 9696 ullv = ullx; 9697 } 9698 } 9699 } 9700 9701 #endif 9702 // CHECK-LABEL: @foo( 9703 // CHECK-NEXT: entry: 9704 // CHECK-NEXT: [[CX:%.*]] = alloca i8, align 1 9705 // CHECK-NEXT: [[CE:%.*]] = alloca i8, align 1 9706 // CHECK-NEXT: [[CD:%.*]] = alloca i8, align 1 9707 // CHECK-NEXT: [[UCX:%.*]] = alloca i8, align 1 9708 // CHECK-NEXT: [[UCE:%.*]] = alloca i8, align 1 9709 // CHECK-NEXT: [[UCD:%.*]] = alloca i8, align 1 9710 // CHECK-NEXT: [[SX:%.*]] = alloca i16, align 2 9711 // CHECK-NEXT: [[SE:%.*]] = alloca i16, align 2 9712 // CHECK-NEXT: [[SD:%.*]] = alloca i16, align 2 9713 // CHECK-NEXT: [[USX:%.*]] = alloca i16, align 2 9714 // CHECK-NEXT: [[USE:%.*]] = alloca i16, align 2 9715 // CHECK-NEXT: [[USD:%.*]] = alloca i16, align 2 9716 // CHECK-NEXT: [[IX:%.*]] = alloca i32, align 4 9717 // CHECK-NEXT: [[IE:%.*]] = alloca i32, align 4 9718 // CHECK-NEXT: [[ID:%.*]] = alloca i32, align 4 9719 // CHECK-NEXT: [[UIX:%.*]] = alloca i32, align 4 9720 // CHECK-NEXT: [[UIE:%.*]] = alloca i32, align 4 9721 // CHECK-NEXT: [[UID:%.*]] = alloca i32, align 4 9722 // CHECK-NEXT: [[LX:%.*]] = alloca i64, align 8 9723 // CHECK-NEXT: [[LE:%.*]] = alloca i64, align 8 9724 // CHECK-NEXT: [[LD:%.*]] = alloca i64, align 8 9725 // CHECK-NEXT: [[ULX:%.*]] = alloca i64, align 8 9726 // CHECK-NEXT: [[ULE:%.*]] = alloca i64, align 8 9727 // CHECK-NEXT: [[ULD:%.*]] = alloca i64, align 8 9728 // CHECK-NEXT: [[LLX:%.*]] = alloca i64, align 8 9729 // CHECK-NEXT: [[LLE:%.*]] = alloca i64, align 8 9730 // CHECK-NEXT: [[LLD:%.*]] = alloca i64, align 8 9731 // CHECK-NEXT: [[ULLX:%.*]] = alloca i64, align 8 9732 // CHECK-NEXT: [[ULLE:%.*]] = alloca i64, align 8 9733 // CHECK-NEXT: [[ULLD:%.*]] = alloca i64, align 8 9734 // CHECK-NEXT: [[TMP0:%.*]] = load i8, i8* [[CE]], align 1 9735 // CHECK-NEXT: [[TMP1:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP0]] monotonic, align 1 9736 // CHECK-NEXT: [[TMP2:%.*]] = load i8, i8* [[CE]], align 1 9737 // CHECK-NEXT: [[TMP3:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP2]] monotonic, align 1 9738 // CHECK-NEXT: [[TMP4:%.*]] = load i8, i8* [[CE]], align 1 9739 // CHECK-NEXT: [[TMP5:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP4]] monotonic, align 1 9740 // CHECK-NEXT: [[TMP6:%.*]] = load i8, i8* [[CE]], align 1 9741 // CHECK-NEXT: [[TMP7:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP6]] monotonic, align 1 9742 // CHECK-NEXT: [[TMP8:%.*]] = load i8, i8* [[CE]], align 1 9743 // CHECK-NEXT: [[TMP9:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP8]] monotonic, align 1 9744 // CHECK-NEXT: [[TMP10:%.*]] = load i8, i8* [[CE]], align 1 9745 // CHECK-NEXT: [[TMP11:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP10]] monotonic, align 1 9746 // CHECK-NEXT: [[TMP12:%.*]] = load i8, i8* [[CE]], align 1 9747 // CHECK-NEXT: [[TMP13:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP12]] monotonic, align 1 9748 // CHECK-NEXT: [[TMP14:%.*]] = load i8, i8* [[CE]], align 1 9749 // CHECK-NEXT: [[TMP15:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP14]] monotonic, align 1 9750 // CHECK-NEXT: [[TMP16:%.*]] = load i8, i8* [[CE]], align 1 9751 // CHECK-NEXT: [[TMP17:%.*]] = load i8, i8* [[CD]], align 1 9752 // CHECK-NEXT: [[TMP18:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP16]], i8 [[TMP17]] monotonic monotonic, align 1 9753 // CHECK-NEXT: [[TMP19:%.*]] = load i8, i8* [[CE]], align 1 9754 // CHECK-NEXT: [[TMP20:%.*]] = load i8, i8* [[CD]], align 1 9755 // CHECK-NEXT: [[TMP21:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP19]], i8 [[TMP20]] monotonic monotonic, align 1 9756 // CHECK-NEXT: [[TMP22:%.*]] = load i8, i8* [[CE]], align 1 9757 // CHECK-NEXT: [[TMP23:%.*]] = load i8, i8* [[CD]], align 1 9758 // CHECK-NEXT: [[TMP24:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP22]], i8 [[TMP23]] monotonic monotonic, align 1 9759 // CHECK-NEXT: [[TMP25:%.*]] = load i8, i8* [[CE]], align 1 9760 // CHECK-NEXT: [[TMP26:%.*]] = load i8, i8* [[CD]], align 1 9761 // CHECK-NEXT: [[TMP27:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP25]], i8 [[TMP26]] monotonic monotonic, align 1 9762 // CHECK-NEXT: [[TMP28:%.*]] = load i8, i8* [[UCE]], align 1 9763 // CHECK-NEXT: [[TMP29:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP28]] monotonic, align 1 9764 // CHECK-NEXT: [[TMP30:%.*]] = load i8, i8* [[UCE]], align 1 9765 // CHECK-NEXT: [[TMP31:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP30]] monotonic, align 1 9766 // CHECK-NEXT: [[TMP32:%.*]] = load i8, i8* [[UCE]], align 1 9767 // CHECK-NEXT: [[TMP33:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP32]] monotonic, align 1 9768 // CHECK-NEXT: [[TMP34:%.*]] = load i8, i8* [[UCE]], align 1 9769 // CHECK-NEXT: [[TMP35:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP34]] monotonic, align 1 9770 // CHECK-NEXT: [[TMP36:%.*]] = load i8, i8* [[UCE]], align 1 9771 // CHECK-NEXT: [[TMP37:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP36]] monotonic, align 1 9772 // CHECK-NEXT: [[TMP38:%.*]] = load i8, i8* [[UCE]], align 1 9773 // CHECK-NEXT: [[TMP39:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP38]] monotonic, align 1 9774 // CHECK-NEXT: [[TMP40:%.*]] = load i8, i8* [[UCE]], align 1 9775 // CHECK-NEXT: [[TMP41:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP40]] monotonic, align 1 9776 // CHECK-NEXT: [[TMP42:%.*]] = load i8, i8* [[UCE]], align 1 9777 // CHECK-NEXT: [[TMP43:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP42]] monotonic, align 1 9778 // CHECK-NEXT: [[TMP44:%.*]] = load i8, i8* [[UCE]], align 1 9779 // CHECK-NEXT: [[TMP45:%.*]] = load i8, i8* [[UCD]], align 1 9780 // CHECK-NEXT: [[TMP46:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP44]], i8 [[TMP45]] monotonic monotonic, align 1 9781 // CHECK-NEXT: [[TMP47:%.*]] = load i8, i8* [[UCE]], align 1 9782 // CHECK-NEXT: [[TMP48:%.*]] = load i8, i8* [[UCD]], align 1 9783 // CHECK-NEXT: [[TMP49:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP47]], i8 [[TMP48]] monotonic monotonic, align 1 9784 // CHECK-NEXT: [[TMP50:%.*]] = load i8, i8* [[UCE]], align 1 9785 // CHECK-NEXT: [[TMP51:%.*]] = load i8, i8* [[UCD]], align 1 9786 // CHECK-NEXT: [[TMP52:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP50]], i8 [[TMP51]] monotonic monotonic, align 1 9787 // CHECK-NEXT: [[TMP53:%.*]] = load i8, i8* [[UCE]], align 1 9788 // CHECK-NEXT: [[TMP54:%.*]] = load i8, i8* [[UCD]], align 1 9789 // CHECK-NEXT: [[TMP55:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP53]], i8 [[TMP54]] monotonic monotonic, align 1 9790 // CHECK-NEXT: [[TMP56:%.*]] = load i8, i8* [[CE]], align 1 9791 // CHECK-NEXT: [[TMP57:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP56]] acq_rel, align 1 9792 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1:[0-9]+]]) 9793 // CHECK-NEXT: [[TMP58:%.*]] = load i8, i8* [[CE]], align 1 9794 // CHECK-NEXT: [[TMP59:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP58]] acq_rel, align 1 9795 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9796 // CHECK-NEXT: [[TMP60:%.*]] = load i8, i8* [[CE]], align 1 9797 // CHECK-NEXT: [[TMP61:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP60]] acq_rel, align 1 9798 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9799 // CHECK-NEXT: [[TMP62:%.*]] = load i8, i8* [[CE]], align 1 9800 // CHECK-NEXT: [[TMP63:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP62]] acq_rel, align 1 9801 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9802 // CHECK-NEXT: [[TMP64:%.*]] = load i8, i8* [[CE]], align 1 9803 // CHECK-NEXT: [[TMP65:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP64]] acq_rel, align 1 9804 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9805 // CHECK-NEXT: [[TMP66:%.*]] = load i8, i8* [[CE]], align 1 9806 // CHECK-NEXT: [[TMP67:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP66]] acq_rel, align 1 9807 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9808 // CHECK-NEXT: [[TMP68:%.*]] = load i8, i8* [[CE]], align 1 9809 // CHECK-NEXT: [[TMP69:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP68]] acq_rel, align 1 9810 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9811 // CHECK-NEXT: [[TMP70:%.*]] = load i8, i8* [[CE]], align 1 9812 // CHECK-NEXT: [[TMP71:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP70]] acq_rel, align 1 9813 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9814 // CHECK-NEXT: [[TMP72:%.*]] = load i8, i8* [[CE]], align 1 9815 // CHECK-NEXT: [[TMP73:%.*]] = load i8, i8* [[CD]], align 1 9816 // CHECK-NEXT: [[TMP74:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP72]], i8 [[TMP73]] acq_rel acquire, align 1 9817 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9818 // CHECK-NEXT: [[TMP75:%.*]] = load i8, i8* [[CE]], align 1 9819 // CHECK-NEXT: [[TMP76:%.*]] = load i8, i8* [[CD]], align 1 9820 // CHECK-NEXT: [[TMP77:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP75]], i8 [[TMP76]] acq_rel acquire, align 1 9821 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9822 // CHECK-NEXT: [[TMP78:%.*]] = load i8, i8* [[CE]], align 1 9823 // CHECK-NEXT: [[TMP79:%.*]] = load i8, i8* [[CD]], align 1 9824 // CHECK-NEXT: [[TMP80:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP78]], i8 [[TMP79]] acq_rel acquire, align 1 9825 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9826 // CHECK-NEXT: [[TMP81:%.*]] = load i8, i8* [[CE]], align 1 9827 // CHECK-NEXT: [[TMP82:%.*]] = load i8, i8* [[CD]], align 1 9828 // CHECK-NEXT: [[TMP83:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP81]], i8 [[TMP82]] acq_rel acquire, align 1 9829 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9830 // CHECK-NEXT: [[TMP84:%.*]] = load i8, i8* [[UCE]], align 1 9831 // CHECK-NEXT: [[TMP85:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP84]] acq_rel, align 1 9832 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9833 // CHECK-NEXT: [[TMP86:%.*]] = load i8, i8* [[UCE]], align 1 9834 // CHECK-NEXT: [[TMP87:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP86]] acq_rel, align 1 9835 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9836 // CHECK-NEXT: [[TMP88:%.*]] = load i8, i8* [[UCE]], align 1 9837 // CHECK-NEXT: [[TMP89:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP88]] acq_rel, align 1 9838 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9839 // CHECK-NEXT: [[TMP90:%.*]] = load i8, i8* [[UCE]], align 1 9840 // CHECK-NEXT: [[TMP91:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP90]] acq_rel, align 1 9841 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9842 // CHECK-NEXT: [[TMP92:%.*]] = load i8, i8* [[UCE]], align 1 9843 // CHECK-NEXT: [[TMP93:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP92]] acq_rel, align 1 9844 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9845 // CHECK-NEXT: [[TMP94:%.*]] = load i8, i8* [[UCE]], align 1 9846 // CHECK-NEXT: [[TMP95:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP94]] acq_rel, align 1 9847 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9848 // CHECK-NEXT: [[TMP96:%.*]] = load i8, i8* [[UCE]], align 1 9849 // CHECK-NEXT: [[TMP97:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP96]] acq_rel, align 1 9850 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9851 // CHECK-NEXT: [[TMP98:%.*]] = load i8, i8* [[UCE]], align 1 9852 // CHECK-NEXT: [[TMP99:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP98]] acq_rel, align 1 9853 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9854 // CHECK-NEXT: [[TMP100:%.*]] = load i8, i8* [[UCE]], align 1 9855 // CHECK-NEXT: [[TMP101:%.*]] = load i8, i8* [[UCD]], align 1 9856 // CHECK-NEXT: [[TMP102:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP100]], i8 [[TMP101]] acq_rel acquire, align 1 9857 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9858 // CHECK-NEXT: [[TMP103:%.*]] = load i8, i8* [[UCE]], align 1 9859 // CHECK-NEXT: [[TMP104:%.*]] = load i8, i8* [[UCD]], align 1 9860 // CHECK-NEXT: [[TMP105:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP103]], i8 [[TMP104]] acq_rel acquire, align 1 9861 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9862 // CHECK-NEXT: [[TMP106:%.*]] = load i8, i8* [[UCE]], align 1 9863 // CHECK-NEXT: [[TMP107:%.*]] = load i8, i8* [[UCD]], align 1 9864 // CHECK-NEXT: [[TMP108:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP106]], i8 [[TMP107]] acq_rel acquire, align 1 9865 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9866 // CHECK-NEXT: [[TMP109:%.*]] = load i8, i8* [[UCE]], align 1 9867 // CHECK-NEXT: [[TMP110:%.*]] = load i8, i8* [[UCD]], align 1 9868 // CHECK-NEXT: [[TMP111:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP109]], i8 [[TMP110]] acq_rel acquire, align 1 9869 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9870 // CHECK-NEXT: [[TMP112:%.*]] = load i8, i8* [[CE]], align 1 9871 // CHECK-NEXT: [[TMP113:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP112]] acquire, align 1 9872 // CHECK-NEXT: [[TMP114:%.*]] = load i8, i8* [[CE]], align 1 9873 // CHECK-NEXT: [[TMP115:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP114]] acquire, align 1 9874 // CHECK-NEXT: [[TMP116:%.*]] = load i8, i8* [[CE]], align 1 9875 // CHECK-NEXT: [[TMP117:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP116]] acquire, align 1 9876 // CHECK-NEXT: [[TMP118:%.*]] = load i8, i8* [[CE]], align 1 9877 // CHECK-NEXT: [[TMP119:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP118]] acquire, align 1 9878 // CHECK-NEXT: [[TMP120:%.*]] = load i8, i8* [[CE]], align 1 9879 // CHECK-NEXT: [[TMP121:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP120]] acquire, align 1 9880 // CHECK-NEXT: [[TMP122:%.*]] = load i8, i8* [[CE]], align 1 9881 // CHECK-NEXT: [[TMP123:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP122]] acquire, align 1 9882 // CHECK-NEXT: [[TMP124:%.*]] = load i8, i8* [[CE]], align 1 9883 // CHECK-NEXT: [[TMP125:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP124]] acquire, align 1 9884 // CHECK-NEXT: [[TMP126:%.*]] = load i8, i8* [[CE]], align 1 9885 // CHECK-NEXT: [[TMP127:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP126]] acquire, align 1 9886 // CHECK-NEXT: [[TMP128:%.*]] = load i8, i8* [[CE]], align 1 9887 // CHECK-NEXT: [[TMP129:%.*]] = load i8, i8* [[CD]], align 1 9888 // CHECK-NEXT: [[TMP130:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP128]], i8 [[TMP129]] acquire acquire, align 1 9889 // CHECK-NEXT: [[TMP131:%.*]] = load i8, i8* [[CE]], align 1 9890 // CHECK-NEXT: [[TMP132:%.*]] = load i8, i8* [[CD]], align 1 9891 // CHECK-NEXT: [[TMP133:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP131]], i8 [[TMP132]] acquire acquire, align 1 9892 // CHECK-NEXT: [[TMP134:%.*]] = load i8, i8* [[CE]], align 1 9893 // CHECK-NEXT: [[TMP135:%.*]] = load i8, i8* [[CD]], align 1 9894 // CHECK-NEXT: [[TMP136:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP134]], i8 [[TMP135]] acquire acquire, align 1 9895 // CHECK-NEXT: [[TMP137:%.*]] = load i8, i8* [[CE]], align 1 9896 // CHECK-NEXT: [[TMP138:%.*]] = load i8, i8* [[CD]], align 1 9897 // CHECK-NEXT: [[TMP139:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP137]], i8 [[TMP138]] acquire acquire, align 1 9898 // CHECK-NEXT: [[TMP140:%.*]] = load i8, i8* [[UCE]], align 1 9899 // CHECK-NEXT: [[TMP141:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP140]] acquire, align 1 9900 // CHECK-NEXT: [[TMP142:%.*]] = load i8, i8* [[UCE]], align 1 9901 // CHECK-NEXT: [[TMP143:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP142]] acquire, align 1 9902 // CHECK-NEXT: [[TMP144:%.*]] = load i8, i8* [[UCE]], align 1 9903 // CHECK-NEXT: [[TMP145:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP144]] acquire, align 1 9904 // CHECK-NEXT: [[TMP146:%.*]] = load i8, i8* [[UCE]], align 1 9905 // CHECK-NEXT: [[TMP147:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP146]] acquire, align 1 9906 // CHECK-NEXT: [[TMP148:%.*]] = load i8, i8* [[UCE]], align 1 9907 // CHECK-NEXT: [[TMP149:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP148]] acquire, align 1 9908 // CHECK-NEXT: [[TMP150:%.*]] = load i8, i8* [[UCE]], align 1 9909 // CHECK-NEXT: [[TMP151:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP150]] acquire, align 1 9910 // CHECK-NEXT: [[TMP152:%.*]] = load i8, i8* [[UCE]], align 1 9911 // CHECK-NEXT: [[TMP153:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP152]] acquire, align 1 9912 // CHECK-NEXT: [[TMP154:%.*]] = load i8, i8* [[UCE]], align 1 9913 // CHECK-NEXT: [[TMP155:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP154]] acquire, align 1 9914 // CHECK-NEXT: [[TMP156:%.*]] = load i8, i8* [[UCE]], align 1 9915 // CHECK-NEXT: [[TMP157:%.*]] = load i8, i8* [[UCD]], align 1 9916 // CHECK-NEXT: [[TMP158:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP156]], i8 [[TMP157]] acquire acquire, align 1 9917 // CHECK-NEXT: [[TMP159:%.*]] = load i8, i8* [[UCE]], align 1 9918 // CHECK-NEXT: [[TMP160:%.*]] = load i8, i8* [[UCD]], align 1 9919 // CHECK-NEXT: [[TMP161:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP159]], i8 [[TMP160]] acquire acquire, align 1 9920 // CHECK-NEXT: [[TMP162:%.*]] = load i8, i8* [[UCE]], align 1 9921 // CHECK-NEXT: [[TMP163:%.*]] = load i8, i8* [[UCD]], align 1 9922 // CHECK-NEXT: [[TMP164:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP162]], i8 [[TMP163]] acquire acquire, align 1 9923 // CHECK-NEXT: [[TMP165:%.*]] = load i8, i8* [[UCE]], align 1 9924 // CHECK-NEXT: [[TMP166:%.*]] = load i8, i8* [[UCD]], align 1 9925 // CHECK-NEXT: [[TMP167:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP165]], i8 [[TMP166]] acquire acquire, align 1 9926 // CHECK-NEXT: [[TMP168:%.*]] = load i8, i8* [[CE]], align 1 9927 // CHECK-NEXT: [[TMP169:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP168]] monotonic, align 1 9928 // CHECK-NEXT: [[TMP170:%.*]] = load i8, i8* [[CE]], align 1 9929 // CHECK-NEXT: [[TMP171:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP170]] monotonic, align 1 9930 // CHECK-NEXT: [[TMP172:%.*]] = load i8, i8* [[CE]], align 1 9931 // CHECK-NEXT: [[TMP173:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP172]] monotonic, align 1 9932 // CHECK-NEXT: [[TMP174:%.*]] = load i8, i8* [[CE]], align 1 9933 // CHECK-NEXT: [[TMP175:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP174]] monotonic, align 1 9934 // CHECK-NEXT: [[TMP176:%.*]] = load i8, i8* [[CE]], align 1 9935 // CHECK-NEXT: [[TMP177:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP176]] monotonic, align 1 9936 // CHECK-NEXT: [[TMP178:%.*]] = load i8, i8* [[CE]], align 1 9937 // CHECK-NEXT: [[TMP179:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP178]] monotonic, align 1 9938 // CHECK-NEXT: [[TMP180:%.*]] = load i8, i8* [[CE]], align 1 9939 // CHECK-NEXT: [[TMP181:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP180]] monotonic, align 1 9940 // CHECK-NEXT: [[TMP182:%.*]] = load i8, i8* [[CE]], align 1 9941 // CHECK-NEXT: [[TMP183:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP182]] monotonic, align 1 9942 // CHECK-NEXT: [[TMP184:%.*]] = load i8, i8* [[CE]], align 1 9943 // CHECK-NEXT: [[TMP185:%.*]] = load i8, i8* [[CD]], align 1 9944 // CHECK-NEXT: [[TMP186:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP184]], i8 [[TMP185]] monotonic monotonic, align 1 9945 // CHECK-NEXT: [[TMP187:%.*]] = load i8, i8* [[CE]], align 1 9946 // CHECK-NEXT: [[TMP188:%.*]] = load i8, i8* [[CD]], align 1 9947 // CHECK-NEXT: [[TMP189:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP187]], i8 [[TMP188]] monotonic monotonic, align 1 9948 // CHECK-NEXT: [[TMP190:%.*]] = load i8, i8* [[CE]], align 1 9949 // CHECK-NEXT: [[TMP191:%.*]] = load i8, i8* [[CD]], align 1 9950 // CHECK-NEXT: [[TMP192:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP190]], i8 [[TMP191]] monotonic monotonic, align 1 9951 // CHECK-NEXT: [[TMP193:%.*]] = load i8, i8* [[CE]], align 1 9952 // CHECK-NEXT: [[TMP194:%.*]] = load i8, i8* [[CD]], align 1 9953 // CHECK-NEXT: [[TMP195:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP193]], i8 [[TMP194]] monotonic monotonic, align 1 9954 // CHECK-NEXT: [[TMP196:%.*]] = load i8, i8* [[UCE]], align 1 9955 // CHECK-NEXT: [[TMP197:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP196]] monotonic, align 1 9956 // CHECK-NEXT: [[TMP198:%.*]] = load i8, i8* [[UCE]], align 1 9957 // CHECK-NEXT: [[TMP199:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP198]] monotonic, align 1 9958 // CHECK-NEXT: [[TMP200:%.*]] = load i8, i8* [[UCE]], align 1 9959 // CHECK-NEXT: [[TMP201:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP200]] monotonic, align 1 9960 // CHECK-NEXT: [[TMP202:%.*]] = load i8, i8* [[UCE]], align 1 9961 // CHECK-NEXT: [[TMP203:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP202]] monotonic, align 1 9962 // CHECK-NEXT: [[TMP204:%.*]] = load i8, i8* [[UCE]], align 1 9963 // CHECK-NEXT: [[TMP205:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP204]] monotonic, align 1 9964 // CHECK-NEXT: [[TMP206:%.*]] = load i8, i8* [[UCE]], align 1 9965 // CHECK-NEXT: [[TMP207:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP206]] monotonic, align 1 9966 // CHECK-NEXT: [[TMP208:%.*]] = load i8, i8* [[UCE]], align 1 9967 // CHECK-NEXT: [[TMP209:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP208]] monotonic, align 1 9968 // CHECK-NEXT: [[TMP210:%.*]] = load i8, i8* [[UCE]], align 1 9969 // CHECK-NEXT: [[TMP211:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP210]] monotonic, align 1 9970 // CHECK-NEXT: [[TMP212:%.*]] = load i8, i8* [[UCE]], align 1 9971 // CHECK-NEXT: [[TMP213:%.*]] = load i8, i8* [[UCD]], align 1 9972 // CHECK-NEXT: [[TMP214:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP212]], i8 [[TMP213]] monotonic monotonic, align 1 9973 // CHECK-NEXT: [[TMP215:%.*]] = load i8, i8* [[UCE]], align 1 9974 // CHECK-NEXT: [[TMP216:%.*]] = load i8, i8* [[UCD]], align 1 9975 // CHECK-NEXT: [[TMP217:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP215]], i8 [[TMP216]] monotonic monotonic, align 1 9976 // CHECK-NEXT: [[TMP218:%.*]] = load i8, i8* [[UCE]], align 1 9977 // CHECK-NEXT: [[TMP219:%.*]] = load i8, i8* [[UCD]], align 1 9978 // CHECK-NEXT: [[TMP220:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP218]], i8 [[TMP219]] monotonic monotonic, align 1 9979 // CHECK-NEXT: [[TMP221:%.*]] = load i8, i8* [[UCE]], align 1 9980 // CHECK-NEXT: [[TMP222:%.*]] = load i8, i8* [[UCD]], align 1 9981 // CHECK-NEXT: [[TMP223:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP221]], i8 [[TMP222]] monotonic monotonic, align 1 9982 // CHECK-NEXT: [[TMP224:%.*]] = load i8, i8* [[CE]], align 1 9983 // CHECK-NEXT: [[TMP225:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP224]] release, align 1 9984 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9985 // CHECK-NEXT: [[TMP226:%.*]] = load i8, i8* [[CE]], align 1 9986 // CHECK-NEXT: [[TMP227:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP226]] release, align 1 9987 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9988 // CHECK-NEXT: [[TMP228:%.*]] = load i8, i8* [[CE]], align 1 9989 // CHECK-NEXT: [[TMP229:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP228]] release, align 1 9990 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9991 // CHECK-NEXT: [[TMP230:%.*]] = load i8, i8* [[CE]], align 1 9992 // CHECK-NEXT: [[TMP231:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP230]] release, align 1 9993 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9994 // CHECK-NEXT: [[TMP232:%.*]] = load i8, i8* [[CE]], align 1 9995 // CHECK-NEXT: [[TMP233:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP232]] release, align 1 9996 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 9997 // CHECK-NEXT: [[TMP234:%.*]] = load i8, i8* [[CE]], align 1 9998 // CHECK-NEXT: [[TMP235:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP234]] release, align 1 9999 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10000 // CHECK-NEXT: [[TMP236:%.*]] = load i8, i8* [[CE]], align 1 10001 // CHECK-NEXT: [[TMP237:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP236]] release, align 1 10002 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10003 // CHECK-NEXT: [[TMP238:%.*]] = load i8, i8* [[CE]], align 1 10004 // CHECK-NEXT: [[TMP239:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP238]] release, align 1 10005 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10006 // CHECK-NEXT: [[TMP240:%.*]] = load i8, i8* [[CE]], align 1 10007 // CHECK-NEXT: [[TMP241:%.*]] = load i8, i8* [[CD]], align 1 10008 // CHECK-NEXT: [[TMP242:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP240]], i8 [[TMP241]] release monotonic, align 1 10009 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10010 // CHECK-NEXT: [[TMP243:%.*]] = load i8, i8* [[CE]], align 1 10011 // CHECK-NEXT: [[TMP244:%.*]] = load i8, i8* [[CD]], align 1 10012 // CHECK-NEXT: [[TMP245:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP243]], i8 [[TMP244]] release monotonic, align 1 10013 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10014 // CHECK-NEXT: [[TMP246:%.*]] = load i8, i8* [[CE]], align 1 10015 // CHECK-NEXT: [[TMP247:%.*]] = load i8, i8* [[CD]], align 1 10016 // CHECK-NEXT: [[TMP248:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP246]], i8 [[TMP247]] release monotonic, align 1 10017 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10018 // CHECK-NEXT: [[TMP249:%.*]] = load i8, i8* [[CE]], align 1 10019 // CHECK-NEXT: [[TMP250:%.*]] = load i8, i8* [[CD]], align 1 10020 // CHECK-NEXT: [[TMP251:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP249]], i8 [[TMP250]] release monotonic, align 1 10021 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10022 // CHECK-NEXT: [[TMP252:%.*]] = load i8, i8* [[UCE]], align 1 10023 // CHECK-NEXT: [[TMP253:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP252]] release, align 1 10024 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10025 // CHECK-NEXT: [[TMP254:%.*]] = load i8, i8* [[UCE]], align 1 10026 // CHECK-NEXT: [[TMP255:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP254]] release, align 1 10027 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10028 // CHECK-NEXT: [[TMP256:%.*]] = load i8, i8* [[UCE]], align 1 10029 // CHECK-NEXT: [[TMP257:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP256]] release, align 1 10030 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10031 // CHECK-NEXT: [[TMP258:%.*]] = load i8, i8* [[UCE]], align 1 10032 // CHECK-NEXT: [[TMP259:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP258]] release, align 1 10033 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10034 // CHECK-NEXT: [[TMP260:%.*]] = load i8, i8* [[UCE]], align 1 10035 // CHECK-NEXT: [[TMP261:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP260]] release, align 1 10036 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10037 // CHECK-NEXT: [[TMP262:%.*]] = load i8, i8* [[UCE]], align 1 10038 // CHECK-NEXT: [[TMP263:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP262]] release, align 1 10039 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10040 // CHECK-NEXT: [[TMP264:%.*]] = load i8, i8* [[UCE]], align 1 10041 // CHECK-NEXT: [[TMP265:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP264]] release, align 1 10042 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10043 // CHECK-NEXT: [[TMP266:%.*]] = load i8, i8* [[UCE]], align 1 10044 // CHECK-NEXT: [[TMP267:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP266]] release, align 1 10045 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10046 // CHECK-NEXT: [[TMP268:%.*]] = load i8, i8* [[UCE]], align 1 10047 // CHECK-NEXT: [[TMP269:%.*]] = load i8, i8* [[UCD]], align 1 10048 // CHECK-NEXT: [[TMP270:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP268]], i8 [[TMP269]] release monotonic, align 1 10049 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10050 // CHECK-NEXT: [[TMP271:%.*]] = load i8, i8* [[UCE]], align 1 10051 // CHECK-NEXT: [[TMP272:%.*]] = load i8, i8* [[UCD]], align 1 10052 // CHECK-NEXT: [[TMP273:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP271]], i8 [[TMP272]] release monotonic, align 1 10053 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10054 // CHECK-NEXT: [[TMP274:%.*]] = load i8, i8* [[UCE]], align 1 10055 // CHECK-NEXT: [[TMP275:%.*]] = load i8, i8* [[UCD]], align 1 10056 // CHECK-NEXT: [[TMP276:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP274]], i8 [[TMP275]] release monotonic, align 1 10057 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10058 // CHECK-NEXT: [[TMP277:%.*]] = load i8, i8* [[UCE]], align 1 10059 // CHECK-NEXT: [[TMP278:%.*]] = load i8, i8* [[UCD]], align 1 10060 // CHECK-NEXT: [[TMP279:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP277]], i8 [[TMP278]] release monotonic, align 1 10061 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10062 // CHECK-NEXT: [[TMP280:%.*]] = load i8, i8* [[CE]], align 1 10063 // CHECK-NEXT: [[TMP281:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP280]] seq_cst, align 1 10064 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10065 // CHECK-NEXT: [[TMP282:%.*]] = load i8, i8* [[CE]], align 1 10066 // CHECK-NEXT: [[TMP283:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP282]] seq_cst, align 1 10067 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10068 // CHECK-NEXT: [[TMP284:%.*]] = load i8, i8* [[CE]], align 1 10069 // CHECK-NEXT: [[TMP285:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP284]] seq_cst, align 1 10070 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10071 // CHECK-NEXT: [[TMP286:%.*]] = load i8, i8* [[CE]], align 1 10072 // CHECK-NEXT: [[TMP287:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP286]] seq_cst, align 1 10073 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10074 // CHECK-NEXT: [[TMP288:%.*]] = load i8, i8* [[CE]], align 1 10075 // CHECK-NEXT: [[TMP289:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP288]] seq_cst, align 1 10076 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10077 // CHECK-NEXT: [[TMP290:%.*]] = load i8, i8* [[CE]], align 1 10078 // CHECK-NEXT: [[TMP291:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP290]] seq_cst, align 1 10079 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10080 // CHECK-NEXT: [[TMP292:%.*]] = load i8, i8* [[CE]], align 1 10081 // CHECK-NEXT: [[TMP293:%.*]] = atomicrmw max i8* [[CX]], i8 [[TMP292]] seq_cst, align 1 10082 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10083 // CHECK-NEXT: [[TMP294:%.*]] = load i8, i8* [[CE]], align 1 10084 // CHECK-NEXT: [[TMP295:%.*]] = atomicrmw min i8* [[CX]], i8 [[TMP294]] seq_cst, align 1 10085 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10086 // CHECK-NEXT: [[TMP296:%.*]] = load i8, i8* [[CE]], align 1 10087 // CHECK-NEXT: [[TMP297:%.*]] = load i8, i8* [[CD]], align 1 10088 // CHECK-NEXT: [[TMP298:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP296]], i8 [[TMP297]] seq_cst seq_cst, align 1 10089 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10090 // CHECK-NEXT: [[TMP299:%.*]] = load i8, i8* [[CE]], align 1 10091 // CHECK-NEXT: [[TMP300:%.*]] = load i8, i8* [[CD]], align 1 10092 // CHECK-NEXT: [[TMP301:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP299]], i8 [[TMP300]] seq_cst seq_cst, align 1 10093 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10094 // CHECK-NEXT: [[TMP302:%.*]] = load i8, i8* [[CE]], align 1 10095 // CHECK-NEXT: [[TMP303:%.*]] = load i8, i8* [[CD]], align 1 10096 // CHECK-NEXT: [[TMP304:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP302]], i8 [[TMP303]] seq_cst seq_cst, align 1 10097 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10098 // CHECK-NEXT: [[TMP305:%.*]] = load i8, i8* [[CE]], align 1 10099 // CHECK-NEXT: [[TMP306:%.*]] = load i8, i8* [[CD]], align 1 10100 // CHECK-NEXT: [[TMP307:%.*]] = cmpxchg i8* [[CX]], i8 [[TMP305]], i8 [[TMP306]] seq_cst seq_cst, align 1 10101 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10102 // CHECK-NEXT: [[TMP308:%.*]] = load i8, i8* [[UCE]], align 1 10103 // CHECK-NEXT: [[TMP309:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP308]] seq_cst, align 1 10104 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10105 // CHECK-NEXT: [[TMP310:%.*]] = load i8, i8* [[UCE]], align 1 10106 // CHECK-NEXT: [[TMP311:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP310]] seq_cst, align 1 10107 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10108 // CHECK-NEXT: [[TMP312:%.*]] = load i8, i8* [[UCE]], align 1 10109 // CHECK-NEXT: [[TMP313:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP312]] seq_cst, align 1 10110 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10111 // CHECK-NEXT: [[TMP314:%.*]] = load i8, i8* [[UCE]], align 1 10112 // CHECK-NEXT: [[TMP315:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP314]] seq_cst, align 1 10113 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10114 // CHECK-NEXT: [[TMP316:%.*]] = load i8, i8* [[UCE]], align 1 10115 // CHECK-NEXT: [[TMP317:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP316]] seq_cst, align 1 10116 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10117 // CHECK-NEXT: [[TMP318:%.*]] = load i8, i8* [[UCE]], align 1 10118 // CHECK-NEXT: [[TMP319:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP318]] seq_cst, align 1 10119 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10120 // CHECK-NEXT: [[TMP320:%.*]] = load i8, i8* [[UCE]], align 1 10121 // CHECK-NEXT: [[TMP321:%.*]] = atomicrmw umax i8* [[UCX]], i8 [[TMP320]] seq_cst, align 1 10122 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10123 // CHECK-NEXT: [[TMP322:%.*]] = load i8, i8* [[UCE]], align 1 10124 // CHECK-NEXT: [[TMP323:%.*]] = atomicrmw umin i8* [[UCX]], i8 [[TMP322]] seq_cst, align 1 10125 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10126 // CHECK-NEXT: [[TMP324:%.*]] = load i8, i8* [[UCE]], align 1 10127 // CHECK-NEXT: [[TMP325:%.*]] = load i8, i8* [[UCD]], align 1 10128 // CHECK-NEXT: [[TMP326:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP324]], i8 [[TMP325]] seq_cst seq_cst, align 1 10129 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10130 // CHECK-NEXT: [[TMP327:%.*]] = load i8, i8* [[UCE]], align 1 10131 // CHECK-NEXT: [[TMP328:%.*]] = load i8, i8* [[UCD]], align 1 10132 // CHECK-NEXT: [[TMP329:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP327]], i8 [[TMP328]] seq_cst seq_cst, align 1 10133 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10134 // CHECK-NEXT: [[TMP330:%.*]] = load i8, i8* [[UCE]], align 1 10135 // CHECK-NEXT: [[TMP331:%.*]] = load i8, i8* [[UCD]], align 1 10136 // CHECK-NEXT: [[TMP332:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP330]], i8 [[TMP331]] seq_cst seq_cst, align 1 10137 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10138 // CHECK-NEXT: [[TMP333:%.*]] = load i8, i8* [[UCE]], align 1 10139 // CHECK-NEXT: [[TMP334:%.*]] = load i8, i8* [[UCD]], align 1 10140 // CHECK-NEXT: [[TMP335:%.*]] = cmpxchg i8* [[UCX]], i8 [[TMP333]], i8 [[TMP334]] seq_cst seq_cst, align 1 10141 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10142 // CHECK-NEXT: [[TMP336:%.*]] = load i16, i16* [[SE]], align 2 10143 // CHECK-NEXT: [[TMP337:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP336]] monotonic, align 2 10144 // CHECK-NEXT: [[TMP338:%.*]] = load i16, i16* [[SE]], align 2 10145 // CHECK-NEXT: [[TMP339:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP338]] monotonic, align 2 10146 // CHECK-NEXT: [[TMP340:%.*]] = load i16, i16* [[SE]], align 2 10147 // CHECK-NEXT: [[TMP341:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP340]] monotonic, align 2 10148 // CHECK-NEXT: [[TMP342:%.*]] = load i16, i16* [[SE]], align 2 10149 // CHECK-NEXT: [[TMP343:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP342]] monotonic, align 2 10150 // CHECK-NEXT: [[TMP344:%.*]] = load i16, i16* [[SE]], align 2 10151 // CHECK-NEXT: [[TMP345:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP344]] monotonic, align 2 10152 // CHECK-NEXT: [[TMP346:%.*]] = load i16, i16* [[SE]], align 2 10153 // CHECK-NEXT: [[TMP347:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP346]] monotonic, align 2 10154 // CHECK-NEXT: [[TMP348:%.*]] = load i16, i16* [[SE]], align 2 10155 // CHECK-NEXT: [[TMP349:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP348]] monotonic, align 2 10156 // CHECK-NEXT: [[TMP350:%.*]] = load i16, i16* [[SE]], align 2 10157 // CHECK-NEXT: [[TMP351:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP350]] monotonic, align 2 10158 // CHECK-NEXT: [[TMP352:%.*]] = load i16, i16* [[SE]], align 2 10159 // CHECK-NEXT: [[TMP353:%.*]] = load i16, i16* [[SD]], align 2 10160 // CHECK-NEXT: [[TMP354:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP352]], i16 [[TMP353]] monotonic monotonic, align 2 10161 // CHECK-NEXT: [[TMP355:%.*]] = load i16, i16* [[SE]], align 2 10162 // CHECK-NEXT: [[TMP356:%.*]] = load i16, i16* [[SD]], align 2 10163 // CHECK-NEXT: [[TMP357:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP355]], i16 [[TMP356]] monotonic monotonic, align 2 10164 // CHECK-NEXT: [[TMP358:%.*]] = load i16, i16* [[SE]], align 2 10165 // CHECK-NEXT: [[TMP359:%.*]] = load i16, i16* [[SD]], align 2 10166 // CHECK-NEXT: [[TMP360:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP358]], i16 [[TMP359]] monotonic monotonic, align 2 10167 // CHECK-NEXT: [[TMP361:%.*]] = load i16, i16* [[SE]], align 2 10168 // CHECK-NEXT: [[TMP362:%.*]] = load i16, i16* [[SD]], align 2 10169 // CHECK-NEXT: [[TMP363:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP361]], i16 [[TMP362]] monotonic monotonic, align 2 10170 // CHECK-NEXT: [[TMP364:%.*]] = load i16, i16* [[USE]], align 2 10171 // CHECK-NEXT: [[TMP365:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP364]] monotonic, align 2 10172 // CHECK-NEXT: [[TMP366:%.*]] = load i16, i16* [[USE]], align 2 10173 // CHECK-NEXT: [[TMP367:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP366]] monotonic, align 2 10174 // CHECK-NEXT: [[TMP368:%.*]] = load i16, i16* [[USE]], align 2 10175 // CHECK-NEXT: [[TMP369:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP368]] monotonic, align 2 10176 // CHECK-NEXT: [[TMP370:%.*]] = load i16, i16* [[USE]], align 2 10177 // CHECK-NEXT: [[TMP371:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP370]] monotonic, align 2 10178 // CHECK-NEXT: [[TMP372:%.*]] = load i16, i16* [[USE]], align 2 10179 // CHECK-NEXT: [[TMP373:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP372]] monotonic, align 2 10180 // CHECK-NEXT: [[TMP374:%.*]] = load i16, i16* [[USE]], align 2 10181 // CHECK-NEXT: [[TMP375:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP374]] monotonic, align 2 10182 // CHECK-NEXT: [[TMP376:%.*]] = load i16, i16* [[USE]], align 2 10183 // CHECK-NEXT: [[TMP377:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP376]] monotonic, align 2 10184 // CHECK-NEXT: [[TMP378:%.*]] = load i16, i16* [[USE]], align 2 10185 // CHECK-NEXT: [[TMP379:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP378]] monotonic, align 2 10186 // CHECK-NEXT: [[TMP380:%.*]] = load i16, i16* [[USE]], align 2 10187 // CHECK-NEXT: [[TMP381:%.*]] = load i16, i16* [[USD]], align 2 10188 // CHECK-NEXT: [[TMP382:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP380]], i16 [[TMP381]] monotonic monotonic, align 2 10189 // CHECK-NEXT: [[TMP383:%.*]] = load i16, i16* [[USE]], align 2 10190 // CHECK-NEXT: [[TMP384:%.*]] = load i16, i16* [[USD]], align 2 10191 // CHECK-NEXT: [[TMP385:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP383]], i16 [[TMP384]] monotonic monotonic, align 2 10192 // CHECK-NEXT: [[TMP386:%.*]] = load i16, i16* [[USE]], align 2 10193 // CHECK-NEXT: [[TMP387:%.*]] = load i16, i16* [[USD]], align 2 10194 // CHECK-NEXT: [[TMP388:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP386]], i16 [[TMP387]] monotonic monotonic, align 2 10195 // CHECK-NEXT: [[TMP389:%.*]] = load i16, i16* [[USE]], align 2 10196 // CHECK-NEXT: [[TMP390:%.*]] = load i16, i16* [[USD]], align 2 10197 // CHECK-NEXT: [[TMP391:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP389]], i16 [[TMP390]] monotonic monotonic, align 2 10198 // CHECK-NEXT: [[TMP392:%.*]] = load i16, i16* [[SE]], align 2 10199 // CHECK-NEXT: [[TMP393:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP392]] acq_rel, align 2 10200 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10201 // CHECK-NEXT: [[TMP394:%.*]] = load i16, i16* [[SE]], align 2 10202 // CHECK-NEXT: [[TMP395:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP394]] acq_rel, align 2 10203 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10204 // CHECK-NEXT: [[TMP396:%.*]] = load i16, i16* [[SE]], align 2 10205 // CHECK-NEXT: [[TMP397:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP396]] acq_rel, align 2 10206 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10207 // CHECK-NEXT: [[TMP398:%.*]] = load i16, i16* [[SE]], align 2 10208 // CHECK-NEXT: [[TMP399:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP398]] acq_rel, align 2 10209 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10210 // CHECK-NEXT: [[TMP400:%.*]] = load i16, i16* [[SE]], align 2 10211 // CHECK-NEXT: [[TMP401:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP400]] acq_rel, align 2 10212 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10213 // CHECK-NEXT: [[TMP402:%.*]] = load i16, i16* [[SE]], align 2 10214 // CHECK-NEXT: [[TMP403:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP402]] acq_rel, align 2 10215 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10216 // CHECK-NEXT: [[TMP404:%.*]] = load i16, i16* [[SE]], align 2 10217 // CHECK-NEXT: [[TMP405:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP404]] acq_rel, align 2 10218 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10219 // CHECK-NEXT: [[TMP406:%.*]] = load i16, i16* [[SE]], align 2 10220 // CHECK-NEXT: [[TMP407:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP406]] acq_rel, align 2 10221 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10222 // CHECK-NEXT: [[TMP408:%.*]] = load i16, i16* [[SE]], align 2 10223 // CHECK-NEXT: [[TMP409:%.*]] = load i16, i16* [[SD]], align 2 10224 // CHECK-NEXT: [[TMP410:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP408]], i16 [[TMP409]] acq_rel acquire, align 2 10225 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10226 // CHECK-NEXT: [[TMP411:%.*]] = load i16, i16* [[SE]], align 2 10227 // CHECK-NEXT: [[TMP412:%.*]] = load i16, i16* [[SD]], align 2 10228 // CHECK-NEXT: [[TMP413:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP411]], i16 [[TMP412]] acq_rel acquire, align 2 10229 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10230 // CHECK-NEXT: [[TMP414:%.*]] = load i16, i16* [[SE]], align 2 10231 // CHECK-NEXT: [[TMP415:%.*]] = load i16, i16* [[SD]], align 2 10232 // CHECK-NEXT: [[TMP416:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP414]], i16 [[TMP415]] acq_rel acquire, align 2 10233 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10234 // CHECK-NEXT: [[TMP417:%.*]] = load i16, i16* [[SE]], align 2 10235 // CHECK-NEXT: [[TMP418:%.*]] = load i16, i16* [[SD]], align 2 10236 // CHECK-NEXT: [[TMP419:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP417]], i16 [[TMP418]] acq_rel acquire, align 2 10237 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10238 // CHECK-NEXT: [[TMP420:%.*]] = load i16, i16* [[USE]], align 2 10239 // CHECK-NEXT: [[TMP421:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP420]] acq_rel, align 2 10240 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10241 // CHECK-NEXT: [[TMP422:%.*]] = load i16, i16* [[USE]], align 2 10242 // CHECK-NEXT: [[TMP423:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP422]] acq_rel, align 2 10243 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10244 // CHECK-NEXT: [[TMP424:%.*]] = load i16, i16* [[USE]], align 2 10245 // CHECK-NEXT: [[TMP425:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP424]] acq_rel, align 2 10246 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10247 // CHECK-NEXT: [[TMP426:%.*]] = load i16, i16* [[USE]], align 2 10248 // CHECK-NEXT: [[TMP427:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP426]] acq_rel, align 2 10249 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10250 // CHECK-NEXT: [[TMP428:%.*]] = load i16, i16* [[USE]], align 2 10251 // CHECK-NEXT: [[TMP429:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP428]] acq_rel, align 2 10252 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10253 // CHECK-NEXT: [[TMP430:%.*]] = load i16, i16* [[USE]], align 2 10254 // CHECK-NEXT: [[TMP431:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP430]] acq_rel, align 2 10255 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10256 // CHECK-NEXT: [[TMP432:%.*]] = load i16, i16* [[USE]], align 2 10257 // CHECK-NEXT: [[TMP433:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP432]] acq_rel, align 2 10258 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10259 // CHECK-NEXT: [[TMP434:%.*]] = load i16, i16* [[USE]], align 2 10260 // CHECK-NEXT: [[TMP435:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP434]] acq_rel, align 2 10261 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10262 // CHECK-NEXT: [[TMP436:%.*]] = load i16, i16* [[USE]], align 2 10263 // CHECK-NEXT: [[TMP437:%.*]] = load i16, i16* [[USD]], align 2 10264 // CHECK-NEXT: [[TMP438:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP436]], i16 [[TMP437]] acq_rel acquire, align 2 10265 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10266 // CHECK-NEXT: [[TMP439:%.*]] = load i16, i16* [[USE]], align 2 10267 // CHECK-NEXT: [[TMP440:%.*]] = load i16, i16* [[USD]], align 2 10268 // CHECK-NEXT: [[TMP441:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP439]], i16 [[TMP440]] acq_rel acquire, align 2 10269 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10270 // CHECK-NEXT: [[TMP442:%.*]] = load i16, i16* [[USE]], align 2 10271 // CHECK-NEXT: [[TMP443:%.*]] = load i16, i16* [[USD]], align 2 10272 // CHECK-NEXT: [[TMP444:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP442]], i16 [[TMP443]] acq_rel acquire, align 2 10273 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10274 // CHECK-NEXT: [[TMP445:%.*]] = load i16, i16* [[USE]], align 2 10275 // CHECK-NEXT: [[TMP446:%.*]] = load i16, i16* [[USD]], align 2 10276 // CHECK-NEXT: [[TMP447:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP445]], i16 [[TMP446]] acq_rel acquire, align 2 10277 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10278 // CHECK-NEXT: [[TMP448:%.*]] = load i16, i16* [[SE]], align 2 10279 // CHECK-NEXT: [[TMP449:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP448]] acquire, align 2 10280 // CHECK-NEXT: [[TMP450:%.*]] = load i16, i16* [[SE]], align 2 10281 // CHECK-NEXT: [[TMP451:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP450]] acquire, align 2 10282 // CHECK-NEXT: [[TMP452:%.*]] = load i16, i16* [[SE]], align 2 10283 // CHECK-NEXT: [[TMP453:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP452]] acquire, align 2 10284 // CHECK-NEXT: [[TMP454:%.*]] = load i16, i16* [[SE]], align 2 10285 // CHECK-NEXT: [[TMP455:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP454]] acquire, align 2 10286 // CHECK-NEXT: [[TMP456:%.*]] = load i16, i16* [[SE]], align 2 10287 // CHECK-NEXT: [[TMP457:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP456]] acquire, align 2 10288 // CHECK-NEXT: [[TMP458:%.*]] = load i16, i16* [[SE]], align 2 10289 // CHECK-NEXT: [[TMP459:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP458]] acquire, align 2 10290 // CHECK-NEXT: [[TMP460:%.*]] = load i16, i16* [[SE]], align 2 10291 // CHECK-NEXT: [[TMP461:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP460]] acquire, align 2 10292 // CHECK-NEXT: [[TMP462:%.*]] = load i16, i16* [[SE]], align 2 10293 // CHECK-NEXT: [[TMP463:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP462]] acquire, align 2 10294 // CHECK-NEXT: [[TMP464:%.*]] = load i16, i16* [[SE]], align 2 10295 // CHECK-NEXT: [[TMP465:%.*]] = load i16, i16* [[SD]], align 2 10296 // CHECK-NEXT: [[TMP466:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP464]], i16 [[TMP465]] acquire acquire, align 2 10297 // CHECK-NEXT: [[TMP467:%.*]] = load i16, i16* [[SE]], align 2 10298 // CHECK-NEXT: [[TMP468:%.*]] = load i16, i16* [[SD]], align 2 10299 // CHECK-NEXT: [[TMP469:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP467]], i16 [[TMP468]] acquire acquire, align 2 10300 // CHECK-NEXT: [[TMP470:%.*]] = load i16, i16* [[SE]], align 2 10301 // CHECK-NEXT: [[TMP471:%.*]] = load i16, i16* [[SD]], align 2 10302 // CHECK-NEXT: [[TMP472:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP470]], i16 [[TMP471]] acquire acquire, align 2 10303 // CHECK-NEXT: [[TMP473:%.*]] = load i16, i16* [[SE]], align 2 10304 // CHECK-NEXT: [[TMP474:%.*]] = load i16, i16* [[SD]], align 2 10305 // CHECK-NEXT: [[TMP475:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP473]], i16 [[TMP474]] acquire acquire, align 2 10306 // CHECK-NEXT: [[TMP476:%.*]] = load i16, i16* [[USE]], align 2 10307 // CHECK-NEXT: [[TMP477:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP476]] acquire, align 2 10308 // CHECK-NEXT: [[TMP478:%.*]] = load i16, i16* [[USE]], align 2 10309 // CHECK-NEXT: [[TMP479:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP478]] acquire, align 2 10310 // CHECK-NEXT: [[TMP480:%.*]] = load i16, i16* [[USE]], align 2 10311 // CHECK-NEXT: [[TMP481:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP480]] acquire, align 2 10312 // CHECK-NEXT: [[TMP482:%.*]] = load i16, i16* [[USE]], align 2 10313 // CHECK-NEXT: [[TMP483:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP482]] acquire, align 2 10314 // CHECK-NEXT: [[TMP484:%.*]] = load i16, i16* [[USE]], align 2 10315 // CHECK-NEXT: [[TMP485:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP484]] acquire, align 2 10316 // CHECK-NEXT: [[TMP486:%.*]] = load i16, i16* [[USE]], align 2 10317 // CHECK-NEXT: [[TMP487:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP486]] acquire, align 2 10318 // CHECK-NEXT: [[TMP488:%.*]] = load i16, i16* [[USE]], align 2 10319 // CHECK-NEXT: [[TMP489:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP488]] acquire, align 2 10320 // CHECK-NEXT: [[TMP490:%.*]] = load i16, i16* [[USE]], align 2 10321 // CHECK-NEXT: [[TMP491:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP490]] acquire, align 2 10322 // CHECK-NEXT: [[TMP492:%.*]] = load i16, i16* [[USE]], align 2 10323 // CHECK-NEXT: [[TMP493:%.*]] = load i16, i16* [[USD]], align 2 10324 // CHECK-NEXT: [[TMP494:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP492]], i16 [[TMP493]] acquire acquire, align 2 10325 // CHECK-NEXT: [[TMP495:%.*]] = load i16, i16* [[USE]], align 2 10326 // CHECK-NEXT: [[TMP496:%.*]] = load i16, i16* [[USD]], align 2 10327 // CHECK-NEXT: [[TMP497:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP495]], i16 [[TMP496]] acquire acquire, align 2 10328 // CHECK-NEXT: [[TMP498:%.*]] = load i16, i16* [[USE]], align 2 10329 // CHECK-NEXT: [[TMP499:%.*]] = load i16, i16* [[USD]], align 2 10330 // CHECK-NEXT: [[TMP500:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP498]], i16 [[TMP499]] acquire acquire, align 2 10331 // CHECK-NEXT: [[TMP501:%.*]] = load i16, i16* [[USE]], align 2 10332 // CHECK-NEXT: [[TMP502:%.*]] = load i16, i16* [[USD]], align 2 10333 // CHECK-NEXT: [[TMP503:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP501]], i16 [[TMP502]] acquire acquire, align 2 10334 // CHECK-NEXT: [[TMP504:%.*]] = load i16, i16* [[SE]], align 2 10335 // CHECK-NEXT: [[TMP505:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP504]] monotonic, align 2 10336 // CHECK-NEXT: [[TMP506:%.*]] = load i16, i16* [[SE]], align 2 10337 // CHECK-NEXT: [[TMP507:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP506]] monotonic, align 2 10338 // CHECK-NEXT: [[TMP508:%.*]] = load i16, i16* [[SE]], align 2 10339 // CHECK-NEXT: [[TMP509:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP508]] monotonic, align 2 10340 // CHECK-NEXT: [[TMP510:%.*]] = load i16, i16* [[SE]], align 2 10341 // CHECK-NEXT: [[TMP511:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP510]] monotonic, align 2 10342 // CHECK-NEXT: [[TMP512:%.*]] = load i16, i16* [[SE]], align 2 10343 // CHECK-NEXT: [[TMP513:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP512]] monotonic, align 2 10344 // CHECK-NEXT: [[TMP514:%.*]] = load i16, i16* [[SE]], align 2 10345 // CHECK-NEXT: [[TMP515:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP514]] monotonic, align 2 10346 // CHECK-NEXT: [[TMP516:%.*]] = load i16, i16* [[SE]], align 2 10347 // CHECK-NEXT: [[TMP517:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP516]] monotonic, align 2 10348 // CHECK-NEXT: [[TMP518:%.*]] = load i16, i16* [[SE]], align 2 10349 // CHECK-NEXT: [[TMP519:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP518]] monotonic, align 2 10350 // CHECK-NEXT: [[TMP520:%.*]] = load i16, i16* [[SE]], align 2 10351 // CHECK-NEXT: [[TMP521:%.*]] = load i16, i16* [[SD]], align 2 10352 // CHECK-NEXT: [[TMP522:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP520]], i16 [[TMP521]] monotonic monotonic, align 2 10353 // CHECK-NEXT: [[TMP523:%.*]] = load i16, i16* [[SE]], align 2 10354 // CHECK-NEXT: [[TMP524:%.*]] = load i16, i16* [[SD]], align 2 10355 // CHECK-NEXT: [[TMP525:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP523]], i16 [[TMP524]] monotonic monotonic, align 2 10356 // CHECK-NEXT: [[TMP526:%.*]] = load i16, i16* [[SE]], align 2 10357 // CHECK-NEXT: [[TMP527:%.*]] = load i16, i16* [[SD]], align 2 10358 // CHECK-NEXT: [[TMP528:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP526]], i16 [[TMP527]] monotonic monotonic, align 2 10359 // CHECK-NEXT: [[TMP529:%.*]] = load i16, i16* [[SE]], align 2 10360 // CHECK-NEXT: [[TMP530:%.*]] = load i16, i16* [[SD]], align 2 10361 // CHECK-NEXT: [[TMP531:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP529]], i16 [[TMP530]] monotonic monotonic, align 2 10362 // CHECK-NEXT: [[TMP532:%.*]] = load i16, i16* [[USE]], align 2 10363 // CHECK-NEXT: [[TMP533:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP532]] monotonic, align 2 10364 // CHECK-NEXT: [[TMP534:%.*]] = load i16, i16* [[USE]], align 2 10365 // CHECK-NEXT: [[TMP535:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP534]] monotonic, align 2 10366 // CHECK-NEXT: [[TMP536:%.*]] = load i16, i16* [[USE]], align 2 10367 // CHECK-NEXT: [[TMP537:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP536]] monotonic, align 2 10368 // CHECK-NEXT: [[TMP538:%.*]] = load i16, i16* [[USE]], align 2 10369 // CHECK-NEXT: [[TMP539:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP538]] monotonic, align 2 10370 // CHECK-NEXT: [[TMP540:%.*]] = load i16, i16* [[USE]], align 2 10371 // CHECK-NEXT: [[TMP541:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP540]] monotonic, align 2 10372 // CHECK-NEXT: [[TMP542:%.*]] = load i16, i16* [[USE]], align 2 10373 // CHECK-NEXT: [[TMP543:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP542]] monotonic, align 2 10374 // CHECK-NEXT: [[TMP544:%.*]] = load i16, i16* [[USE]], align 2 10375 // CHECK-NEXT: [[TMP545:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP544]] monotonic, align 2 10376 // CHECK-NEXT: [[TMP546:%.*]] = load i16, i16* [[USE]], align 2 10377 // CHECK-NEXT: [[TMP547:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP546]] monotonic, align 2 10378 // CHECK-NEXT: [[TMP548:%.*]] = load i16, i16* [[USE]], align 2 10379 // CHECK-NEXT: [[TMP549:%.*]] = load i16, i16* [[USD]], align 2 10380 // CHECK-NEXT: [[TMP550:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP548]], i16 [[TMP549]] monotonic monotonic, align 2 10381 // CHECK-NEXT: [[TMP551:%.*]] = load i16, i16* [[USE]], align 2 10382 // CHECK-NEXT: [[TMP552:%.*]] = load i16, i16* [[USD]], align 2 10383 // CHECK-NEXT: [[TMP553:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP551]], i16 [[TMP552]] monotonic monotonic, align 2 10384 // CHECK-NEXT: [[TMP554:%.*]] = load i16, i16* [[USE]], align 2 10385 // CHECK-NEXT: [[TMP555:%.*]] = load i16, i16* [[USD]], align 2 10386 // CHECK-NEXT: [[TMP556:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP554]], i16 [[TMP555]] monotonic monotonic, align 2 10387 // CHECK-NEXT: [[TMP557:%.*]] = load i16, i16* [[USE]], align 2 10388 // CHECK-NEXT: [[TMP558:%.*]] = load i16, i16* [[USD]], align 2 10389 // CHECK-NEXT: [[TMP559:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP557]], i16 [[TMP558]] monotonic monotonic, align 2 10390 // CHECK-NEXT: [[TMP560:%.*]] = load i16, i16* [[SE]], align 2 10391 // CHECK-NEXT: [[TMP561:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP560]] release, align 2 10392 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10393 // CHECK-NEXT: [[TMP562:%.*]] = load i16, i16* [[SE]], align 2 10394 // CHECK-NEXT: [[TMP563:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP562]] release, align 2 10395 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10396 // CHECK-NEXT: [[TMP564:%.*]] = load i16, i16* [[SE]], align 2 10397 // CHECK-NEXT: [[TMP565:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP564]] release, align 2 10398 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10399 // CHECK-NEXT: [[TMP566:%.*]] = load i16, i16* [[SE]], align 2 10400 // CHECK-NEXT: [[TMP567:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP566]] release, align 2 10401 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10402 // CHECK-NEXT: [[TMP568:%.*]] = load i16, i16* [[SE]], align 2 10403 // CHECK-NEXT: [[TMP569:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP568]] release, align 2 10404 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10405 // CHECK-NEXT: [[TMP570:%.*]] = load i16, i16* [[SE]], align 2 10406 // CHECK-NEXT: [[TMP571:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP570]] release, align 2 10407 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10408 // CHECK-NEXT: [[TMP572:%.*]] = load i16, i16* [[SE]], align 2 10409 // CHECK-NEXT: [[TMP573:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP572]] release, align 2 10410 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10411 // CHECK-NEXT: [[TMP574:%.*]] = load i16, i16* [[SE]], align 2 10412 // CHECK-NEXT: [[TMP575:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP574]] release, align 2 10413 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10414 // CHECK-NEXT: [[TMP576:%.*]] = load i16, i16* [[SE]], align 2 10415 // CHECK-NEXT: [[TMP577:%.*]] = load i16, i16* [[SD]], align 2 10416 // CHECK-NEXT: [[TMP578:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP576]], i16 [[TMP577]] release monotonic, align 2 10417 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10418 // CHECK-NEXT: [[TMP579:%.*]] = load i16, i16* [[SE]], align 2 10419 // CHECK-NEXT: [[TMP580:%.*]] = load i16, i16* [[SD]], align 2 10420 // CHECK-NEXT: [[TMP581:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP579]], i16 [[TMP580]] release monotonic, align 2 10421 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10422 // CHECK-NEXT: [[TMP582:%.*]] = load i16, i16* [[SE]], align 2 10423 // CHECK-NEXT: [[TMP583:%.*]] = load i16, i16* [[SD]], align 2 10424 // CHECK-NEXT: [[TMP584:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP582]], i16 [[TMP583]] release monotonic, align 2 10425 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10426 // CHECK-NEXT: [[TMP585:%.*]] = load i16, i16* [[SE]], align 2 10427 // CHECK-NEXT: [[TMP586:%.*]] = load i16, i16* [[SD]], align 2 10428 // CHECK-NEXT: [[TMP587:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP585]], i16 [[TMP586]] release monotonic, align 2 10429 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10430 // CHECK-NEXT: [[TMP588:%.*]] = load i16, i16* [[USE]], align 2 10431 // CHECK-NEXT: [[TMP589:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP588]] release, align 2 10432 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10433 // CHECK-NEXT: [[TMP590:%.*]] = load i16, i16* [[USE]], align 2 10434 // CHECK-NEXT: [[TMP591:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP590]] release, align 2 10435 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10436 // CHECK-NEXT: [[TMP592:%.*]] = load i16, i16* [[USE]], align 2 10437 // CHECK-NEXT: [[TMP593:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP592]] release, align 2 10438 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10439 // CHECK-NEXT: [[TMP594:%.*]] = load i16, i16* [[USE]], align 2 10440 // CHECK-NEXT: [[TMP595:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP594]] release, align 2 10441 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10442 // CHECK-NEXT: [[TMP596:%.*]] = load i16, i16* [[USE]], align 2 10443 // CHECK-NEXT: [[TMP597:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP596]] release, align 2 10444 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10445 // CHECK-NEXT: [[TMP598:%.*]] = load i16, i16* [[USE]], align 2 10446 // CHECK-NEXT: [[TMP599:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP598]] release, align 2 10447 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10448 // CHECK-NEXT: [[TMP600:%.*]] = load i16, i16* [[USE]], align 2 10449 // CHECK-NEXT: [[TMP601:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP600]] release, align 2 10450 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10451 // CHECK-NEXT: [[TMP602:%.*]] = load i16, i16* [[USE]], align 2 10452 // CHECK-NEXT: [[TMP603:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP602]] release, align 2 10453 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10454 // CHECK-NEXT: [[TMP604:%.*]] = load i16, i16* [[USE]], align 2 10455 // CHECK-NEXT: [[TMP605:%.*]] = load i16, i16* [[USD]], align 2 10456 // CHECK-NEXT: [[TMP606:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP604]], i16 [[TMP605]] release monotonic, align 2 10457 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10458 // CHECK-NEXT: [[TMP607:%.*]] = load i16, i16* [[USE]], align 2 10459 // CHECK-NEXT: [[TMP608:%.*]] = load i16, i16* [[USD]], align 2 10460 // CHECK-NEXT: [[TMP609:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP607]], i16 [[TMP608]] release monotonic, align 2 10461 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10462 // CHECK-NEXT: [[TMP610:%.*]] = load i16, i16* [[USE]], align 2 10463 // CHECK-NEXT: [[TMP611:%.*]] = load i16, i16* [[USD]], align 2 10464 // CHECK-NEXT: [[TMP612:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP610]], i16 [[TMP611]] release monotonic, align 2 10465 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10466 // CHECK-NEXT: [[TMP613:%.*]] = load i16, i16* [[USE]], align 2 10467 // CHECK-NEXT: [[TMP614:%.*]] = load i16, i16* [[USD]], align 2 10468 // CHECK-NEXT: [[TMP615:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP613]], i16 [[TMP614]] release monotonic, align 2 10469 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10470 // CHECK-NEXT: [[TMP616:%.*]] = load i16, i16* [[SE]], align 2 10471 // CHECK-NEXT: [[TMP617:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP616]] seq_cst, align 2 10472 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10473 // CHECK-NEXT: [[TMP618:%.*]] = load i16, i16* [[SE]], align 2 10474 // CHECK-NEXT: [[TMP619:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP618]] seq_cst, align 2 10475 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10476 // CHECK-NEXT: [[TMP620:%.*]] = load i16, i16* [[SE]], align 2 10477 // CHECK-NEXT: [[TMP621:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP620]] seq_cst, align 2 10478 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10479 // CHECK-NEXT: [[TMP622:%.*]] = load i16, i16* [[SE]], align 2 10480 // CHECK-NEXT: [[TMP623:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP622]] seq_cst, align 2 10481 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10482 // CHECK-NEXT: [[TMP624:%.*]] = load i16, i16* [[SE]], align 2 10483 // CHECK-NEXT: [[TMP625:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP624]] seq_cst, align 2 10484 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10485 // CHECK-NEXT: [[TMP626:%.*]] = load i16, i16* [[SE]], align 2 10486 // CHECK-NEXT: [[TMP627:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP626]] seq_cst, align 2 10487 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10488 // CHECK-NEXT: [[TMP628:%.*]] = load i16, i16* [[SE]], align 2 10489 // CHECK-NEXT: [[TMP629:%.*]] = atomicrmw max i16* [[SX]], i16 [[TMP628]] seq_cst, align 2 10490 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10491 // CHECK-NEXT: [[TMP630:%.*]] = load i16, i16* [[SE]], align 2 10492 // CHECK-NEXT: [[TMP631:%.*]] = atomicrmw min i16* [[SX]], i16 [[TMP630]] seq_cst, align 2 10493 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10494 // CHECK-NEXT: [[TMP632:%.*]] = load i16, i16* [[SE]], align 2 10495 // CHECK-NEXT: [[TMP633:%.*]] = load i16, i16* [[SD]], align 2 10496 // CHECK-NEXT: [[TMP634:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP632]], i16 [[TMP633]] seq_cst seq_cst, align 2 10497 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10498 // CHECK-NEXT: [[TMP635:%.*]] = load i16, i16* [[SE]], align 2 10499 // CHECK-NEXT: [[TMP636:%.*]] = load i16, i16* [[SD]], align 2 10500 // CHECK-NEXT: [[TMP637:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP635]], i16 [[TMP636]] seq_cst seq_cst, align 2 10501 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10502 // CHECK-NEXT: [[TMP638:%.*]] = load i16, i16* [[SE]], align 2 10503 // CHECK-NEXT: [[TMP639:%.*]] = load i16, i16* [[SD]], align 2 10504 // CHECK-NEXT: [[TMP640:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP638]], i16 [[TMP639]] seq_cst seq_cst, align 2 10505 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10506 // CHECK-NEXT: [[TMP641:%.*]] = load i16, i16* [[SE]], align 2 10507 // CHECK-NEXT: [[TMP642:%.*]] = load i16, i16* [[SD]], align 2 10508 // CHECK-NEXT: [[TMP643:%.*]] = cmpxchg i16* [[SX]], i16 [[TMP641]], i16 [[TMP642]] seq_cst seq_cst, align 2 10509 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10510 // CHECK-NEXT: [[TMP644:%.*]] = load i16, i16* [[USE]], align 2 10511 // CHECK-NEXT: [[TMP645:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP644]] seq_cst, align 2 10512 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10513 // CHECK-NEXT: [[TMP646:%.*]] = load i16, i16* [[USE]], align 2 10514 // CHECK-NEXT: [[TMP647:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP646]] seq_cst, align 2 10515 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10516 // CHECK-NEXT: [[TMP648:%.*]] = load i16, i16* [[USE]], align 2 10517 // CHECK-NEXT: [[TMP649:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP648]] seq_cst, align 2 10518 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10519 // CHECK-NEXT: [[TMP650:%.*]] = load i16, i16* [[USE]], align 2 10520 // CHECK-NEXT: [[TMP651:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP650]] seq_cst, align 2 10521 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10522 // CHECK-NEXT: [[TMP652:%.*]] = load i16, i16* [[USE]], align 2 10523 // CHECK-NEXT: [[TMP653:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP652]] seq_cst, align 2 10524 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10525 // CHECK-NEXT: [[TMP654:%.*]] = load i16, i16* [[USE]], align 2 10526 // CHECK-NEXT: [[TMP655:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP654]] seq_cst, align 2 10527 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10528 // CHECK-NEXT: [[TMP656:%.*]] = load i16, i16* [[USE]], align 2 10529 // CHECK-NEXT: [[TMP657:%.*]] = atomicrmw umax i16* [[USX]], i16 [[TMP656]] seq_cst, align 2 10530 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10531 // CHECK-NEXT: [[TMP658:%.*]] = load i16, i16* [[USE]], align 2 10532 // CHECK-NEXT: [[TMP659:%.*]] = atomicrmw umin i16* [[USX]], i16 [[TMP658]] seq_cst, align 2 10533 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10534 // CHECK-NEXT: [[TMP660:%.*]] = load i16, i16* [[USE]], align 2 10535 // CHECK-NEXT: [[TMP661:%.*]] = load i16, i16* [[USD]], align 2 10536 // CHECK-NEXT: [[TMP662:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP660]], i16 [[TMP661]] seq_cst seq_cst, align 2 10537 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10538 // CHECK-NEXT: [[TMP663:%.*]] = load i16, i16* [[USE]], align 2 10539 // CHECK-NEXT: [[TMP664:%.*]] = load i16, i16* [[USD]], align 2 10540 // CHECK-NEXT: [[TMP665:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP663]], i16 [[TMP664]] seq_cst seq_cst, align 2 10541 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10542 // CHECK-NEXT: [[TMP666:%.*]] = load i16, i16* [[USE]], align 2 10543 // CHECK-NEXT: [[TMP667:%.*]] = load i16, i16* [[USD]], align 2 10544 // CHECK-NEXT: [[TMP668:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP666]], i16 [[TMP667]] seq_cst seq_cst, align 2 10545 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10546 // CHECK-NEXT: [[TMP669:%.*]] = load i16, i16* [[USE]], align 2 10547 // CHECK-NEXT: [[TMP670:%.*]] = load i16, i16* [[USD]], align 2 10548 // CHECK-NEXT: [[TMP671:%.*]] = cmpxchg i16* [[USX]], i16 [[TMP669]], i16 [[TMP670]] seq_cst seq_cst, align 2 10549 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10550 // CHECK-NEXT: [[TMP672:%.*]] = load i32, i32* [[IE]], align 4 10551 // CHECK-NEXT: [[TMP673:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP672]] monotonic, align 4 10552 // CHECK-NEXT: [[TMP674:%.*]] = load i32, i32* [[IE]], align 4 10553 // CHECK-NEXT: [[TMP675:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP674]] monotonic, align 4 10554 // CHECK-NEXT: [[TMP676:%.*]] = load i32, i32* [[IE]], align 4 10555 // CHECK-NEXT: [[TMP677:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP676]] monotonic, align 4 10556 // CHECK-NEXT: [[TMP678:%.*]] = load i32, i32* [[IE]], align 4 10557 // CHECK-NEXT: [[TMP679:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP678]] monotonic, align 4 10558 // CHECK-NEXT: [[TMP680:%.*]] = load i32, i32* [[IE]], align 4 10559 // CHECK-NEXT: [[TMP681:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP680]] monotonic, align 4 10560 // CHECK-NEXT: [[TMP682:%.*]] = load i32, i32* [[IE]], align 4 10561 // CHECK-NEXT: [[TMP683:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP682]] monotonic, align 4 10562 // CHECK-NEXT: [[TMP684:%.*]] = load i32, i32* [[IE]], align 4 10563 // CHECK-NEXT: [[TMP685:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP684]] monotonic, align 4 10564 // CHECK-NEXT: [[TMP686:%.*]] = load i32, i32* [[IE]], align 4 10565 // CHECK-NEXT: [[TMP687:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP686]] monotonic, align 4 10566 // CHECK-NEXT: [[TMP688:%.*]] = load i32, i32* [[IE]], align 4 10567 // CHECK-NEXT: [[TMP689:%.*]] = load i32, i32* [[ID]], align 4 10568 // CHECK-NEXT: [[TMP690:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP688]], i32 [[TMP689]] monotonic monotonic, align 4 10569 // CHECK-NEXT: [[TMP691:%.*]] = load i32, i32* [[IE]], align 4 10570 // CHECK-NEXT: [[TMP692:%.*]] = load i32, i32* [[ID]], align 4 10571 // CHECK-NEXT: [[TMP693:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP691]], i32 [[TMP692]] monotonic monotonic, align 4 10572 // CHECK-NEXT: [[TMP694:%.*]] = load i32, i32* [[IE]], align 4 10573 // CHECK-NEXT: [[TMP695:%.*]] = load i32, i32* [[ID]], align 4 10574 // CHECK-NEXT: [[TMP696:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP694]], i32 [[TMP695]] monotonic monotonic, align 4 10575 // CHECK-NEXT: [[TMP697:%.*]] = load i32, i32* [[IE]], align 4 10576 // CHECK-NEXT: [[TMP698:%.*]] = load i32, i32* [[ID]], align 4 10577 // CHECK-NEXT: [[TMP699:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP697]], i32 [[TMP698]] monotonic monotonic, align 4 10578 // CHECK-NEXT: [[TMP700:%.*]] = load i32, i32* [[UIE]], align 4 10579 // CHECK-NEXT: [[TMP701:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP700]] monotonic, align 4 10580 // CHECK-NEXT: [[TMP702:%.*]] = load i32, i32* [[UIE]], align 4 10581 // CHECK-NEXT: [[TMP703:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP702]] monotonic, align 4 10582 // CHECK-NEXT: [[TMP704:%.*]] = load i32, i32* [[UIE]], align 4 10583 // CHECK-NEXT: [[TMP705:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP704]] monotonic, align 4 10584 // CHECK-NEXT: [[TMP706:%.*]] = load i32, i32* [[UIE]], align 4 10585 // CHECK-NEXT: [[TMP707:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP706]] monotonic, align 4 10586 // CHECK-NEXT: [[TMP708:%.*]] = load i32, i32* [[UIE]], align 4 10587 // CHECK-NEXT: [[TMP709:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP708]] monotonic, align 4 10588 // CHECK-NEXT: [[TMP710:%.*]] = load i32, i32* [[UIE]], align 4 10589 // CHECK-NEXT: [[TMP711:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP710]] monotonic, align 4 10590 // CHECK-NEXT: [[TMP712:%.*]] = load i32, i32* [[UIE]], align 4 10591 // CHECK-NEXT: [[TMP713:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP712]] monotonic, align 4 10592 // CHECK-NEXT: [[TMP714:%.*]] = load i32, i32* [[UIE]], align 4 10593 // CHECK-NEXT: [[TMP715:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP714]] monotonic, align 4 10594 // CHECK-NEXT: [[TMP716:%.*]] = load i32, i32* [[UIE]], align 4 10595 // CHECK-NEXT: [[TMP717:%.*]] = load i32, i32* [[UID]], align 4 10596 // CHECK-NEXT: [[TMP718:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP716]], i32 [[TMP717]] monotonic monotonic, align 4 10597 // CHECK-NEXT: [[TMP719:%.*]] = load i32, i32* [[UIE]], align 4 10598 // CHECK-NEXT: [[TMP720:%.*]] = load i32, i32* [[UID]], align 4 10599 // CHECK-NEXT: [[TMP721:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP719]], i32 [[TMP720]] monotonic monotonic, align 4 10600 // CHECK-NEXT: [[TMP722:%.*]] = load i32, i32* [[UIE]], align 4 10601 // CHECK-NEXT: [[TMP723:%.*]] = load i32, i32* [[UID]], align 4 10602 // CHECK-NEXT: [[TMP724:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP722]], i32 [[TMP723]] monotonic monotonic, align 4 10603 // CHECK-NEXT: [[TMP725:%.*]] = load i32, i32* [[UIE]], align 4 10604 // CHECK-NEXT: [[TMP726:%.*]] = load i32, i32* [[UID]], align 4 10605 // CHECK-NEXT: [[TMP727:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP725]], i32 [[TMP726]] monotonic monotonic, align 4 10606 // CHECK-NEXT: [[TMP728:%.*]] = load i32, i32* [[IE]], align 4 10607 // CHECK-NEXT: [[TMP729:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP728]] acq_rel, align 4 10608 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10609 // CHECK-NEXT: [[TMP730:%.*]] = load i32, i32* [[IE]], align 4 10610 // CHECK-NEXT: [[TMP731:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP730]] acq_rel, align 4 10611 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10612 // CHECK-NEXT: [[TMP732:%.*]] = load i32, i32* [[IE]], align 4 10613 // CHECK-NEXT: [[TMP733:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP732]] acq_rel, align 4 10614 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10615 // CHECK-NEXT: [[TMP734:%.*]] = load i32, i32* [[IE]], align 4 10616 // CHECK-NEXT: [[TMP735:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP734]] acq_rel, align 4 10617 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10618 // CHECK-NEXT: [[TMP736:%.*]] = load i32, i32* [[IE]], align 4 10619 // CHECK-NEXT: [[TMP737:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP736]] acq_rel, align 4 10620 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10621 // CHECK-NEXT: [[TMP738:%.*]] = load i32, i32* [[IE]], align 4 10622 // CHECK-NEXT: [[TMP739:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP738]] acq_rel, align 4 10623 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10624 // CHECK-NEXT: [[TMP740:%.*]] = load i32, i32* [[IE]], align 4 10625 // CHECK-NEXT: [[TMP741:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP740]] acq_rel, align 4 10626 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10627 // CHECK-NEXT: [[TMP742:%.*]] = load i32, i32* [[IE]], align 4 10628 // CHECK-NEXT: [[TMP743:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP742]] acq_rel, align 4 10629 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10630 // CHECK-NEXT: [[TMP744:%.*]] = load i32, i32* [[IE]], align 4 10631 // CHECK-NEXT: [[TMP745:%.*]] = load i32, i32* [[ID]], align 4 10632 // CHECK-NEXT: [[TMP746:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP744]], i32 [[TMP745]] acq_rel acquire, align 4 10633 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10634 // CHECK-NEXT: [[TMP747:%.*]] = load i32, i32* [[IE]], align 4 10635 // CHECK-NEXT: [[TMP748:%.*]] = load i32, i32* [[ID]], align 4 10636 // CHECK-NEXT: [[TMP749:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP747]], i32 [[TMP748]] acq_rel acquire, align 4 10637 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10638 // CHECK-NEXT: [[TMP750:%.*]] = load i32, i32* [[IE]], align 4 10639 // CHECK-NEXT: [[TMP751:%.*]] = load i32, i32* [[ID]], align 4 10640 // CHECK-NEXT: [[TMP752:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP750]], i32 [[TMP751]] acq_rel acquire, align 4 10641 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10642 // CHECK-NEXT: [[TMP753:%.*]] = load i32, i32* [[IE]], align 4 10643 // CHECK-NEXT: [[TMP754:%.*]] = load i32, i32* [[ID]], align 4 10644 // CHECK-NEXT: [[TMP755:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP753]], i32 [[TMP754]] acq_rel acquire, align 4 10645 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10646 // CHECK-NEXT: [[TMP756:%.*]] = load i32, i32* [[UIE]], align 4 10647 // CHECK-NEXT: [[TMP757:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP756]] acq_rel, align 4 10648 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10649 // CHECK-NEXT: [[TMP758:%.*]] = load i32, i32* [[UIE]], align 4 10650 // CHECK-NEXT: [[TMP759:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP758]] acq_rel, align 4 10651 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10652 // CHECK-NEXT: [[TMP760:%.*]] = load i32, i32* [[UIE]], align 4 10653 // CHECK-NEXT: [[TMP761:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP760]] acq_rel, align 4 10654 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10655 // CHECK-NEXT: [[TMP762:%.*]] = load i32, i32* [[UIE]], align 4 10656 // CHECK-NEXT: [[TMP763:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP762]] acq_rel, align 4 10657 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10658 // CHECK-NEXT: [[TMP764:%.*]] = load i32, i32* [[UIE]], align 4 10659 // CHECK-NEXT: [[TMP765:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP764]] acq_rel, align 4 10660 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10661 // CHECK-NEXT: [[TMP766:%.*]] = load i32, i32* [[UIE]], align 4 10662 // CHECK-NEXT: [[TMP767:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP766]] acq_rel, align 4 10663 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10664 // CHECK-NEXT: [[TMP768:%.*]] = load i32, i32* [[UIE]], align 4 10665 // CHECK-NEXT: [[TMP769:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP768]] acq_rel, align 4 10666 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10667 // CHECK-NEXT: [[TMP770:%.*]] = load i32, i32* [[UIE]], align 4 10668 // CHECK-NEXT: [[TMP771:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP770]] acq_rel, align 4 10669 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10670 // CHECK-NEXT: [[TMP772:%.*]] = load i32, i32* [[UIE]], align 4 10671 // CHECK-NEXT: [[TMP773:%.*]] = load i32, i32* [[UID]], align 4 10672 // CHECK-NEXT: [[TMP774:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP772]], i32 [[TMP773]] acq_rel acquire, align 4 10673 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10674 // CHECK-NEXT: [[TMP775:%.*]] = load i32, i32* [[UIE]], align 4 10675 // CHECK-NEXT: [[TMP776:%.*]] = load i32, i32* [[UID]], align 4 10676 // CHECK-NEXT: [[TMP777:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP775]], i32 [[TMP776]] acq_rel acquire, align 4 10677 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10678 // CHECK-NEXT: [[TMP778:%.*]] = load i32, i32* [[UIE]], align 4 10679 // CHECK-NEXT: [[TMP779:%.*]] = load i32, i32* [[UID]], align 4 10680 // CHECK-NEXT: [[TMP780:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP778]], i32 [[TMP779]] acq_rel acquire, align 4 10681 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10682 // CHECK-NEXT: [[TMP781:%.*]] = load i32, i32* [[UIE]], align 4 10683 // CHECK-NEXT: [[TMP782:%.*]] = load i32, i32* [[UID]], align 4 10684 // CHECK-NEXT: [[TMP783:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP781]], i32 [[TMP782]] acq_rel acquire, align 4 10685 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10686 // CHECK-NEXT: [[TMP784:%.*]] = load i32, i32* [[IE]], align 4 10687 // CHECK-NEXT: [[TMP785:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP784]] acquire, align 4 10688 // CHECK-NEXT: [[TMP786:%.*]] = load i32, i32* [[IE]], align 4 10689 // CHECK-NEXT: [[TMP787:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP786]] acquire, align 4 10690 // CHECK-NEXT: [[TMP788:%.*]] = load i32, i32* [[IE]], align 4 10691 // CHECK-NEXT: [[TMP789:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP788]] acquire, align 4 10692 // CHECK-NEXT: [[TMP790:%.*]] = load i32, i32* [[IE]], align 4 10693 // CHECK-NEXT: [[TMP791:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP790]] acquire, align 4 10694 // CHECK-NEXT: [[TMP792:%.*]] = load i32, i32* [[IE]], align 4 10695 // CHECK-NEXT: [[TMP793:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP792]] acquire, align 4 10696 // CHECK-NEXT: [[TMP794:%.*]] = load i32, i32* [[IE]], align 4 10697 // CHECK-NEXT: [[TMP795:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP794]] acquire, align 4 10698 // CHECK-NEXT: [[TMP796:%.*]] = load i32, i32* [[IE]], align 4 10699 // CHECK-NEXT: [[TMP797:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP796]] acquire, align 4 10700 // CHECK-NEXT: [[TMP798:%.*]] = load i32, i32* [[IE]], align 4 10701 // CHECK-NEXT: [[TMP799:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP798]] acquire, align 4 10702 // CHECK-NEXT: [[TMP800:%.*]] = load i32, i32* [[IE]], align 4 10703 // CHECK-NEXT: [[TMP801:%.*]] = load i32, i32* [[ID]], align 4 10704 // CHECK-NEXT: [[TMP802:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP800]], i32 [[TMP801]] acquire acquire, align 4 10705 // CHECK-NEXT: [[TMP803:%.*]] = load i32, i32* [[IE]], align 4 10706 // CHECK-NEXT: [[TMP804:%.*]] = load i32, i32* [[ID]], align 4 10707 // CHECK-NEXT: [[TMP805:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP803]], i32 [[TMP804]] acquire acquire, align 4 10708 // CHECK-NEXT: [[TMP806:%.*]] = load i32, i32* [[IE]], align 4 10709 // CHECK-NEXT: [[TMP807:%.*]] = load i32, i32* [[ID]], align 4 10710 // CHECK-NEXT: [[TMP808:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP806]], i32 [[TMP807]] acquire acquire, align 4 10711 // CHECK-NEXT: [[TMP809:%.*]] = load i32, i32* [[IE]], align 4 10712 // CHECK-NEXT: [[TMP810:%.*]] = load i32, i32* [[ID]], align 4 10713 // CHECK-NEXT: [[TMP811:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP809]], i32 [[TMP810]] acquire acquire, align 4 10714 // CHECK-NEXT: [[TMP812:%.*]] = load i32, i32* [[UIE]], align 4 10715 // CHECK-NEXT: [[TMP813:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP812]] acquire, align 4 10716 // CHECK-NEXT: [[TMP814:%.*]] = load i32, i32* [[UIE]], align 4 10717 // CHECK-NEXT: [[TMP815:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP814]] acquire, align 4 10718 // CHECK-NEXT: [[TMP816:%.*]] = load i32, i32* [[UIE]], align 4 10719 // CHECK-NEXT: [[TMP817:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP816]] acquire, align 4 10720 // CHECK-NEXT: [[TMP818:%.*]] = load i32, i32* [[UIE]], align 4 10721 // CHECK-NEXT: [[TMP819:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP818]] acquire, align 4 10722 // CHECK-NEXT: [[TMP820:%.*]] = load i32, i32* [[UIE]], align 4 10723 // CHECK-NEXT: [[TMP821:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP820]] acquire, align 4 10724 // CHECK-NEXT: [[TMP822:%.*]] = load i32, i32* [[UIE]], align 4 10725 // CHECK-NEXT: [[TMP823:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP822]] acquire, align 4 10726 // CHECK-NEXT: [[TMP824:%.*]] = load i32, i32* [[UIE]], align 4 10727 // CHECK-NEXT: [[TMP825:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP824]] acquire, align 4 10728 // CHECK-NEXT: [[TMP826:%.*]] = load i32, i32* [[UIE]], align 4 10729 // CHECK-NEXT: [[TMP827:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP826]] acquire, align 4 10730 // CHECK-NEXT: [[TMP828:%.*]] = load i32, i32* [[UIE]], align 4 10731 // CHECK-NEXT: [[TMP829:%.*]] = load i32, i32* [[UID]], align 4 10732 // CHECK-NEXT: [[TMP830:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP828]], i32 [[TMP829]] acquire acquire, align 4 10733 // CHECK-NEXT: [[TMP831:%.*]] = load i32, i32* [[UIE]], align 4 10734 // CHECK-NEXT: [[TMP832:%.*]] = load i32, i32* [[UID]], align 4 10735 // CHECK-NEXT: [[TMP833:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP831]], i32 [[TMP832]] acquire acquire, align 4 10736 // CHECK-NEXT: [[TMP834:%.*]] = load i32, i32* [[UIE]], align 4 10737 // CHECK-NEXT: [[TMP835:%.*]] = load i32, i32* [[UID]], align 4 10738 // CHECK-NEXT: [[TMP836:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP834]], i32 [[TMP835]] acquire acquire, align 4 10739 // CHECK-NEXT: [[TMP837:%.*]] = load i32, i32* [[UIE]], align 4 10740 // CHECK-NEXT: [[TMP838:%.*]] = load i32, i32* [[UID]], align 4 10741 // CHECK-NEXT: [[TMP839:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP837]], i32 [[TMP838]] acquire acquire, align 4 10742 // CHECK-NEXT: [[TMP840:%.*]] = load i32, i32* [[IE]], align 4 10743 // CHECK-NEXT: [[TMP841:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP840]] monotonic, align 4 10744 // CHECK-NEXT: [[TMP842:%.*]] = load i32, i32* [[IE]], align 4 10745 // CHECK-NEXT: [[TMP843:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP842]] monotonic, align 4 10746 // CHECK-NEXT: [[TMP844:%.*]] = load i32, i32* [[IE]], align 4 10747 // CHECK-NEXT: [[TMP845:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP844]] monotonic, align 4 10748 // CHECK-NEXT: [[TMP846:%.*]] = load i32, i32* [[IE]], align 4 10749 // CHECK-NEXT: [[TMP847:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP846]] monotonic, align 4 10750 // CHECK-NEXT: [[TMP848:%.*]] = load i32, i32* [[IE]], align 4 10751 // CHECK-NEXT: [[TMP849:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP848]] monotonic, align 4 10752 // CHECK-NEXT: [[TMP850:%.*]] = load i32, i32* [[IE]], align 4 10753 // CHECK-NEXT: [[TMP851:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP850]] monotonic, align 4 10754 // CHECK-NEXT: [[TMP852:%.*]] = load i32, i32* [[IE]], align 4 10755 // CHECK-NEXT: [[TMP853:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP852]] monotonic, align 4 10756 // CHECK-NEXT: [[TMP854:%.*]] = load i32, i32* [[IE]], align 4 10757 // CHECK-NEXT: [[TMP855:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP854]] monotonic, align 4 10758 // CHECK-NEXT: [[TMP856:%.*]] = load i32, i32* [[IE]], align 4 10759 // CHECK-NEXT: [[TMP857:%.*]] = load i32, i32* [[ID]], align 4 10760 // CHECK-NEXT: [[TMP858:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP856]], i32 [[TMP857]] monotonic monotonic, align 4 10761 // CHECK-NEXT: [[TMP859:%.*]] = load i32, i32* [[IE]], align 4 10762 // CHECK-NEXT: [[TMP860:%.*]] = load i32, i32* [[ID]], align 4 10763 // CHECK-NEXT: [[TMP861:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP859]], i32 [[TMP860]] monotonic monotonic, align 4 10764 // CHECK-NEXT: [[TMP862:%.*]] = load i32, i32* [[IE]], align 4 10765 // CHECK-NEXT: [[TMP863:%.*]] = load i32, i32* [[ID]], align 4 10766 // CHECK-NEXT: [[TMP864:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP862]], i32 [[TMP863]] monotonic monotonic, align 4 10767 // CHECK-NEXT: [[TMP865:%.*]] = load i32, i32* [[IE]], align 4 10768 // CHECK-NEXT: [[TMP866:%.*]] = load i32, i32* [[ID]], align 4 10769 // CHECK-NEXT: [[TMP867:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP865]], i32 [[TMP866]] monotonic monotonic, align 4 10770 // CHECK-NEXT: [[TMP868:%.*]] = load i32, i32* [[UIE]], align 4 10771 // CHECK-NEXT: [[TMP869:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP868]] monotonic, align 4 10772 // CHECK-NEXT: [[TMP870:%.*]] = load i32, i32* [[UIE]], align 4 10773 // CHECK-NEXT: [[TMP871:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP870]] monotonic, align 4 10774 // CHECK-NEXT: [[TMP872:%.*]] = load i32, i32* [[UIE]], align 4 10775 // CHECK-NEXT: [[TMP873:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP872]] monotonic, align 4 10776 // CHECK-NEXT: [[TMP874:%.*]] = load i32, i32* [[UIE]], align 4 10777 // CHECK-NEXT: [[TMP875:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP874]] monotonic, align 4 10778 // CHECK-NEXT: [[TMP876:%.*]] = load i32, i32* [[UIE]], align 4 10779 // CHECK-NEXT: [[TMP877:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP876]] monotonic, align 4 10780 // CHECK-NEXT: [[TMP878:%.*]] = load i32, i32* [[UIE]], align 4 10781 // CHECK-NEXT: [[TMP879:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP878]] monotonic, align 4 10782 // CHECK-NEXT: [[TMP880:%.*]] = load i32, i32* [[UIE]], align 4 10783 // CHECK-NEXT: [[TMP881:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP880]] monotonic, align 4 10784 // CHECK-NEXT: [[TMP882:%.*]] = load i32, i32* [[UIE]], align 4 10785 // CHECK-NEXT: [[TMP883:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP882]] monotonic, align 4 10786 // CHECK-NEXT: [[TMP884:%.*]] = load i32, i32* [[UIE]], align 4 10787 // CHECK-NEXT: [[TMP885:%.*]] = load i32, i32* [[UID]], align 4 10788 // CHECK-NEXT: [[TMP886:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP884]], i32 [[TMP885]] monotonic monotonic, align 4 10789 // CHECK-NEXT: [[TMP887:%.*]] = load i32, i32* [[UIE]], align 4 10790 // CHECK-NEXT: [[TMP888:%.*]] = load i32, i32* [[UID]], align 4 10791 // CHECK-NEXT: [[TMP889:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP887]], i32 [[TMP888]] monotonic monotonic, align 4 10792 // CHECK-NEXT: [[TMP890:%.*]] = load i32, i32* [[UIE]], align 4 10793 // CHECK-NEXT: [[TMP891:%.*]] = load i32, i32* [[UID]], align 4 10794 // CHECK-NEXT: [[TMP892:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP890]], i32 [[TMP891]] monotonic monotonic, align 4 10795 // CHECK-NEXT: [[TMP893:%.*]] = load i32, i32* [[UIE]], align 4 10796 // CHECK-NEXT: [[TMP894:%.*]] = load i32, i32* [[UID]], align 4 10797 // CHECK-NEXT: [[TMP895:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP893]], i32 [[TMP894]] monotonic monotonic, align 4 10798 // CHECK-NEXT: [[TMP896:%.*]] = load i32, i32* [[IE]], align 4 10799 // CHECK-NEXT: [[TMP897:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP896]] release, align 4 10800 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10801 // CHECK-NEXT: [[TMP898:%.*]] = load i32, i32* [[IE]], align 4 10802 // CHECK-NEXT: [[TMP899:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP898]] release, align 4 10803 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10804 // CHECK-NEXT: [[TMP900:%.*]] = load i32, i32* [[IE]], align 4 10805 // CHECK-NEXT: [[TMP901:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP900]] release, align 4 10806 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10807 // CHECK-NEXT: [[TMP902:%.*]] = load i32, i32* [[IE]], align 4 10808 // CHECK-NEXT: [[TMP903:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP902]] release, align 4 10809 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10810 // CHECK-NEXT: [[TMP904:%.*]] = load i32, i32* [[IE]], align 4 10811 // CHECK-NEXT: [[TMP905:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP904]] release, align 4 10812 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10813 // CHECK-NEXT: [[TMP906:%.*]] = load i32, i32* [[IE]], align 4 10814 // CHECK-NEXT: [[TMP907:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP906]] release, align 4 10815 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10816 // CHECK-NEXT: [[TMP908:%.*]] = load i32, i32* [[IE]], align 4 10817 // CHECK-NEXT: [[TMP909:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP908]] release, align 4 10818 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10819 // CHECK-NEXT: [[TMP910:%.*]] = load i32, i32* [[IE]], align 4 10820 // CHECK-NEXT: [[TMP911:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP910]] release, align 4 10821 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10822 // CHECK-NEXT: [[TMP912:%.*]] = load i32, i32* [[IE]], align 4 10823 // CHECK-NEXT: [[TMP913:%.*]] = load i32, i32* [[ID]], align 4 10824 // CHECK-NEXT: [[TMP914:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP912]], i32 [[TMP913]] release monotonic, align 4 10825 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10826 // CHECK-NEXT: [[TMP915:%.*]] = load i32, i32* [[IE]], align 4 10827 // CHECK-NEXT: [[TMP916:%.*]] = load i32, i32* [[ID]], align 4 10828 // CHECK-NEXT: [[TMP917:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP915]], i32 [[TMP916]] release monotonic, align 4 10829 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10830 // CHECK-NEXT: [[TMP918:%.*]] = load i32, i32* [[IE]], align 4 10831 // CHECK-NEXT: [[TMP919:%.*]] = load i32, i32* [[ID]], align 4 10832 // CHECK-NEXT: [[TMP920:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP918]], i32 [[TMP919]] release monotonic, align 4 10833 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10834 // CHECK-NEXT: [[TMP921:%.*]] = load i32, i32* [[IE]], align 4 10835 // CHECK-NEXT: [[TMP922:%.*]] = load i32, i32* [[ID]], align 4 10836 // CHECK-NEXT: [[TMP923:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP921]], i32 [[TMP922]] release monotonic, align 4 10837 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10838 // CHECK-NEXT: [[TMP924:%.*]] = load i32, i32* [[UIE]], align 4 10839 // CHECK-NEXT: [[TMP925:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP924]] release, align 4 10840 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10841 // CHECK-NEXT: [[TMP926:%.*]] = load i32, i32* [[UIE]], align 4 10842 // CHECK-NEXT: [[TMP927:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP926]] release, align 4 10843 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10844 // CHECK-NEXT: [[TMP928:%.*]] = load i32, i32* [[UIE]], align 4 10845 // CHECK-NEXT: [[TMP929:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP928]] release, align 4 10846 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10847 // CHECK-NEXT: [[TMP930:%.*]] = load i32, i32* [[UIE]], align 4 10848 // CHECK-NEXT: [[TMP931:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP930]] release, align 4 10849 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10850 // CHECK-NEXT: [[TMP932:%.*]] = load i32, i32* [[UIE]], align 4 10851 // CHECK-NEXT: [[TMP933:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP932]] release, align 4 10852 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10853 // CHECK-NEXT: [[TMP934:%.*]] = load i32, i32* [[UIE]], align 4 10854 // CHECK-NEXT: [[TMP935:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP934]] release, align 4 10855 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10856 // CHECK-NEXT: [[TMP936:%.*]] = load i32, i32* [[UIE]], align 4 10857 // CHECK-NEXT: [[TMP937:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP936]] release, align 4 10858 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10859 // CHECK-NEXT: [[TMP938:%.*]] = load i32, i32* [[UIE]], align 4 10860 // CHECK-NEXT: [[TMP939:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP938]] release, align 4 10861 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10862 // CHECK-NEXT: [[TMP940:%.*]] = load i32, i32* [[UIE]], align 4 10863 // CHECK-NEXT: [[TMP941:%.*]] = load i32, i32* [[UID]], align 4 10864 // CHECK-NEXT: [[TMP942:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP940]], i32 [[TMP941]] release monotonic, align 4 10865 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10866 // CHECK-NEXT: [[TMP943:%.*]] = load i32, i32* [[UIE]], align 4 10867 // CHECK-NEXT: [[TMP944:%.*]] = load i32, i32* [[UID]], align 4 10868 // CHECK-NEXT: [[TMP945:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP943]], i32 [[TMP944]] release monotonic, align 4 10869 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10870 // CHECK-NEXT: [[TMP946:%.*]] = load i32, i32* [[UIE]], align 4 10871 // CHECK-NEXT: [[TMP947:%.*]] = load i32, i32* [[UID]], align 4 10872 // CHECK-NEXT: [[TMP948:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP946]], i32 [[TMP947]] release monotonic, align 4 10873 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10874 // CHECK-NEXT: [[TMP949:%.*]] = load i32, i32* [[UIE]], align 4 10875 // CHECK-NEXT: [[TMP950:%.*]] = load i32, i32* [[UID]], align 4 10876 // CHECK-NEXT: [[TMP951:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP949]], i32 [[TMP950]] release monotonic, align 4 10877 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10878 // CHECK-NEXT: [[TMP952:%.*]] = load i32, i32* [[IE]], align 4 10879 // CHECK-NEXT: [[TMP953:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP952]] seq_cst, align 4 10880 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10881 // CHECK-NEXT: [[TMP954:%.*]] = load i32, i32* [[IE]], align 4 10882 // CHECK-NEXT: [[TMP955:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP954]] seq_cst, align 4 10883 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10884 // CHECK-NEXT: [[TMP956:%.*]] = load i32, i32* [[IE]], align 4 10885 // CHECK-NEXT: [[TMP957:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP956]] seq_cst, align 4 10886 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10887 // CHECK-NEXT: [[TMP958:%.*]] = load i32, i32* [[IE]], align 4 10888 // CHECK-NEXT: [[TMP959:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP958]] seq_cst, align 4 10889 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10890 // CHECK-NEXT: [[TMP960:%.*]] = load i32, i32* [[IE]], align 4 10891 // CHECK-NEXT: [[TMP961:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP960]] seq_cst, align 4 10892 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10893 // CHECK-NEXT: [[TMP962:%.*]] = load i32, i32* [[IE]], align 4 10894 // CHECK-NEXT: [[TMP963:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP962]] seq_cst, align 4 10895 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10896 // CHECK-NEXT: [[TMP964:%.*]] = load i32, i32* [[IE]], align 4 10897 // CHECK-NEXT: [[TMP965:%.*]] = atomicrmw max i32* [[IX]], i32 [[TMP964]] seq_cst, align 4 10898 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10899 // CHECK-NEXT: [[TMP966:%.*]] = load i32, i32* [[IE]], align 4 10900 // CHECK-NEXT: [[TMP967:%.*]] = atomicrmw min i32* [[IX]], i32 [[TMP966]] seq_cst, align 4 10901 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10902 // CHECK-NEXT: [[TMP968:%.*]] = load i32, i32* [[IE]], align 4 10903 // CHECK-NEXT: [[TMP969:%.*]] = load i32, i32* [[ID]], align 4 10904 // CHECK-NEXT: [[TMP970:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP968]], i32 [[TMP969]] seq_cst seq_cst, align 4 10905 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10906 // CHECK-NEXT: [[TMP971:%.*]] = load i32, i32* [[IE]], align 4 10907 // CHECK-NEXT: [[TMP972:%.*]] = load i32, i32* [[ID]], align 4 10908 // CHECK-NEXT: [[TMP973:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP971]], i32 [[TMP972]] seq_cst seq_cst, align 4 10909 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10910 // CHECK-NEXT: [[TMP974:%.*]] = load i32, i32* [[IE]], align 4 10911 // CHECK-NEXT: [[TMP975:%.*]] = load i32, i32* [[ID]], align 4 10912 // CHECK-NEXT: [[TMP976:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP974]], i32 [[TMP975]] seq_cst seq_cst, align 4 10913 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10914 // CHECK-NEXT: [[TMP977:%.*]] = load i32, i32* [[IE]], align 4 10915 // CHECK-NEXT: [[TMP978:%.*]] = load i32, i32* [[ID]], align 4 10916 // CHECK-NEXT: [[TMP979:%.*]] = cmpxchg i32* [[IX]], i32 [[TMP977]], i32 [[TMP978]] seq_cst seq_cst, align 4 10917 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10918 // CHECK-NEXT: [[TMP980:%.*]] = load i32, i32* [[UIE]], align 4 10919 // CHECK-NEXT: [[TMP981:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP980]] seq_cst, align 4 10920 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10921 // CHECK-NEXT: [[TMP982:%.*]] = load i32, i32* [[UIE]], align 4 10922 // CHECK-NEXT: [[TMP983:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP982]] seq_cst, align 4 10923 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10924 // CHECK-NEXT: [[TMP984:%.*]] = load i32, i32* [[UIE]], align 4 10925 // CHECK-NEXT: [[TMP985:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP984]] seq_cst, align 4 10926 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10927 // CHECK-NEXT: [[TMP986:%.*]] = load i32, i32* [[UIE]], align 4 10928 // CHECK-NEXT: [[TMP987:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP986]] seq_cst, align 4 10929 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10930 // CHECK-NEXT: [[TMP988:%.*]] = load i32, i32* [[UIE]], align 4 10931 // CHECK-NEXT: [[TMP989:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP988]] seq_cst, align 4 10932 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10933 // CHECK-NEXT: [[TMP990:%.*]] = load i32, i32* [[UIE]], align 4 10934 // CHECK-NEXT: [[TMP991:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP990]] seq_cst, align 4 10935 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10936 // CHECK-NEXT: [[TMP992:%.*]] = load i32, i32* [[UIE]], align 4 10937 // CHECK-NEXT: [[TMP993:%.*]] = atomicrmw umax i32* [[UIX]], i32 [[TMP992]] seq_cst, align 4 10938 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10939 // CHECK-NEXT: [[TMP994:%.*]] = load i32, i32* [[UIE]], align 4 10940 // CHECK-NEXT: [[TMP995:%.*]] = atomicrmw umin i32* [[UIX]], i32 [[TMP994]] seq_cst, align 4 10941 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10942 // CHECK-NEXT: [[TMP996:%.*]] = load i32, i32* [[UIE]], align 4 10943 // CHECK-NEXT: [[TMP997:%.*]] = load i32, i32* [[UID]], align 4 10944 // CHECK-NEXT: [[TMP998:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP996]], i32 [[TMP997]] seq_cst seq_cst, align 4 10945 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10946 // CHECK-NEXT: [[TMP999:%.*]] = load i32, i32* [[UIE]], align 4 10947 // CHECK-NEXT: [[TMP1000:%.*]] = load i32, i32* [[UID]], align 4 10948 // CHECK-NEXT: [[TMP1001:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP999]], i32 [[TMP1000]] seq_cst seq_cst, align 4 10949 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10950 // CHECK-NEXT: [[TMP1002:%.*]] = load i32, i32* [[UIE]], align 4 10951 // CHECK-NEXT: [[TMP1003:%.*]] = load i32, i32* [[UID]], align 4 10952 // CHECK-NEXT: [[TMP1004:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP1002]], i32 [[TMP1003]] seq_cst seq_cst, align 4 10953 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10954 // CHECK-NEXT: [[TMP1005:%.*]] = load i32, i32* [[UIE]], align 4 10955 // CHECK-NEXT: [[TMP1006:%.*]] = load i32, i32* [[UID]], align 4 10956 // CHECK-NEXT: [[TMP1007:%.*]] = cmpxchg i32* [[UIX]], i32 [[TMP1005]], i32 [[TMP1006]] seq_cst seq_cst, align 4 10957 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 10958 // CHECK-NEXT: [[TMP1008:%.*]] = load i64, i64* [[LE]], align 8 10959 // CHECK-NEXT: [[TMP1009:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1008]] monotonic, align 8 10960 // CHECK-NEXT: [[TMP1010:%.*]] = load i64, i64* [[LE]], align 8 10961 // CHECK-NEXT: [[TMP1011:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1010]] monotonic, align 8 10962 // CHECK-NEXT: [[TMP1012:%.*]] = load i64, i64* [[LE]], align 8 10963 // CHECK-NEXT: [[TMP1013:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1012]] monotonic, align 8 10964 // CHECK-NEXT: [[TMP1014:%.*]] = load i64, i64* [[LE]], align 8 10965 // CHECK-NEXT: [[TMP1015:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1014]] monotonic, align 8 10966 // CHECK-NEXT: [[TMP1016:%.*]] = load i64, i64* [[LE]], align 8 10967 // CHECK-NEXT: [[TMP1017:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1016]] monotonic, align 8 10968 // CHECK-NEXT: [[TMP1018:%.*]] = load i64, i64* [[LE]], align 8 10969 // CHECK-NEXT: [[TMP1019:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1018]] monotonic, align 8 10970 // CHECK-NEXT: [[TMP1020:%.*]] = load i64, i64* [[LE]], align 8 10971 // CHECK-NEXT: [[TMP1021:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1020]] monotonic, align 8 10972 // CHECK-NEXT: [[TMP1022:%.*]] = load i64, i64* [[LE]], align 8 10973 // CHECK-NEXT: [[TMP1023:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1022]] monotonic, align 8 10974 // CHECK-NEXT: [[TMP1024:%.*]] = load i64, i64* [[LE]], align 8 10975 // CHECK-NEXT: [[TMP1025:%.*]] = load i64, i64* [[LD]], align 8 10976 // CHECK-NEXT: [[TMP1026:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1024]], i64 [[TMP1025]] monotonic monotonic, align 8 10977 // CHECK-NEXT: [[TMP1027:%.*]] = load i64, i64* [[LE]], align 8 10978 // CHECK-NEXT: [[TMP1028:%.*]] = load i64, i64* [[LD]], align 8 10979 // CHECK-NEXT: [[TMP1029:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1027]], i64 [[TMP1028]] monotonic monotonic, align 8 10980 // CHECK-NEXT: [[TMP1030:%.*]] = load i64, i64* [[LE]], align 8 10981 // CHECK-NEXT: [[TMP1031:%.*]] = load i64, i64* [[LD]], align 8 10982 // CHECK-NEXT: [[TMP1032:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1030]], i64 [[TMP1031]] monotonic monotonic, align 8 10983 // CHECK-NEXT: [[TMP1033:%.*]] = load i64, i64* [[LE]], align 8 10984 // CHECK-NEXT: [[TMP1034:%.*]] = load i64, i64* [[LD]], align 8 10985 // CHECK-NEXT: [[TMP1035:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1033]], i64 [[TMP1034]] monotonic monotonic, align 8 10986 // CHECK-NEXT: [[TMP1036:%.*]] = load i64, i64* [[ULE]], align 8 10987 // CHECK-NEXT: [[TMP1037:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1036]] monotonic, align 8 10988 // CHECK-NEXT: [[TMP1038:%.*]] = load i64, i64* [[ULE]], align 8 10989 // CHECK-NEXT: [[TMP1039:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1038]] monotonic, align 8 10990 // CHECK-NEXT: [[TMP1040:%.*]] = load i64, i64* [[ULE]], align 8 10991 // CHECK-NEXT: [[TMP1041:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1040]] monotonic, align 8 10992 // CHECK-NEXT: [[TMP1042:%.*]] = load i64, i64* [[ULE]], align 8 10993 // CHECK-NEXT: [[TMP1043:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1042]] monotonic, align 8 10994 // CHECK-NEXT: [[TMP1044:%.*]] = load i64, i64* [[ULE]], align 8 10995 // CHECK-NEXT: [[TMP1045:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1044]] monotonic, align 8 10996 // CHECK-NEXT: [[TMP1046:%.*]] = load i64, i64* [[ULE]], align 8 10997 // CHECK-NEXT: [[TMP1047:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1046]] monotonic, align 8 10998 // CHECK-NEXT: [[TMP1048:%.*]] = load i64, i64* [[ULE]], align 8 10999 // CHECK-NEXT: [[TMP1049:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1048]] monotonic, align 8 11000 // CHECK-NEXT: [[TMP1050:%.*]] = load i64, i64* [[ULE]], align 8 11001 // CHECK-NEXT: [[TMP1051:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1050]] monotonic, align 8 11002 // CHECK-NEXT: [[TMP1052:%.*]] = load i64, i64* [[ULE]], align 8 11003 // CHECK-NEXT: [[TMP1053:%.*]] = load i64, i64* [[ULD]], align 8 11004 // CHECK-NEXT: [[TMP1054:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1052]], i64 [[TMP1053]] monotonic monotonic, align 8 11005 // CHECK-NEXT: [[TMP1055:%.*]] = load i64, i64* [[ULE]], align 8 11006 // CHECK-NEXT: [[TMP1056:%.*]] = load i64, i64* [[ULD]], align 8 11007 // CHECK-NEXT: [[TMP1057:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1055]], i64 [[TMP1056]] monotonic monotonic, align 8 11008 // CHECK-NEXT: [[TMP1058:%.*]] = load i64, i64* [[ULE]], align 8 11009 // CHECK-NEXT: [[TMP1059:%.*]] = load i64, i64* [[ULD]], align 8 11010 // CHECK-NEXT: [[TMP1060:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1058]], i64 [[TMP1059]] monotonic monotonic, align 8 11011 // CHECK-NEXT: [[TMP1061:%.*]] = load i64, i64* [[ULE]], align 8 11012 // CHECK-NEXT: [[TMP1062:%.*]] = load i64, i64* [[ULD]], align 8 11013 // CHECK-NEXT: [[TMP1063:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1061]], i64 [[TMP1062]] monotonic monotonic, align 8 11014 // CHECK-NEXT: [[TMP1064:%.*]] = load i64, i64* [[LE]], align 8 11015 // CHECK-NEXT: [[TMP1065:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1064]] acq_rel, align 8 11016 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11017 // CHECK-NEXT: [[TMP1066:%.*]] = load i64, i64* [[LE]], align 8 11018 // CHECK-NEXT: [[TMP1067:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1066]] acq_rel, align 8 11019 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11020 // CHECK-NEXT: [[TMP1068:%.*]] = load i64, i64* [[LE]], align 8 11021 // CHECK-NEXT: [[TMP1069:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1068]] acq_rel, align 8 11022 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11023 // CHECK-NEXT: [[TMP1070:%.*]] = load i64, i64* [[LE]], align 8 11024 // CHECK-NEXT: [[TMP1071:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1070]] acq_rel, align 8 11025 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11026 // CHECK-NEXT: [[TMP1072:%.*]] = load i64, i64* [[LE]], align 8 11027 // CHECK-NEXT: [[TMP1073:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1072]] acq_rel, align 8 11028 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11029 // CHECK-NEXT: [[TMP1074:%.*]] = load i64, i64* [[LE]], align 8 11030 // CHECK-NEXT: [[TMP1075:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1074]] acq_rel, align 8 11031 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11032 // CHECK-NEXT: [[TMP1076:%.*]] = load i64, i64* [[LE]], align 8 11033 // CHECK-NEXT: [[TMP1077:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1076]] acq_rel, align 8 11034 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11035 // CHECK-NEXT: [[TMP1078:%.*]] = load i64, i64* [[LE]], align 8 11036 // CHECK-NEXT: [[TMP1079:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1078]] acq_rel, align 8 11037 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11038 // CHECK-NEXT: [[TMP1080:%.*]] = load i64, i64* [[LE]], align 8 11039 // CHECK-NEXT: [[TMP1081:%.*]] = load i64, i64* [[LD]], align 8 11040 // CHECK-NEXT: [[TMP1082:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1080]], i64 [[TMP1081]] acq_rel acquire, align 8 11041 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11042 // CHECK-NEXT: [[TMP1083:%.*]] = load i64, i64* [[LE]], align 8 11043 // CHECK-NEXT: [[TMP1084:%.*]] = load i64, i64* [[LD]], align 8 11044 // CHECK-NEXT: [[TMP1085:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1083]], i64 [[TMP1084]] acq_rel acquire, align 8 11045 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11046 // CHECK-NEXT: [[TMP1086:%.*]] = load i64, i64* [[LE]], align 8 11047 // CHECK-NEXT: [[TMP1087:%.*]] = load i64, i64* [[LD]], align 8 11048 // CHECK-NEXT: [[TMP1088:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1086]], i64 [[TMP1087]] acq_rel acquire, align 8 11049 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11050 // CHECK-NEXT: [[TMP1089:%.*]] = load i64, i64* [[LE]], align 8 11051 // CHECK-NEXT: [[TMP1090:%.*]] = load i64, i64* [[LD]], align 8 11052 // CHECK-NEXT: [[TMP1091:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1089]], i64 [[TMP1090]] acq_rel acquire, align 8 11053 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11054 // CHECK-NEXT: [[TMP1092:%.*]] = load i64, i64* [[ULE]], align 8 11055 // CHECK-NEXT: [[TMP1093:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1092]] acq_rel, align 8 11056 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11057 // CHECK-NEXT: [[TMP1094:%.*]] = load i64, i64* [[ULE]], align 8 11058 // CHECK-NEXT: [[TMP1095:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1094]] acq_rel, align 8 11059 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11060 // CHECK-NEXT: [[TMP1096:%.*]] = load i64, i64* [[ULE]], align 8 11061 // CHECK-NEXT: [[TMP1097:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1096]] acq_rel, align 8 11062 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11063 // CHECK-NEXT: [[TMP1098:%.*]] = load i64, i64* [[ULE]], align 8 11064 // CHECK-NEXT: [[TMP1099:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1098]] acq_rel, align 8 11065 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11066 // CHECK-NEXT: [[TMP1100:%.*]] = load i64, i64* [[ULE]], align 8 11067 // CHECK-NEXT: [[TMP1101:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1100]] acq_rel, align 8 11068 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11069 // CHECK-NEXT: [[TMP1102:%.*]] = load i64, i64* [[ULE]], align 8 11070 // CHECK-NEXT: [[TMP1103:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1102]] acq_rel, align 8 11071 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11072 // CHECK-NEXT: [[TMP1104:%.*]] = load i64, i64* [[ULE]], align 8 11073 // CHECK-NEXT: [[TMP1105:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1104]] acq_rel, align 8 11074 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11075 // CHECK-NEXT: [[TMP1106:%.*]] = load i64, i64* [[ULE]], align 8 11076 // CHECK-NEXT: [[TMP1107:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1106]] acq_rel, align 8 11077 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11078 // CHECK-NEXT: [[TMP1108:%.*]] = load i64, i64* [[ULE]], align 8 11079 // CHECK-NEXT: [[TMP1109:%.*]] = load i64, i64* [[ULD]], align 8 11080 // CHECK-NEXT: [[TMP1110:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1108]], i64 [[TMP1109]] acq_rel acquire, align 8 11081 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11082 // CHECK-NEXT: [[TMP1111:%.*]] = load i64, i64* [[ULE]], align 8 11083 // CHECK-NEXT: [[TMP1112:%.*]] = load i64, i64* [[ULD]], align 8 11084 // CHECK-NEXT: [[TMP1113:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1111]], i64 [[TMP1112]] acq_rel acquire, align 8 11085 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11086 // CHECK-NEXT: [[TMP1114:%.*]] = load i64, i64* [[ULE]], align 8 11087 // CHECK-NEXT: [[TMP1115:%.*]] = load i64, i64* [[ULD]], align 8 11088 // CHECK-NEXT: [[TMP1116:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1114]], i64 [[TMP1115]] acq_rel acquire, align 8 11089 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11090 // CHECK-NEXT: [[TMP1117:%.*]] = load i64, i64* [[ULE]], align 8 11091 // CHECK-NEXT: [[TMP1118:%.*]] = load i64, i64* [[ULD]], align 8 11092 // CHECK-NEXT: [[TMP1119:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1117]], i64 [[TMP1118]] acq_rel acquire, align 8 11093 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11094 // CHECK-NEXT: [[TMP1120:%.*]] = load i64, i64* [[LE]], align 8 11095 // CHECK-NEXT: [[TMP1121:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1120]] acquire, align 8 11096 // CHECK-NEXT: [[TMP1122:%.*]] = load i64, i64* [[LE]], align 8 11097 // CHECK-NEXT: [[TMP1123:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1122]] acquire, align 8 11098 // CHECK-NEXT: [[TMP1124:%.*]] = load i64, i64* [[LE]], align 8 11099 // CHECK-NEXT: [[TMP1125:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1124]] acquire, align 8 11100 // CHECK-NEXT: [[TMP1126:%.*]] = load i64, i64* [[LE]], align 8 11101 // CHECK-NEXT: [[TMP1127:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1126]] acquire, align 8 11102 // CHECK-NEXT: [[TMP1128:%.*]] = load i64, i64* [[LE]], align 8 11103 // CHECK-NEXT: [[TMP1129:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1128]] acquire, align 8 11104 // CHECK-NEXT: [[TMP1130:%.*]] = load i64, i64* [[LE]], align 8 11105 // CHECK-NEXT: [[TMP1131:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1130]] acquire, align 8 11106 // CHECK-NEXT: [[TMP1132:%.*]] = load i64, i64* [[LE]], align 8 11107 // CHECK-NEXT: [[TMP1133:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1132]] acquire, align 8 11108 // CHECK-NEXT: [[TMP1134:%.*]] = load i64, i64* [[LE]], align 8 11109 // CHECK-NEXT: [[TMP1135:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1134]] acquire, align 8 11110 // CHECK-NEXT: [[TMP1136:%.*]] = load i64, i64* [[LE]], align 8 11111 // CHECK-NEXT: [[TMP1137:%.*]] = load i64, i64* [[LD]], align 8 11112 // CHECK-NEXT: [[TMP1138:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1136]], i64 [[TMP1137]] acquire acquire, align 8 11113 // CHECK-NEXT: [[TMP1139:%.*]] = load i64, i64* [[LE]], align 8 11114 // CHECK-NEXT: [[TMP1140:%.*]] = load i64, i64* [[LD]], align 8 11115 // CHECK-NEXT: [[TMP1141:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1139]], i64 [[TMP1140]] acquire acquire, align 8 11116 // CHECK-NEXT: [[TMP1142:%.*]] = load i64, i64* [[LE]], align 8 11117 // CHECK-NEXT: [[TMP1143:%.*]] = load i64, i64* [[LD]], align 8 11118 // CHECK-NEXT: [[TMP1144:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1142]], i64 [[TMP1143]] acquire acquire, align 8 11119 // CHECK-NEXT: [[TMP1145:%.*]] = load i64, i64* [[LE]], align 8 11120 // CHECK-NEXT: [[TMP1146:%.*]] = load i64, i64* [[LD]], align 8 11121 // CHECK-NEXT: [[TMP1147:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1145]], i64 [[TMP1146]] acquire acquire, align 8 11122 // CHECK-NEXT: [[TMP1148:%.*]] = load i64, i64* [[ULE]], align 8 11123 // CHECK-NEXT: [[TMP1149:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1148]] acquire, align 8 11124 // CHECK-NEXT: [[TMP1150:%.*]] = load i64, i64* [[ULE]], align 8 11125 // CHECK-NEXT: [[TMP1151:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1150]] acquire, align 8 11126 // CHECK-NEXT: [[TMP1152:%.*]] = load i64, i64* [[ULE]], align 8 11127 // CHECK-NEXT: [[TMP1153:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1152]] acquire, align 8 11128 // CHECK-NEXT: [[TMP1154:%.*]] = load i64, i64* [[ULE]], align 8 11129 // CHECK-NEXT: [[TMP1155:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1154]] acquire, align 8 11130 // CHECK-NEXT: [[TMP1156:%.*]] = load i64, i64* [[ULE]], align 8 11131 // CHECK-NEXT: [[TMP1157:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1156]] acquire, align 8 11132 // CHECK-NEXT: [[TMP1158:%.*]] = load i64, i64* [[ULE]], align 8 11133 // CHECK-NEXT: [[TMP1159:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1158]] acquire, align 8 11134 // CHECK-NEXT: [[TMP1160:%.*]] = load i64, i64* [[ULE]], align 8 11135 // CHECK-NEXT: [[TMP1161:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1160]] acquire, align 8 11136 // CHECK-NEXT: [[TMP1162:%.*]] = load i64, i64* [[ULE]], align 8 11137 // CHECK-NEXT: [[TMP1163:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1162]] acquire, align 8 11138 // CHECK-NEXT: [[TMP1164:%.*]] = load i64, i64* [[ULE]], align 8 11139 // CHECK-NEXT: [[TMP1165:%.*]] = load i64, i64* [[ULD]], align 8 11140 // CHECK-NEXT: [[TMP1166:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1164]], i64 [[TMP1165]] acquire acquire, align 8 11141 // CHECK-NEXT: [[TMP1167:%.*]] = load i64, i64* [[ULE]], align 8 11142 // CHECK-NEXT: [[TMP1168:%.*]] = load i64, i64* [[ULD]], align 8 11143 // CHECK-NEXT: [[TMP1169:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1167]], i64 [[TMP1168]] acquire acquire, align 8 11144 // CHECK-NEXT: [[TMP1170:%.*]] = load i64, i64* [[ULE]], align 8 11145 // CHECK-NEXT: [[TMP1171:%.*]] = load i64, i64* [[ULD]], align 8 11146 // CHECK-NEXT: [[TMP1172:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1170]], i64 [[TMP1171]] acquire acquire, align 8 11147 // CHECK-NEXT: [[TMP1173:%.*]] = load i64, i64* [[ULE]], align 8 11148 // CHECK-NEXT: [[TMP1174:%.*]] = load i64, i64* [[ULD]], align 8 11149 // CHECK-NEXT: [[TMP1175:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1173]], i64 [[TMP1174]] acquire acquire, align 8 11150 // CHECK-NEXT: [[TMP1176:%.*]] = load i64, i64* [[LE]], align 8 11151 // CHECK-NEXT: [[TMP1177:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1176]] monotonic, align 8 11152 // CHECK-NEXT: [[TMP1178:%.*]] = load i64, i64* [[LE]], align 8 11153 // CHECK-NEXT: [[TMP1179:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1178]] monotonic, align 8 11154 // CHECK-NEXT: [[TMP1180:%.*]] = load i64, i64* [[LE]], align 8 11155 // CHECK-NEXT: [[TMP1181:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1180]] monotonic, align 8 11156 // CHECK-NEXT: [[TMP1182:%.*]] = load i64, i64* [[LE]], align 8 11157 // CHECK-NEXT: [[TMP1183:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1182]] monotonic, align 8 11158 // CHECK-NEXT: [[TMP1184:%.*]] = load i64, i64* [[LE]], align 8 11159 // CHECK-NEXT: [[TMP1185:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1184]] monotonic, align 8 11160 // CHECK-NEXT: [[TMP1186:%.*]] = load i64, i64* [[LE]], align 8 11161 // CHECK-NEXT: [[TMP1187:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1186]] monotonic, align 8 11162 // CHECK-NEXT: [[TMP1188:%.*]] = load i64, i64* [[LE]], align 8 11163 // CHECK-NEXT: [[TMP1189:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1188]] monotonic, align 8 11164 // CHECK-NEXT: [[TMP1190:%.*]] = load i64, i64* [[LE]], align 8 11165 // CHECK-NEXT: [[TMP1191:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1190]] monotonic, align 8 11166 // CHECK-NEXT: [[TMP1192:%.*]] = load i64, i64* [[LE]], align 8 11167 // CHECK-NEXT: [[TMP1193:%.*]] = load i64, i64* [[LD]], align 8 11168 // CHECK-NEXT: [[TMP1194:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1192]], i64 [[TMP1193]] monotonic monotonic, align 8 11169 // CHECK-NEXT: [[TMP1195:%.*]] = load i64, i64* [[LE]], align 8 11170 // CHECK-NEXT: [[TMP1196:%.*]] = load i64, i64* [[LD]], align 8 11171 // CHECK-NEXT: [[TMP1197:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1195]], i64 [[TMP1196]] monotonic monotonic, align 8 11172 // CHECK-NEXT: [[TMP1198:%.*]] = load i64, i64* [[LE]], align 8 11173 // CHECK-NEXT: [[TMP1199:%.*]] = load i64, i64* [[LD]], align 8 11174 // CHECK-NEXT: [[TMP1200:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1198]], i64 [[TMP1199]] monotonic monotonic, align 8 11175 // CHECK-NEXT: [[TMP1201:%.*]] = load i64, i64* [[LE]], align 8 11176 // CHECK-NEXT: [[TMP1202:%.*]] = load i64, i64* [[LD]], align 8 11177 // CHECK-NEXT: [[TMP1203:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1201]], i64 [[TMP1202]] monotonic monotonic, align 8 11178 // CHECK-NEXT: [[TMP1204:%.*]] = load i64, i64* [[ULE]], align 8 11179 // CHECK-NEXT: [[TMP1205:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1204]] monotonic, align 8 11180 // CHECK-NEXT: [[TMP1206:%.*]] = load i64, i64* [[ULE]], align 8 11181 // CHECK-NEXT: [[TMP1207:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1206]] monotonic, align 8 11182 // CHECK-NEXT: [[TMP1208:%.*]] = load i64, i64* [[ULE]], align 8 11183 // CHECK-NEXT: [[TMP1209:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1208]] monotonic, align 8 11184 // CHECK-NEXT: [[TMP1210:%.*]] = load i64, i64* [[ULE]], align 8 11185 // CHECK-NEXT: [[TMP1211:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1210]] monotonic, align 8 11186 // CHECK-NEXT: [[TMP1212:%.*]] = load i64, i64* [[ULE]], align 8 11187 // CHECK-NEXT: [[TMP1213:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1212]] monotonic, align 8 11188 // CHECK-NEXT: [[TMP1214:%.*]] = load i64, i64* [[ULE]], align 8 11189 // CHECK-NEXT: [[TMP1215:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1214]] monotonic, align 8 11190 // CHECK-NEXT: [[TMP1216:%.*]] = load i64, i64* [[ULE]], align 8 11191 // CHECK-NEXT: [[TMP1217:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1216]] monotonic, align 8 11192 // CHECK-NEXT: [[TMP1218:%.*]] = load i64, i64* [[ULE]], align 8 11193 // CHECK-NEXT: [[TMP1219:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1218]] monotonic, align 8 11194 // CHECK-NEXT: [[TMP1220:%.*]] = load i64, i64* [[ULE]], align 8 11195 // CHECK-NEXT: [[TMP1221:%.*]] = load i64, i64* [[ULD]], align 8 11196 // CHECK-NEXT: [[TMP1222:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1220]], i64 [[TMP1221]] monotonic monotonic, align 8 11197 // CHECK-NEXT: [[TMP1223:%.*]] = load i64, i64* [[ULE]], align 8 11198 // CHECK-NEXT: [[TMP1224:%.*]] = load i64, i64* [[ULD]], align 8 11199 // CHECK-NEXT: [[TMP1225:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1223]], i64 [[TMP1224]] monotonic monotonic, align 8 11200 // CHECK-NEXT: [[TMP1226:%.*]] = load i64, i64* [[ULE]], align 8 11201 // CHECK-NEXT: [[TMP1227:%.*]] = load i64, i64* [[ULD]], align 8 11202 // CHECK-NEXT: [[TMP1228:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1226]], i64 [[TMP1227]] monotonic monotonic, align 8 11203 // CHECK-NEXT: [[TMP1229:%.*]] = load i64, i64* [[ULE]], align 8 11204 // CHECK-NEXT: [[TMP1230:%.*]] = load i64, i64* [[ULD]], align 8 11205 // CHECK-NEXT: [[TMP1231:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1229]], i64 [[TMP1230]] monotonic monotonic, align 8 11206 // CHECK-NEXT: [[TMP1232:%.*]] = load i64, i64* [[LE]], align 8 11207 // CHECK-NEXT: [[TMP1233:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1232]] release, align 8 11208 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11209 // CHECK-NEXT: [[TMP1234:%.*]] = load i64, i64* [[LE]], align 8 11210 // CHECK-NEXT: [[TMP1235:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1234]] release, align 8 11211 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11212 // CHECK-NEXT: [[TMP1236:%.*]] = load i64, i64* [[LE]], align 8 11213 // CHECK-NEXT: [[TMP1237:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1236]] release, align 8 11214 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11215 // CHECK-NEXT: [[TMP1238:%.*]] = load i64, i64* [[LE]], align 8 11216 // CHECK-NEXT: [[TMP1239:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1238]] release, align 8 11217 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11218 // CHECK-NEXT: [[TMP1240:%.*]] = load i64, i64* [[LE]], align 8 11219 // CHECK-NEXT: [[TMP1241:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1240]] release, align 8 11220 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11221 // CHECK-NEXT: [[TMP1242:%.*]] = load i64, i64* [[LE]], align 8 11222 // CHECK-NEXT: [[TMP1243:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1242]] release, align 8 11223 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11224 // CHECK-NEXT: [[TMP1244:%.*]] = load i64, i64* [[LE]], align 8 11225 // CHECK-NEXT: [[TMP1245:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1244]] release, align 8 11226 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11227 // CHECK-NEXT: [[TMP1246:%.*]] = load i64, i64* [[LE]], align 8 11228 // CHECK-NEXT: [[TMP1247:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1246]] release, align 8 11229 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11230 // CHECK-NEXT: [[TMP1248:%.*]] = load i64, i64* [[LE]], align 8 11231 // CHECK-NEXT: [[TMP1249:%.*]] = load i64, i64* [[LD]], align 8 11232 // CHECK-NEXT: [[TMP1250:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1248]], i64 [[TMP1249]] release monotonic, align 8 11233 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11234 // CHECK-NEXT: [[TMP1251:%.*]] = load i64, i64* [[LE]], align 8 11235 // CHECK-NEXT: [[TMP1252:%.*]] = load i64, i64* [[LD]], align 8 11236 // CHECK-NEXT: [[TMP1253:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1251]], i64 [[TMP1252]] release monotonic, align 8 11237 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11238 // CHECK-NEXT: [[TMP1254:%.*]] = load i64, i64* [[LE]], align 8 11239 // CHECK-NEXT: [[TMP1255:%.*]] = load i64, i64* [[LD]], align 8 11240 // CHECK-NEXT: [[TMP1256:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1254]], i64 [[TMP1255]] release monotonic, align 8 11241 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11242 // CHECK-NEXT: [[TMP1257:%.*]] = load i64, i64* [[LE]], align 8 11243 // CHECK-NEXT: [[TMP1258:%.*]] = load i64, i64* [[LD]], align 8 11244 // CHECK-NEXT: [[TMP1259:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1257]], i64 [[TMP1258]] release monotonic, align 8 11245 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11246 // CHECK-NEXT: [[TMP1260:%.*]] = load i64, i64* [[ULE]], align 8 11247 // CHECK-NEXT: [[TMP1261:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1260]] release, align 8 11248 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11249 // CHECK-NEXT: [[TMP1262:%.*]] = load i64, i64* [[ULE]], align 8 11250 // CHECK-NEXT: [[TMP1263:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1262]] release, align 8 11251 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11252 // CHECK-NEXT: [[TMP1264:%.*]] = load i64, i64* [[ULE]], align 8 11253 // CHECK-NEXT: [[TMP1265:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1264]] release, align 8 11254 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11255 // CHECK-NEXT: [[TMP1266:%.*]] = load i64, i64* [[ULE]], align 8 11256 // CHECK-NEXT: [[TMP1267:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1266]] release, align 8 11257 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11258 // CHECK-NEXT: [[TMP1268:%.*]] = load i64, i64* [[ULE]], align 8 11259 // CHECK-NEXT: [[TMP1269:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1268]] release, align 8 11260 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11261 // CHECK-NEXT: [[TMP1270:%.*]] = load i64, i64* [[ULE]], align 8 11262 // CHECK-NEXT: [[TMP1271:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1270]] release, align 8 11263 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11264 // CHECK-NEXT: [[TMP1272:%.*]] = load i64, i64* [[ULE]], align 8 11265 // CHECK-NEXT: [[TMP1273:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1272]] release, align 8 11266 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11267 // CHECK-NEXT: [[TMP1274:%.*]] = load i64, i64* [[ULE]], align 8 11268 // CHECK-NEXT: [[TMP1275:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1274]] release, align 8 11269 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11270 // CHECK-NEXT: [[TMP1276:%.*]] = load i64, i64* [[ULE]], align 8 11271 // CHECK-NEXT: [[TMP1277:%.*]] = load i64, i64* [[ULD]], align 8 11272 // CHECK-NEXT: [[TMP1278:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1276]], i64 [[TMP1277]] release monotonic, align 8 11273 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11274 // CHECK-NEXT: [[TMP1279:%.*]] = load i64, i64* [[ULE]], align 8 11275 // CHECK-NEXT: [[TMP1280:%.*]] = load i64, i64* [[ULD]], align 8 11276 // CHECK-NEXT: [[TMP1281:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1279]], i64 [[TMP1280]] release monotonic, align 8 11277 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11278 // CHECK-NEXT: [[TMP1282:%.*]] = load i64, i64* [[ULE]], align 8 11279 // CHECK-NEXT: [[TMP1283:%.*]] = load i64, i64* [[ULD]], align 8 11280 // CHECK-NEXT: [[TMP1284:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1282]], i64 [[TMP1283]] release monotonic, align 8 11281 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11282 // CHECK-NEXT: [[TMP1285:%.*]] = load i64, i64* [[ULE]], align 8 11283 // CHECK-NEXT: [[TMP1286:%.*]] = load i64, i64* [[ULD]], align 8 11284 // CHECK-NEXT: [[TMP1287:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1285]], i64 [[TMP1286]] release monotonic, align 8 11285 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11286 // CHECK-NEXT: [[TMP1288:%.*]] = load i64, i64* [[LE]], align 8 11287 // CHECK-NEXT: [[TMP1289:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1288]] seq_cst, align 8 11288 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11289 // CHECK-NEXT: [[TMP1290:%.*]] = load i64, i64* [[LE]], align 8 11290 // CHECK-NEXT: [[TMP1291:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1290]] seq_cst, align 8 11291 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11292 // CHECK-NEXT: [[TMP1292:%.*]] = load i64, i64* [[LE]], align 8 11293 // CHECK-NEXT: [[TMP1293:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1292]] seq_cst, align 8 11294 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11295 // CHECK-NEXT: [[TMP1294:%.*]] = load i64, i64* [[LE]], align 8 11296 // CHECK-NEXT: [[TMP1295:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1294]] seq_cst, align 8 11297 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11298 // CHECK-NEXT: [[TMP1296:%.*]] = load i64, i64* [[LE]], align 8 11299 // CHECK-NEXT: [[TMP1297:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1296]] seq_cst, align 8 11300 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11301 // CHECK-NEXT: [[TMP1298:%.*]] = load i64, i64* [[LE]], align 8 11302 // CHECK-NEXT: [[TMP1299:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1298]] seq_cst, align 8 11303 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11304 // CHECK-NEXT: [[TMP1300:%.*]] = load i64, i64* [[LE]], align 8 11305 // CHECK-NEXT: [[TMP1301:%.*]] = atomicrmw max i64* [[LX]], i64 [[TMP1300]] seq_cst, align 8 11306 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11307 // CHECK-NEXT: [[TMP1302:%.*]] = load i64, i64* [[LE]], align 8 11308 // CHECK-NEXT: [[TMP1303:%.*]] = atomicrmw min i64* [[LX]], i64 [[TMP1302]] seq_cst, align 8 11309 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11310 // CHECK-NEXT: [[TMP1304:%.*]] = load i64, i64* [[LE]], align 8 11311 // CHECK-NEXT: [[TMP1305:%.*]] = load i64, i64* [[LD]], align 8 11312 // CHECK-NEXT: [[TMP1306:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1304]], i64 [[TMP1305]] seq_cst seq_cst, align 8 11313 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11314 // CHECK-NEXT: [[TMP1307:%.*]] = load i64, i64* [[LE]], align 8 11315 // CHECK-NEXT: [[TMP1308:%.*]] = load i64, i64* [[LD]], align 8 11316 // CHECK-NEXT: [[TMP1309:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1307]], i64 [[TMP1308]] seq_cst seq_cst, align 8 11317 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11318 // CHECK-NEXT: [[TMP1310:%.*]] = load i64, i64* [[LE]], align 8 11319 // CHECK-NEXT: [[TMP1311:%.*]] = load i64, i64* [[LD]], align 8 11320 // CHECK-NEXT: [[TMP1312:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1310]], i64 [[TMP1311]] seq_cst seq_cst, align 8 11321 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11322 // CHECK-NEXT: [[TMP1313:%.*]] = load i64, i64* [[LE]], align 8 11323 // CHECK-NEXT: [[TMP1314:%.*]] = load i64, i64* [[LD]], align 8 11324 // CHECK-NEXT: [[TMP1315:%.*]] = cmpxchg i64* [[LX]], i64 [[TMP1313]], i64 [[TMP1314]] seq_cst seq_cst, align 8 11325 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11326 // CHECK-NEXT: [[TMP1316:%.*]] = load i64, i64* [[ULE]], align 8 11327 // CHECK-NEXT: [[TMP1317:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1316]] seq_cst, align 8 11328 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11329 // CHECK-NEXT: [[TMP1318:%.*]] = load i64, i64* [[ULE]], align 8 11330 // CHECK-NEXT: [[TMP1319:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1318]] seq_cst, align 8 11331 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11332 // CHECK-NEXT: [[TMP1320:%.*]] = load i64, i64* [[ULE]], align 8 11333 // CHECK-NEXT: [[TMP1321:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1320]] seq_cst, align 8 11334 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11335 // CHECK-NEXT: [[TMP1322:%.*]] = load i64, i64* [[ULE]], align 8 11336 // CHECK-NEXT: [[TMP1323:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1322]] seq_cst, align 8 11337 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11338 // CHECK-NEXT: [[TMP1324:%.*]] = load i64, i64* [[ULE]], align 8 11339 // CHECK-NEXT: [[TMP1325:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1324]] seq_cst, align 8 11340 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11341 // CHECK-NEXT: [[TMP1326:%.*]] = load i64, i64* [[ULE]], align 8 11342 // CHECK-NEXT: [[TMP1327:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1326]] seq_cst, align 8 11343 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11344 // CHECK-NEXT: [[TMP1328:%.*]] = load i64, i64* [[ULE]], align 8 11345 // CHECK-NEXT: [[TMP1329:%.*]] = atomicrmw umax i64* [[ULX]], i64 [[TMP1328]] seq_cst, align 8 11346 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11347 // CHECK-NEXT: [[TMP1330:%.*]] = load i64, i64* [[ULE]], align 8 11348 // CHECK-NEXT: [[TMP1331:%.*]] = atomicrmw umin i64* [[ULX]], i64 [[TMP1330]] seq_cst, align 8 11349 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11350 // CHECK-NEXT: [[TMP1332:%.*]] = load i64, i64* [[ULE]], align 8 11351 // CHECK-NEXT: [[TMP1333:%.*]] = load i64, i64* [[ULD]], align 8 11352 // CHECK-NEXT: [[TMP1334:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1332]], i64 [[TMP1333]] seq_cst seq_cst, align 8 11353 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11354 // CHECK-NEXT: [[TMP1335:%.*]] = load i64, i64* [[ULE]], align 8 11355 // CHECK-NEXT: [[TMP1336:%.*]] = load i64, i64* [[ULD]], align 8 11356 // CHECK-NEXT: [[TMP1337:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1335]], i64 [[TMP1336]] seq_cst seq_cst, align 8 11357 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11358 // CHECK-NEXT: [[TMP1338:%.*]] = load i64, i64* [[ULE]], align 8 11359 // CHECK-NEXT: [[TMP1339:%.*]] = load i64, i64* [[ULD]], align 8 11360 // CHECK-NEXT: [[TMP1340:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1338]], i64 [[TMP1339]] seq_cst seq_cst, align 8 11361 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11362 // CHECK-NEXT: [[TMP1341:%.*]] = load i64, i64* [[ULE]], align 8 11363 // CHECK-NEXT: [[TMP1342:%.*]] = load i64, i64* [[ULD]], align 8 11364 // CHECK-NEXT: [[TMP1343:%.*]] = cmpxchg i64* [[ULX]], i64 [[TMP1341]], i64 [[TMP1342]] seq_cst seq_cst, align 8 11365 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11366 // CHECK-NEXT: [[TMP1344:%.*]] = load i64, i64* [[LLE]], align 8 11367 // CHECK-NEXT: [[TMP1345:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1344]] monotonic, align 8 11368 // CHECK-NEXT: [[TMP1346:%.*]] = load i64, i64* [[LLE]], align 8 11369 // CHECK-NEXT: [[TMP1347:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1346]] monotonic, align 8 11370 // CHECK-NEXT: [[TMP1348:%.*]] = load i64, i64* [[LLE]], align 8 11371 // CHECK-NEXT: [[TMP1349:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1348]] monotonic, align 8 11372 // CHECK-NEXT: [[TMP1350:%.*]] = load i64, i64* [[LLE]], align 8 11373 // CHECK-NEXT: [[TMP1351:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1350]] monotonic, align 8 11374 // CHECK-NEXT: [[TMP1352:%.*]] = load i64, i64* [[LLE]], align 8 11375 // CHECK-NEXT: [[TMP1353:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1352]] monotonic, align 8 11376 // CHECK-NEXT: [[TMP1354:%.*]] = load i64, i64* [[LLE]], align 8 11377 // CHECK-NEXT: [[TMP1355:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1354]] monotonic, align 8 11378 // CHECK-NEXT: [[TMP1356:%.*]] = load i64, i64* [[LLE]], align 8 11379 // CHECK-NEXT: [[TMP1357:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1356]] monotonic, align 8 11380 // CHECK-NEXT: [[TMP1358:%.*]] = load i64, i64* [[LLE]], align 8 11381 // CHECK-NEXT: [[TMP1359:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1358]] monotonic, align 8 11382 // CHECK-NEXT: [[TMP1360:%.*]] = load i64, i64* [[LLE]], align 8 11383 // CHECK-NEXT: [[TMP1361:%.*]] = load i64, i64* [[LLD]], align 8 11384 // CHECK-NEXT: [[TMP1362:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1360]], i64 [[TMP1361]] monotonic monotonic, align 8 11385 // CHECK-NEXT: [[TMP1363:%.*]] = load i64, i64* [[LLE]], align 8 11386 // CHECK-NEXT: [[TMP1364:%.*]] = load i64, i64* [[LLD]], align 8 11387 // CHECK-NEXT: [[TMP1365:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1363]], i64 [[TMP1364]] monotonic monotonic, align 8 11388 // CHECK-NEXT: [[TMP1366:%.*]] = load i64, i64* [[LLE]], align 8 11389 // CHECK-NEXT: [[TMP1367:%.*]] = load i64, i64* [[LLD]], align 8 11390 // CHECK-NEXT: [[TMP1368:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1366]], i64 [[TMP1367]] monotonic monotonic, align 8 11391 // CHECK-NEXT: [[TMP1369:%.*]] = load i64, i64* [[LLE]], align 8 11392 // CHECK-NEXT: [[TMP1370:%.*]] = load i64, i64* [[LLD]], align 8 11393 // CHECK-NEXT: [[TMP1371:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1369]], i64 [[TMP1370]] monotonic monotonic, align 8 11394 // CHECK-NEXT: [[TMP1372:%.*]] = load i64, i64* [[ULLE]], align 8 11395 // CHECK-NEXT: [[TMP1373:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1372]] monotonic, align 8 11396 // CHECK-NEXT: [[TMP1374:%.*]] = load i64, i64* [[ULLE]], align 8 11397 // CHECK-NEXT: [[TMP1375:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1374]] monotonic, align 8 11398 // CHECK-NEXT: [[TMP1376:%.*]] = load i64, i64* [[ULLE]], align 8 11399 // CHECK-NEXT: [[TMP1377:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1376]] monotonic, align 8 11400 // CHECK-NEXT: [[TMP1378:%.*]] = load i64, i64* [[ULLE]], align 8 11401 // CHECK-NEXT: [[TMP1379:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1378]] monotonic, align 8 11402 // CHECK-NEXT: [[TMP1380:%.*]] = load i64, i64* [[ULLE]], align 8 11403 // CHECK-NEXT: [[TMP1381:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1380]] monotonic, align 8 11404 // CHECK-NEXT: [[TMP1382:%.*]] = load i64, i64* [[ULLE]], align 8 11405 // CHECK-NEXT: [[TMP1383:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1382]] monotonic, align 8 11406 // CHECK-NEXT: [[TMP1384:%.*]] = load i64, i64* [[ULLE]], align 8 11407 // CHECK-NEXT: [[TMP1385:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1384]] monotonic, align 8 11408 // CHECK-NEXT: [[TMP1386:%.*]] = load i64, i64* [[ULLE]], align 8 11409 // CHECK-NEXT: [[TMP1387:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1386]] monotonic, align 8 11410 // CHECK-NEXT: [[TMP1388:%.*]] = load i64, i64* [[ULLE]], align 8 11411 // CHECK-NEXT: [[TMP1389:%.*]] = load i64, i64* [[ULLD]], align 8 11412 // CHECK-NEXT: [[TMP1390:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1388]], i64 [[TMP1389]] monotonic monotonic, align 8 11413 // CHECK-NEXT: [[TMP1391:%.*]] = load i64, i64* [[ULLE]], align 8 11414 // CHECK-NEXT: [[TMP1392:%.*]] = load i64, i64* [[ULLD]], align 8 11415 // CHECK-NEXT: [[TMP1393:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1391]], i64 [[TMP1392]] monotonic monotonic, align 8 11416 // CHECK-NEXT: [[TMP1394:%.*]] = load i64, i64* [[ULLE]], align 8 11417 // CHECK-NEXT: [[TMP1395:%.*]] = load i64, i64* [[ULLD]], align 8 11418 // CHECK-NEXT: [[TMP1396:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1394]], i64 [[TMP1395]] monotonic monotonic, align 8 11419 // CHECK-NEXT: [[TMP1397:%.*]] = load i64, i64* [[ULLE]], align 8 11420 // CHECK-NEXT: [[TMP1398:%.*]] = load i64, i64* [[ULLD]], align 8 11421 // CHECK-NEXT: [[TMP1399:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1397]], i64 [[TMP1398]] monotonic monotonic, align 8 11422 // CHECK-NEXT: [[TMP1400:%.*]] = load i64, i64* [[LLE]], align 8 11423 // CHECK-NEXT: [[TMP1401:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1400]] acq_rel, align 8 11424 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11425 // CHECK-NEXT: [[TMP1402:%.*]] = load i64, i64* [[LLE]], align 8 11426 // CHECK-NEXT: [[TMP1403:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1402]] acq_rel, align 8 11427 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11428 // CHECK-NEXT: [[TMP1404:%.*]] = load i64, i64* [[LLE]], align 8 11429 // CHECK-NEXT: [[TMP1405:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1404]] acq_rel, align 8 11430 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11431 // CHECK-NEXT: [[TMP1406:%.*]] = load i64, i64* [[LLE]], align 8 11432 // CHECK-NEXT: [[TMP1407:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1406]] acq_rel, align 8 11433 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11434 // CHECK-NEXT: [[TMP1408:%.*]] = load i64, i64* [[LLE]], align 8 11435 // CHECK-NEXT: [[TMP1409:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1408]] acq_rel, align 8 11436 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11437 // CHECK-NEXT: [[TMP1410:%.*]] = load i64, i64* [[LLE]], align 8 11438 // CHECK-NEXT: [[TMP1411:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1410]] acq_rel, align 8 11439 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11440 // CHECK-NEXT: [[TMP1412:%.*]] = load i64, i64* [[LLE]], align 8 11441 // CHECK-NEXT: [[TMP1413:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1412]] acq_rel, align 8 11442 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11443 // CHECK-NEXT: [[TMP1414:%.*]] = load i64, i64* [[LLE]], align 8 11444 // CHECK-NEXT: [[TMP1415:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1414]] acq_rel, align 8 11445 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11446 // CHECK-NEXT: [[TMP1416:%.*]] = load i64, i64* [[LLE]], align 8 11447 // CHECK-NEXT: [[TMP1417:%.*]] = load i64, i64* [[LLD]], align 8 11448 // CHECK-NEXT: [[TMP1418:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1416]], i64 [[TMP1417]] acq_rel acquire, align 8 11449 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11450 // CHECK-NEXT: [[TMP1419:%.*]] = load i64, i64* [[LLE]], align 8 11451 // CHECK-NEXT: [[TMP1420:%.*]] = load i64, i64* [[LLD]], align 8 11452 // CHECK-NEXT: [[TMP1421:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1419]], i64 [[TMP1420]] acq_rel acquire, align 8 11453 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11454 // CHECK-NEXT: [[TMP1422:%.*]] = load i64, i64* [[LLE]], align 8 11455 // CHECK-NEXT: [[TMP1423:%.*]] = load i64, i64* [[LLD]], align 8 11456 // CHECK-NEXT: [[TMP1424:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1422]], i64 [[TMP1423]] acq_rel acquire, align 8 11457 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11458 // CHECK-NEXT: [[TMP1425:%.*]] = load i64, i64* [[LLE]], align 8 11459 // CHECK-NEXT: [[TMP1426:%.*]] = load i64, i64* [[LLD]], align 8 11460 // CHECK-NEXT: [[TMP1427:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1425]], i64 [[TMP1426]] acq_rel acquire, align 8 11461 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11462 // CHECK-NEXT: [[TMP1428:%.*]] = load i64, i64* [[ULLE]], align 8 11463 // CHECK-NEXT: [[TMP1429:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1428]] acq_rel, align 8 11464 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11465 // CHECK-NEXT: [[TMP1430:%.*]] = load i64, i64* [[ULLE]], align 8 11466 // CHECK-NEXT: [[TMP1431:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1430]] acq_rel, align 8 11467 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11468 // CHECK-NEXT: [[TMP1432:%.*]] = load i64, i64* [[ULLE]], align 8 11469 // CHECK-NEXT: [[TMP1433:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1432]] acq_rel, align 8 11470 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11471 // CHECK-NEXT: [[TMP1434:%.*]] = load i64, i64* [[ULLE]], align 8 11472 // CHECK-NEXT: [[TMP1435:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1434]] acq_rel, align 8 11473 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11474 // CHECK-NEXT: [[TMP1436:%.*]] = load i64, i64* [[ULLE]], align 8 11475 // CHECK-NEXT: [[TMP1437:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1436]] acq_rel, align 8 11476 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11477 // CHECK-NEXT: [[TMP1438:%.*]] = load i64, i64* [[ULLE]], align 8 11478 // CHECK-NEXT: [[TMP1439:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1438]] acq_rel, align 8 11479 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11480 // CHECK-NEXT: [[TMP1440:%.*]] = load i64, i64* [[ULLE]], align 8 11481 // CHECK-NEXT: [[TMP1441:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1440]] acq_rel, align 8 11482 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11483 // CHECK-NEXT: [[TMP1442:%.*]] = load i64, i64* [[ULLE]], align 8 11484 // CHECK-NEXT: [[TMP1443:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1442]] acq_rel, align 8 11485 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11486 // CHECK-NEXT: [[TMP1444:%.*]] = load i64, i64* [[ULLE]], align 8 11487 // CHECK-NEXT: [[TMP1445:%.*]] = load i64, i64* [[ULLD]], align 8 11488 // CHECK-NEXT: [[TMP1446:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1444]], i64 [[TMP1445]] acq_rel acquire, align 8 11489 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11490 // CHECK-NEXT: [[TMP1447:%.*]] = load i64, i64* [[ULLE]], align 8 11491 // CHECK-NEXT: [[TMP1448:%.*]] = load i64, i64* [[ULLD]], align 8 11492 // CHECK-NEXT: [[TMP1449:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1447]], i64 [[TMP1448]] acq_rel acquire, align 8 11493 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11494 // CHECK-NEXT: [[TMP1450:%.*]] = load i64, i64* [[ULLE]], align 8 11495 // CHECK-NEXT: [[TMP1451:%.*]] = load i64, i64* [[ULLD]], align 8 11496 // CHECK-NEXT: [[TMP1452:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1450]], i64 [[TMP1451]] acq_rel acquire, align 8 11497 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11498 // CHECK-NEXT: [[TMP1453:%.*]] = load i64, i64* [[ULLE]], align 8 11499 // CHECK-NEXT: [[TMP1454:%.*]] = load i64, i64* [[ULLD]], align 8 11500 // CHECK-NEXT: [[TMP1455:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1453]], i64 [[TMP1454]] acq_rel acquire, align 8 11501 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11502 // CHECK-NEXT: [[TMP1456:%.*]] = load i64, i64* [[LLE]], align 8 11503 // CHECK-NEXT: [[TMP1457:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1456]] acquire, align 8 11504 // CHECK-NEXT: [[TMP1458:%.*]] = load i64, i64* [[LLE]], align 8 11505 // CHECK-NEXT: [[TMP1459:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1458]] acquire, align 8 11506 // CHECK-NEXT: [[TMP1460:%.*]] = load i64, i64* [[LLE]], align 8 11507 // CHECK-NEXT: [[TMP1461:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1460]] acquire, align 8 11508 // CHECK-NEXT: [[TMP1462:%.*]] = load i64, i64* [[LLE]], align 8 11509 // CHECK-NEXT: [[TMP1463:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1462]] acquire, align 8 11510 // CHECK-NEXT: [[TMP1464:%.*]] = load i64, i64* [[LLE]], align 8 11511 // CHECK-NEXT: [[TMP1465:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1464]] acquire, align 8 11512 // CHECK-NEXT: [[TMP1466:%.*]] = load i64, i64* [[LLE]], align 8 11513 // CHECK-NEXT: [[TMP1467:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1466]] acquire, align 8 11514 // CHECK-NEXT: [[TMP1468:%.*]] = load i64, i64* [[LLE]], align 8 11515 // CHECK-NEXT: [[TMP1469:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1468]] acquire, align 8 11516 // CHECK-NEXT: [[TMP1470:%.*]] = load i64, i64* [[LLE]], align 8 11517 // CHECK-NEXT: [[TMP1471:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1470]] acquire, align 8 11518 // CHECK-NEXT: [[TMP1472:%.*]] = load i64, i64* [[LLE]], align 8 11519 // CHECK-NEXT: [[TMP1473:%.*]] = load i64, i64* [[LLD]], align 8 11520 // CHECK-NEXT: [[TMP1474:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1472]], i64 [[TMP1473]] acquire acquire, align 8 11521 // CHECK-NEXT: [[TMP1475:%.*]] = load i64, i64* [[LLE]], align 8 11522 // CHECK-NEXT: [[TMP1476:%.*]] = load i64, i64* [[LLD]], align 8 11523 // CHECK-NEXT: [[TMP1477:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1475]], i64 [[TMP1476]] acquire acquire, align 8 11524 // CHECK-NEXT: [[TMP1478:%.*]] = load i64, i64* [[LLE]], align 8 11525 // CHECK-NEXT: [[TMP1479:%.*]] = load i64, i64* [[LLD]], align 8 11526 // CHECK-NEXT: [[TMP1480:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1478]], i64 [[TMP1479]] acquire acquire, align 8 11527 // CHECK-NEXT: [[TMP1481:%.*]] = load i64, i64* [[LLE]], align 8 11528 // CHECK-NEXT: [[TMP1482:%.*]] = load i64, i64* [[LLD]], align 8 11529 // CHECK-NEXT: [[TMP1483:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1481]], i64 [[TMP1482]] acquire acquire, align 8 11530 // CHECK-NEXT: [[TMP1484:%.*]] = load i64, i64* [[ULLE]], align 8 11531 // CHECK-NEXT: [[TMP1485:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1484]] acquire, align 8 11532 // CHECK-NEXT: [[TMP1486:%.*]] = load i64, i64* [[ULLE]], align 8 11533 // CHECK-NEXT: [[TMP1487:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1486]] acquire, align 8 11534 // CHECK-NEXT: [[TMP1488:%.*]] = load i64, i64* [[ULLE]], align 8 11535 // CHECK-NEXT: [[TMP1489:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1488]] acquire, align 8 11536 // CHECK-NEXT: [[TMP1490:%.*]] = load i64, i64* [[ULLE]], align 8 11537 // CHECK-NEXT: [[TMP1491:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1490]] acquire, align 8 11538 // CHECK-NEXT: [[TMP1492:%.*]] = load i64, i64* [[ULLE]], align 8 11539 // CHECK-NEXT: [[TMP1493:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1492]] acquire, align 8 11540 // CHECK-NEXT: [[TMP1494:%.*]] = load i64, i64* [[ULLE]], align 8 11541 // CHECK-NEXT: [[TMP1495:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1494]] acquire, align 8 11542 // CHECK-NEXT: [[TMP1496:%.*]] = load i64, i64* [[ULLE]], align 8 11543 // CHECK-NEXT: [[TMP1497:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1496]] acquire, align 8 11544 // CHECK-NEXT: [[TMP1498:%.*]] = load i64, i64* [[ULLE]], align 8 11545 // CHECK-NEXT: [[TMP1499:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1498]] acquire, align 8 11546 // CHECK-NEXT: [[TMP1500:%.*]] = load i64, i64* [[ULLE]], align 8 11547 // CHECK-NEXT: [[TMP1501:%.*]] = load i64, i64* [[ULLD]], align 8 11548 // CHECK-NEXT: [[TMP1502:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1500]], i64 [[TMP1501]] acquire acquire, align 8 11549 // CHECK-NEXT: [[TMP1503:%.*]] = load i64, i64* [[ULLE]], align 8 11550 // CHECK-NEXT: [[TMP1504:%.*]] = load i64, i64* [[ULLD]], align 8 11551 // CHECK-NEXT: [[TMP1505:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1503]], i64 [[TMP1504]] acquire acquire, align 8 11552 // CHECK-NEXT: [[TMP1506:%.*]] = load i64, i64* [[ULLE]], align 8 11553 // CHECK-NEXT: [[TMP1507:%.*]] = load i64, i64* [[ULLD]], align 8 11554 // CHECK-NEXT: [[TMP1508:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1506]], i64 [[TMP1507]] acquire acquire, align 8 11555 // CHECK-NEXT: [[TMP1509:%.*]] = load i64, i64* [[ULLE]], align 8 11556 // CHECK-NEXT: [[TMP1510:%.*]] = load i64, i64* [[ULLD]], align 8 11557 // CHECK-NEXT: [[TMP1511:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1509]], i64 [[TMP1510]] acquire acquire, align 8 11558 // CHECK-NEXT: [[TMP1512:%.*]] = load i64, i64* [[LLE]], align 8 11559 // CHECK-NEXT: [[TMP1513:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1512]] monotonic, align 8 11560 // CHECK-NEXT: [[TMP1514:%.*]] = load i64, i64* [[LLE]], align 8 11561 // CHECK-NEXT: [[TMP1515:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1514]] monotonic, align 8 11562 // CHECK-NEXT: [[TMP1516:%.*]] = load i64, i64* [[LLE]], align 8 11563 // CHECK-NEXT: [[TMP1517:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1516]] monotonic, align 8 11564 // CHECK-NEXT: [[TMP1518:%.*]] = load i64, i64* [[LLE]], align 8 11565 // CHECK-NEXT: [[TMP1519:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1518]] monotonic, align 8 11566 // CHECK-NEXT: [[TMP1520:%.*]] = load i64, i64* [[LLE]], align 8 11567 // CHECK-NEXT: [[TMP1521:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1520]] monotonic, align 8 11568 // CHECK-NEXT: [[TMP1522:%.*]] = load i64, i64* [[LLE]], align 8 11569 // CHECK-NEXT: [[TMP1523:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1522]] monotonic, align 8 11570 // CHECK-NEXT: [[TMP1524:%.*]] = load i64, i64* [[LLE]], align 8 11571 // CHECK-NEXT: [[TMP1525:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1524]] monotonic, align 8 11572 // CHECK-NEXT: [[TMP1526:%.*]] = load i64, i64* [[LLE]], align 8 11573 // CHECK-NEXT: [[TMP1527:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1526]] monotonic, align 8 11574 // CHECK-NEXT: [[TMP1528:%.*]] = load i64, i64* [[LLE]], align 8 11575 // CHECK-NEXT: [[TMP1529:%.*]] = load i64, i64* [[LLD]], align 8 11576 // CHECK-NEXT: [[TMP1530:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1528]], i64 [[TMP1529]] monotonic monotonic, align 8 11577 // CHECK-NEXT: [[TMP1531:%.*]] = load i64, i64* [[LLE]], align 8 11578 // CHECK-NEXT: [[TMP1532:%.*]] = load i64, i64* [[LLD]], align 8 11579 // CHECK-NEXT: [[TMP1533:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1531]], i64 [[TMP1532]] monotonic monotonic, align 8 11580 // CHECK-NEXT: [[TMP1534:%.*]] = load i64, i64* [[LLE]], align 8 11581 // CHECK-NEXT: [[TMP1535:%.*]] = load i64, i64* [[LLD]], align 8 11582 // CHECK-NEXT: [[TMP1536:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1534]], i64 [[TMP1535]] monotonic monotonic, align 8 11583 // CHECK-NEXT: [[TMP1537:%.*]] = load i64, i64* [[LLE]], align 8 11584 // CHECK-NEXT: [[TMP1538:%.*]] = load i64, i64* [[LLD]], align 8 11585 // CHECK-NEXT: [[TMP1539:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1537]], i64 [[TMP1538]] monotonic monotonic, align 8 11586 // CHECK-NEXT: [[TMP1540:%.*]] = load i64, i64* [[ULLE]], align 8 11587 // CHECK-NEXT: [[TMP1541:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1540]] monotonic, align 8 11588 // CHECK-NEXT: [[TMP1542:%.*]] = load i64, i64* [[ULLE]], align 8 11589 // CHECK-NEXT: [[TMP1543:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1542]] monotonic, align 8 11590 // CHECK-NEXT: [[TMP1544:%.*]] = load i64, i64* [[ULLE]], align 8 11591 // CHECK-NEXT: [[TMP1545:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1544]] monotonic, align 8 11592 // CHECK-NEXT: [[TMP1546:%.*]] = load i64, i64* [[ULLE]], align 8 11593 // CHECK-NEXT: [[TMP1547:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1546]] monotonic, align 8 11594 // CHECK-NEXT: [[TMP1548:%.*]] = load i64, i64* [[ULLE]], align 8 11595 // CHECK-NEXT: [[TMP1549:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1548]] monotonic, align 8 11596 // CHECK-NEXT: [[TMP1550:%.*]] = load i64, i64* [[ULLE]], align 8 11597 // CHECK-NEXT: [[TMP1551:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1550]] monotonic, align 8 11598 // CHECK-NEXT: [[TMP1552:%.*]] = load i64, i64* [[ULLE]], align 8 11599 // CHECK-NEXT: [[TMP1553:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1552]] monotonic, align 8 11600 // CHECK-NEXT: [[TMP1554:%.*]] = load i64, i64* [[ULLE]], align 8 11601 // CHECK-NEXT: [[TMP1555:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1554]] monotonic, align 8 11602 // CHECK-NEXT: [[TMP1556:%.*]] = load i64, i64* [[ULLE]], align 8 11603 // CHECK-NEXT: [[TMP1557:%.*]] = load i64, i64* [[ULLD]], align 8 11604 // CHECK-NEXT: [[TMP1558:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1556]], i64 [[TMP1557]] monotonic monotonic, align 8 11605 // CHECK-NEXT: [[TMP1559:%.*]] = load i64, i64* [[ULLE]], align 8 11606 // CHECK-NEXT: [[TMP1560:%.*]] = load i64, i64* [[ULLD]], align 8 11607 // CHECK-NEXT: [[TMP1561:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1559]], i64 [[TMP1560]] monotonic monotonic, align 8 11608 // CHECK-NEXT: [[TMP1562:%.*]] = load i64, i64* [[ULLE]], align 8 11609 // CHECK-NEXT: [[TMP1563:%.*]] = load i64, i64* [[ULLD]], align 8 11610 // CHECK-NEXT: [[TMP1564:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1562]], i64 [[TMP1563]] monotonic monotonic, align 8 11611 // CHECK-NEXT: [[TMP1565:%.*]] = load i64, i64* [[ULLE]], align 8 11612 // CHECK-NEXT: [[TMP1566:%.*]] = load i64, i64* [[ULLD]], align 8 11613 // CHECK-NEXT: [[TMP1567:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1565]], i64 [[TMP1566]] monotonic monotonic, align 8 11614 // CHECK-NEXT: [[TMP1568:%.*]] = load i64, i64* [[LLE]], align 8 11615 // CHECK-NEXT: [[TMP1569:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1568]] release, align 8 11616 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11617 // CHECK-NEXT: [[TMP1570:%.*]] = load i64, i64* [[LLE]], align 8 11618 // CHECK-NEXT: [[TMP1571:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1570]] release, align 8 11619 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11620 // CHECK-NEXT: [[TMP1572:%.*]] = load i64, i64* [[LLE]], align 8 11621 // CHECK-NEXT: [[TMP1573:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1572]] release, align 8 11622 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11623 // CHECK-NEXT: [[TMP1574:%.*]] = load i64, i64* [[LLE]], align 8 11624 // CHECK-NEXT: [[TMP1575:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1574]] release, align 8 11625 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11626 // CHECK-NEXT: [[TMP1576:%.*]] = load i64, i64* [[LLE]], align 8 11627 // CHECK-NEXT: [[TMP1577:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1576]] release, align 8 11628 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11629 // CHECK-NEXT: [[TMP1578:%.*]] = load i64, i64* [[LLE]], align 8 11630 // CHECK-NEXT: [[TMP1579:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1578]] release, align 8 11631 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11632 // CHECK-NEXT: [[TMP1580:%.*]] = load i64, i64* [[LLE]], align 8 11633 // CHECK-NEXT: [[TMP1581:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1580]] release, align 8 11634 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11635 // CHECK-NEXT: [[TMP1582:%.*]] = load i64, i64* [[LLE]], align 8 11636 // CHECK-NEXT: [[TMP1583:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1582]] release, align 8 11637 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11638 // CHECK-NEXT: [[TMP1584:%.*]] = load i64, i64* [[LLE]], align 8 11639 // CHECK-NEXT: [[TMP1585:%.*]] = load i64, i64* [[LLD]], align 8 11640 // CHECK-NEXT: [[TMP1586:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1584]], i64 [[TMP1585]] release monotonic, align 8 11641 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11642 // CHECK-NEXT: [[TMP1587:%.*]] = load i64, i64* [[LLE]], align 8 11643 // CHECK-NEXT: [[TMP1588:%.*]] = load i64, i64* [[LLD]], align 8 11644 // CHECK-NEXT: [[TMP1589:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1587]], i64 [[TMP1588]] release monotonic, align 8 11645 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11646 // CHECK-NEXT: [[TMP1590:%.*]] = load i64, i64* [[LLE]], align 8 11647 // CHECK-NEXT: [[TMP1591:%.*]] = load i64, i64* [[LLD]], align 8 11648 // CHECK-NEXT: [[TMP1592:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1590]], i64 [[TMP1591]] release monotonic, align 8 11649 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11650 // CHECK-NEXT: [[TMP1593:%.*]] = load i64, i64* [[LLE]], align 8 11651 // CHECK-NEXT: [[TMP1594:%.*]] = load i64, i64* [[LLD]], align 8 11652 // CHECK-NEXT: [[TMP1595:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1593]], i64 [[TMP1594]] release monotonic, align 8 11653 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11654 // CHECK-NEXT: [[TMP1596:%.*]] = load i64, i64* [[ULLE]], align 8 11655 // CHECK-NEXT: [[TMP1597:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1596]] release, align 8 11656 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11657 // CHECK-NEXT: [[TMP1598:%.*]] = load i64, i64* [[ULLE]], align 8 11658 // CHECK-NEXT: [[TMP1599:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1598]] release, align 8 11659 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11660 // CHECK-NEXT: [[TMP1600:%.*]] = load i64, i64* [[ULLE]], align 8 11661 // CHECK-NEXT: [[TMP1601:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1600]] release, align 8 11662 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11663 // CHECK-NEXT: [[TMP1602:%.*]] = load i64, i64* [[ULLE]], align 8 11664 // CHECK-NEXT: [[TMP1603:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1602]] release, align 8 11665 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11666 // CHECK-NEXT: [[TMP1604:%.*]] = load i64, i64* [[ULLE]], align 8 11667 // CHECK-NEXT: [[TMP1605:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1604]] release, align 8 11668 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11669 // CHECK-NEXT: [[TMP1606:%.*]] = load i64, i64* [[ULLE]], align 8 11670 // CHECK-NEXT: [[TMP1607:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1606]] release, align 8 11671 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11672 // CHECK-NEXT: [[TMP1608:%.*]] = load i64, i64* [[ULLE]], align 8 11673 // CHECK-NEXT: [[TMP1609:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1608]] release, align 8 11674 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11675 // CHECK-NEXT: [[TMP1610:%.*]] = load i64, i64* [[ULLE]], align 8 11676 // CHECK-NEXT: [[TMP1611:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1610]] release, align 8 11677 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11678 // CHECK-NEXT: [[TMP1612:%.*]] = load i64, i64* [[ULLE]], align 8 11679 // CHECK-NEXT: [[TMP1613:%.*]] = load i64, i64* [[ULLD]], align 8 11680 // CHECK-NEXT: [[TMP1614:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1612]], i64 [[TMP1613]] release monotonic, align 8 11681 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11682 // CHECK-NEXT: [[TMP1615:%.*]] = load i64, i64* [[ULLE]], align 8 11683 // CHECK-NEXT: [[TMP1616:%.*]] = load i64, i64* [[ULLD]], align 8 11684 // CHECK-NEXT: [[TMP1617:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1615]], i64 [[TMP1616]] release monotonic, align 8 11685 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11686 // CHECK-NEXT: [[TMP1618:%.*]] = load i64, i64* [[ULLE]], align 8 11687 // CHECK-NEXT: [[TMP1619:%.*]] = load i64, i64* [[ULLD]], align 8 11688 // CHECK-NEXT: [[TMP1620:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1618]], i64 [[TMP1619]] release monotonic, align 8 11689 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11690 // CHECK-NEXT: [[TMP1621:%.*]] = load i64, i64* [[ULLE]], align 8 11691 // CHECK-NEXT: [[TMP1622:%.*]] = load i64, i64* [[ULLD]], align 8 11692 // CHECK-NEXT: [[TMP1623:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1621]], i64 [[TMP1622]] release monotonic, align 8 11693 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11694 // CHECK-NEXT: [[TMP1624:%.*]] = load i64, i64* [[LLE]], align 8 11695 // CHECK-NEXT: [[TMP1625:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1624]] seq_cst, align 8 11696 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11697 // CHECK-NEXT: [[TMP1626:%.*]] = load i64, i64* [[LLE]], align 8 11698 // CHECK-NEXT: [[TMP1627:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1626]] seq_cst, align 8 11699 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11700 // CHECK-NEXT: [[TMP1628:%.*]] = load i64, i64* [[LLE]], align 8 11701 // CHECK-NEXT: [[TMP1629:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1628]] seq_cst, align 8 11702 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11703 // CHECK-NEXT: [[TMP1630:%.*]] = load i64, i64* [[LLE]], align 8 11704 // CHECK-NEXT: [[TMP1631:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1630]] seq_cst, align 8 11705 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11706 // CHECK-NEXT: [[TMP1632:%.*]] = load i64, i64* [[LLE]], align 8 11707 // CHECK-NEXT: [[TMP1633:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1632]] seq_cst, align 8 11708 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11709 // CHECK-NEXT: [[TMP1634:%.*]] = load i64, i64* [[LLE]], align 8 11710 // CHECK-NEXT: [[TMP1635:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1634]] seq_cst, align 8 11711 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11712 // CHECK-NEXT: [[TMP1636:%.*]] = load i64, i64* [[LLE]], align 8 11713 // CHECK-NEXT: [[TMP1637:%.*]] = atomicrmw max i64* [[LLX]], i64 [[TMP1636]] seq_cst, align 8 11714 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11715 // CHECK-NEXT: [[TMP1638:%.*]] = load i64, i64* [[LLE]], align 8 11716 // CHECK-NEXT: [[TMP1639:%.*]] = atomicrmw min i64* [[LLX]], i64 [[TMP1638]] seq_cst, align 8 11717 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11718 // CHECK-NEXT: [[TMP1640:%.*]] = load i64, i64* [[LLE]], align 8 11719 // CHECK-NEXT: [[TMP1641:%.*]] = load i64, i64* [[LLD]], align 8 11720 // CHECK-NEXT: [[TMP1642:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1640]], i64 [[TMP1641]] seq_cst seq_cst, align 8 11721 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11722 // CHECK-NEXT: [[TMP1643:%.*]] = load i64, i64* [[LLE]], align 8 11723 // CHECK-NEXT: [[TMP1644:%.*]] = load i64, i64* [[LLD]], align 8 11724 // CHECK-NEXT: [[TMP1645:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1643]], i64 [[TMP1644]] seq_cst seq_cst, align 8 11725 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11726 // CHECK-NEXT: [[TMP1646:%.*]] = load i64, i64* [[LLE]], align 8 11727 // CHECK-NEXT: [[TMP1647:%.*]] = load i64, i64* [[LLD]], align 8 11728 // CHECK-NEXT: [[TMP1648:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1646]], i64 [[TMP1647]] seq_cst seq_cst, align 8 11729 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11730 // CHECK-NEXT: [[TMP1649:%.*]] = load i64, i64* [[LLE]], align 8 11731 // CHECK-NEXT: [[TMP1650:%.*]] = load i64, i64* [[LLD]], align 8 11732 // CHECK-NEXT: [[TMP1651:%.*]] = cmpxchg i64* [[LLX]], i64 [[TMP1649]], i64 [[TMP1650]] seq_cst seq_cst, align 8 11733 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11734 // CHECK-NEXT: [[TMP1652:%.*]] = load i64, i64* [[ULLE]], align 8 11735 // CHECK-NEXT: [[TMP1653:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1652]] seq_cst, align 8 11736 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11737 // CHECK-NEXT: [[TMP1654:%.*]] = load i64, i64* [[ULLE]], align 8 11738 // CHECK-NEXT: [[TMP1655:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1654]] seq_cst, align 8 11739 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11740 // CHECK-NEXT: [[TMP1656:%.*]] = load i64, i64* [[ULLE]], align 8 11741 // CHECK-NEXT: [[TMP1657:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1656]] seq_cst, align 8 11742 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11743 // CHECK-NEXT: [[TMP1658:%.*]] = load i64, i64* [[ULLE]], align 8 11744 // CHECK-NEXT: [[TMP1659:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1658]] seq_cst, align 8 11745 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11746 // CHECK-NEXT: [[TMP1660:%.*]] = load i64, i64* [[ULLE]], align 8 11747 // CHECK-NEXT: [[TMP1661:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1660]] seq_cst, align 8 11748 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11749 // CHECK-NEXT: [[TMP1662:%.*]] = load i64, i64* [[ULLE]], align 8 11750 // CHECK-NEXT: [[TMP1663:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1662]] seq_cst, align 8 11751 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11752 // CHECK-NEXT: [[TMP1664:%.*]] = load i64, i64* [[ULLE]], align 8 11753 // CHECK-NEXT: [[TMP1665:%.*]] = atomicrmw umax i64* [[ULLX]], i64 [[TMP1664]] seq_cst, align 8 11754 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11755 // CHECK-NEXT: [[TMP1666:%.*]] = load i64, i64* [[ULLE]], align 8 11756 // CHECK-NEXT: [[TMP1667:%.*]] = atomicrmw umin i64* [[ULLX]], i64 [[TMP1666]] seq_cst, align 8 11757 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11758 // CHECK-NEXT: [[TMP1668:%.*]] = load i64, i64* [[ULLE]], align 8 11759 // CHECK-NEXT: [[TMP1669:%.*]] = load i64, i64* [[ULLD]], align 8 11760 // CHECK-NEXT: [[TMP1670:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1668]], i64 [[TMP1669]] seq_cst seq_cst, align 8 11761 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11762 // CHECK-NEXT: [[TMP1671:%.*]] = load i64, i64* [[ULLE]], align 8 11763 // CHECK-NEXT: [[TMP1672:%.*]] = load i64, i64* [[ULLD]], align 8 11764 // CHECK-NEXT: [[TMP1673:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1671]], i64 [[TMP1672]] seq_cst seq_cst, align 8 11765 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11766 // CHECK-NEXT: [[TMP1674:%.*]] = load i64, i64* [[ULLE]], align 8 11767 // CHECK-NEXT: [[TMP1675:%.*]] = load i64, i64* [[ULLD]], align 8 11768 // CHECK-NEXT: [[TMP1676:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1674]], i64 [[TMP1675]] seq_cst seq_cst, align 8 11769 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11770 // CHECK-NEXT: [[TMP1677:%.*]] = load i64, i64* [[ULLE]], align 8 11771 // CHECK-NEXT: [[TMP1678:%.*]] = load i64, i64* [[ULLD]], align 8 11772 // CHECK-NEXT: [[TMP1679:%.*]] = cmpxchg i64* [[ULLX]], i64 [[TMP1677]], i64 [[TMP1678]] seq_cst seq_cst, align 8 11773 // CHECK-NEXT: call void @__kmpc_flush(%struct.ident_t* @[[GLOB1]]) 11774 // CHECK-NEXT: ret void 11775