1# RUN: llc -mtriple powerpc64le-unknown-linux-gnu -mcpu=pwr8 -x mir < %s \ 2# RUN: -verify-machineinstrs -start-before=ppc-mi-peepholes \ 3# RUN: -ppc-opt-conditional-trap | FileCheck %s 4 5--- 6name: conditional_trap_opt_reg_implicit_def 7alignment: 16 8tracksRegLiveness: true 9body: | 10 bb.0.entry: 11 %0:gprc = IMPLICIT_DEF 12 %1:gprc = IMPLICIT_DEF 13 %2:g8rc = IMPLICIT_DEF 14 %3:g8rc = IMPLICIT_DEF 15 TW 8, %0, %1 16 TD 8, %2, %3 17 TWI 24, %0, 0 18 TDI 24, %2, 0 19 BLR8 implicit $lr8, implicit $rm 20... 21 # CHECK-LABEL: conditional_trap_opt_reg_implicit_def 22 # CHECK: # %bb.0: # %entry 23 # CHECK-NEXT: twgt 3, 3 24 # CHECK-NEXT: tdgt 3, 3 25 # CHECK-NEXT: twnei 3, 0 26 # CHECK-NEXT: tdnei 3, 0 27 # CHECK-NEXT: blr 28 29--- 30name: conditional_trap_opt_int_return 31alignment: 16 32tracksRegLiveness: true 33body: | 34 bb.0.entry: 35 liveins: $x3 36 %0:g8rc = COPY $x3 37 %1:g8rc = LI8 3 38 %2:g8rc = LI8 0 39 TD 24, %2, %1 40 $x3 = COPY %0 41 BLR8 implicit $lr8, implicit $rm, implicit $x3 42... 43 # CHECK-LABEL: conditional_trap_opt_int_return 44 # CHECK: # %bb.0: # %entry 45 # CHECK-NEXT: trap 46 # CHECK-NOT: blr 47 48--- 49name: conditional_trap_opt_TW_31 50alignment: 16 51tracksRegLiveness: true 52body: | 53 bb.0.entry: 54 %0:gprc = LI 3 55 %1:gprc = LI 0 56 TW 31, %1, %0 57 BLR8 implicit $lr8, implicit $rm 58... 59 # CHECK-LABEL: conditional_trap_opt_TW_31 60 # CHECK: # %bb.0: # %entry 61 # CHECK-NEXT: trap 62 # CHECK-NOT: blr 63 64--- 65name: conditional_trap_opt_TW_24 66alignment: 16 67tracksRegLiveness: true 68body: | 69 bb.0.entry: 70 %0:gprc = LI 3 71 %1:gprc = LI 0 72 TW 24, %1, %0 73 BLR8 implicit $lr8, implicit $rm 74... 75 # CHECK-LABEL: conditional_trap_opt_TW_24 76 # CHECK: # %bb.0: # %entry 77 # CHECK-NEXT: trap 78 # CHECK-NOT: blr 79 80--- 81name: conditional_trap_opt_no_trap_TW_24 82alignment: 16 83tracksRegLiveness: true 84body: | 85 bb.0.entry: 86 %0:gprc = LI 3 87 %1:gprc = LI 3 88 TW 24, %1, %0 89 BLR8 implicit $lr8, implicit $rm 90... 91 # CHECK-LABEL: conditional_trap_opt_no_trap_TW_24 92 # CHECK: # %bb.0: # %entry 93 # CHECK-NEXT: blr 94 95--- 96name: conditional_trap_opt_TW_20 97alignment: 16 98tracksRegLiveness: true 99body: | 100 bb.0.entry: 101 %0:gprc = LI 3 102 %1:gprc = LI 3 103 TW 20, %1, %0 104 BLR8 implicit $lr8, implicit $rm 105... 106 # CHECK-LABEL: conditional_trap_opt_TW_20 107 # CHECK: # %bb.0: # %entry 108 # CHECK-NEXT: trap 109 # CHECK-NOT: blr 110 111--- 112name: conditional_trap_opt_no_trap_TW_20 113alignment: 16 114tracksRegLiveness: true 115body: | 116 bb.0.entry: 117 %0:gprc = LI 3 118 %1:gprc = LI 5 119 TW 20, %1, %0 120 BLR8 implicit $lr8, implicit $rm 121... 122 # CHECK-LABEL: conditional_trap_opt_no_trap_TW_20 123 # CHECK: # %bb.0: # %entry 124 # CHECK-NEXT: blr 125 126--- 127name: conditional_trap_opt_no_trap_TW_16 128alignment: 16 129tracksRegLiveness: true 130body: | 131 bb.0.entry: 132 %0:gprc = LI 5 133 %1:gprc = LI 1 134 TW 16, %0, %1 135 BLR8 implicit $lr8, implicit $rm 136... 137 # CHECK-LABEL: conditional_trap_opt_no_trap_TW_16 138 # CHECK: # %bb.0: # %entry 139 # CHECK-NEXT: blr 140 141--- 142name: conditional_trap_opt_TW_16 143alignment: 16 144tracksRegLiveness: true 145body: | 146 bb.0.entry: 147 %0:gprc = LI 5 148 %1:gprc = LI 1 149 TW 16, %1, %0 150 TW 16, %0, %1 151 BLR8 implicit $lr8, implicit $rm 152... 153 # CHECK-LABEL: conditional_trap_opt_TW_16 154 # CHECK: # %bb.0: # %entry 155 # CHECK-NEXT: trap 156 # CHECK-NOT: blr 157 158--- 159name: conditional_trap_opt_TW_8 160alignment: 16 161tracksRegLiveness: true 162body: | 163 bb.0.entry: 164 %0:gprc = LI -1 165 %1:gprc = LI 10 166 TW 8, %1, %0 167 TW 8, %0, %1 168 BLR8 implicit $lr8, implicit $rm 169... 170 # CHECK-LABEL: conditional_trap_opt_TW_8 171 # CHECK: # %bb.0: # %entry 172 # CHECK-NEXT: trap 173 # CHECK-NOT: blr 174 175--- 176name: conditional_trap_opt_TW_2 177alignment: 16 178tracksRegLiveness: true 179body: | 180 bb.0.entry: 181 %0:gprc = LI -1 182 %1:gprc = LI 2 183 TW 2, %1, %0 184 TW 2, %0, %1 185 BLR8 implicit $lr8, implicit $rm 186... 187 # CHECK-LABEL: conditional_trap_opt_TW_2 188 # CHECK: # %bb.0: # %entry 189 # CHECK-NEXT: trap 190 # CHECK-NOT: blr 191 192--- 193name: conditional_trap_opt_TW_1 194alignment: 16 195tracksRegLiveness: true 196body: | 197 bb.0.entry: 198 %0:gprc = LI -3 199 %1:gprc = LI 4 200 TW 1, %1, %0 201 TW 1, %0, %1 202 BLR8 implicit $lr8, implicit $rm 203... 204 # CHECK-LABEL: conditional_trap_opt_TW_1 205 # CHECK: # %bb.0: # %entry 206 # CHECK-NEXT: trap 207 # CHECK-NOT: blr 208 209--- 210name: conditional_trap_opt_TW_4 211alignment: 16 212tracksRegLiveness: true 213body: | 214 bb.0.entry: 215 %0:gprc = LI 5 216 %1:gprc = LI 1 217 TW 4, %1, %0 218 TW 4, %1, %1 219 BLR8 implicit $lr8, implicit $rm 220... 221 # CHECK-LABEL: conditional_trap_opt_TW_4 222 # CHECK: # %bb.0: # %entry 223 # CHECK-NEXT: trap 224 # CHECK-NOT: blr 225 226--- 227name: conditional_trap_opt_TWI_31 228alignment: 16 229tracksRegLiveness: true 230body: | 231 bb.0.entry: 232 %0:gprc = LI 3 233 TWI 31, %0, 0 234 BLR8 implicit $lr8, implicit $rm 235... 236 # CHECK-LABEL: conditional_trap_opt_TWI_31 237 # CHECK: # %bb.0: # %entry 238 # CHECK-NEXT: trap 239 # CHECK-NOT: blr 240 241--- 242name: conditional_trap_opt_TWI_24 243alignment: 16 244tracksRegLiveness: true 245body: | 246 bb.0.entry: 247 %0:gprc = LI 3 248 TWI 24, %0, 0 249 BLR8 implicit $lr8, implicit $rm 250... 251 # CHECK-LABEL: conditional_trap_opt_TWI_24 252 # CHECK: # %bb.0: # %entry 253 # CHECK-NEXT: trap 254 # CHECK-NOT: blr 255 256--- 257name: conditional_trap_opt_no_trap_TWI_24 258alignment: 16 259tracksRegLiveness: true 260body: | 261 bb.0.entry: 262 %0:gprc = LI 0 263 TWI 24, %0, 0 264 BLR8 implicit $lr8, implicit $rm 265... 266 # CHECK-LABEL: conditional_trap_opt_no_trap_TWI_24 267 # CHECK: # %bb.0: # %entry 268 # CHECK-NEXT: blr 269 270--- 271name: conditional_trap_opt_TWI_20 272alignment: 16 273tracksRegLiveness: true 274body: | 275 bb.0.entry: 276 %0:gprc = LI 3 277 TWI 20, %0, 3 278 BLR8 implicit $lr8, implicit $rm 279... 280 # CHECK-LABEL: conditional_trap_opt_TWI_20 281 # CHECK: # %bb.0: # %entry 282 # CHECK-NEXT: trap 283 # CHECK-NOT: blr 284 285--- 286name: conditional_trap_opt_no_trap_TWI_20 287alignment: 16 288tracksRegLiveness: true 289body: | 290 bb.0.entry: 291 %0:gprc = LI 3 292 TWI 20, %0, 0 293 BLR8 implicit $lr8, implicit $rm 294... 295 # CHECK-LABEL: conditional_trap_opt_no_trap_TWI_20 296 # CHECK: # %bb.0: # %entry 297 # CHECK-NEXT: blr 298 299--- 300name: conditional_trap_opt_no_trap_TWI_16 301alignment: 16 302tracksRegLiveness: true 303body: | 304 bb.0.entry: 305 %0:gprc = LI 5 306 TWI 16, %0, 1 307 BLR8 implicit $lr8, implicit $rm 308... 309 # CHECK-LABEL: conditional_trap_opt_no_trap_TWI_16 310 # CHECK: # %bb.0: # %entry 311 # CHECK-NEXT: blr 312 313--- 314name: conditional_trap_opt_TWI_16 315alignment: 16 316tracksRegLiveness: true 317body: | 318 bb.0.entry: 319 %0:gprc = LI 5 320 %1:gprc = LI 1 321 TWI 16, %1, 5 322 TWI 16, %0, 1 323 BLR8 implicit $lr8, implicit $rm 324... 325 # CHECK-LABEL: conditional_trap_opt_TWI_16 326 # CHECK: # %bb.0: # %entry 327 # CHECK-NEXT: trap 328 # CHECK-NOT: blr 329 330--- 331name: conditional_trap_opt_TWI_8 332alignment: 16 333tracksRegLiveness: true 334body: | 335 bb.0.entry: 336 %0:gprc = LI -1 337 %1:gprc = LI 10 338 TWI 8, %1, -1 339 TWI 8, %0, 10 340 BLR8 implicit $lr8, implicit $rm 341... 342 # CHECK-LABEL: conditional_trap_opt_TWI_8 343 # CHECK: # %bb.0: # %entry 344 # CHECK-NEXT: trap 345 # CHECK-NOT: blr 346 347--- 348name: conditional_trap_opt_TWI_2 349alignment: 16 350tracksRegLiveness: true 351body: | 352 bb.0.entry: 353 %0:gprc = LI -1 354 %1:gprc = LI 2 355 TWI 2, %1, -1 356 TWI 2, %0, 2 357 BLR8 implicit $lr8, implicit $rm 358... 359 # CHECK-LABEL: conditional_trap_opt_TWI_2 360 # CHECK: # %bb.0: # %entry 361 # CHECK-NEXT: trap 362 # CHECK-NOT: blr 363 364--- 365name: conditional_trap_opt_TWI_1 366alignment: 16 367tracksRegLiveness: true 368body: | 369 bb.0.entry: 370 %0:gprc = LI -3 371 %1:gprc = LI 4 372 TWI 1, %1, -3 373 TWI 1, %0, 4 374 BLR8 implicit $lr8, implicit $rm 375... 376 # CHECK-LABEL: conditional_trap_opt_TWI_1 377 # CHECK: # %bb.0: # %entry 378 # CHECK-NEXT: trap 379 # CHECK-NOT: blr 380 381--- 382name: conditional_trap_opt_TWI_4 383alignment: 16 384tracksRegLiveness: true 385body: | 386 bb.0.entry: 387 %0:gprc = LI 5 388 %1:gprc = LI 1 389 TWI 4, %1, 5 390 TWI 4, %1, 1 391 BLR8 implicit $lr8, implicit $rm 392... 393 # CHECK-LABEL: conditional_trap_opt_TWI_4 394 # CHECK: # %bb.0: # %entry 395 # CHECK-NEXT: trap 396 # CHECK-NOT: blr 397 398--- 399name: conditional_trap_opt_TD_31 400alignment: 16 401tracksRegLiveness: true 402body: | 403 bb.0.entry: 404 %0:g8rc = LI8 3 405 %1:g8rc = LI8 0 406 TD 31, %1, %0 407 BLR8 implicit $lr8, implicit $rm 408... 409 # CHECK-LABEL: conditional_trap_opt_TD_31 410 # CHECK: # %bb.0: # %entry 411 # CHECK-NEXT: trap 412 # CHECK-NOT: blr 413 414--- 415name: conditional_trap_opt_TD_24 416alignment: 16 417tracksRegLiveness: true 418body: | 419 bb.0.entry: 420 %0:g8rc = LI8 3 421 %1:g8rc = LI8 0 422 TD 24, %1, %0 423 BLR8 implicit $lr8, implicit $rm 424... 425 # CHECK-LABEL: conditional_trap_opt_TD_24 426 # CHECK: # %bb.0: # %entry 427 # CHECK-NEXT: trap 428 # CHECK-NOT: blr 429 430--- 431name: conditional_trap_opt_no_trap_TD_24 432alignment: 16 433tracksRegLiveness: true 434body: | 435 bb.0.entry: 436 %0:g8rc = LI8 3 437 %1:g8rc = LI8 3 438 TD 24, %1, %0 439 BLR8 implicit $lr8, implicit $rm 440... 441 # CHECK-LABEL: conditional_trap_opt_no_trap_TD_24 442 # CHECK: # %bb.0: # %entry 443 # CHECK-NEXT: blr 444 445--- 446name: conditional_trap_opt_TD_20 447alignment: 16 448tracksRegLiveness: true 449body: | 450 bb.0.entry: 451 %0:g8rc = LI8 3 452 %1:g8rc = LI8 3 453 TD 20, %1, %0 454 BLR8 implicit $lr8, implicit $rm 455... 456 # CHECK-LABEL: conditional_trap_opt_TD_20 457 # CHECK: # %bb.0: # %entry 458 # CHECK-NEXT: trap 459 # CHECK-NOT: blr 460 461--- 462name: conditional_trap_opt_no_trap_TD_20 463alignment: 16 464tracksRegLiveness: true 465body: | 466 bb.0.entry: 467 %0:g8rc = LI8 3 468 %1:g8rc = LI8 5 469 TD 20, %1, %0 470 BLR8 implicit $lr8, implicit $rm 471... 472 # CHECK-LABEL: conditional_trap_opt_no_trap_TD_20 473 # CHECK: # %bb.0: # %entry 474 # CHECK-NEXT: blr 475 476--- 477name: conditional_trap_opt_no_trap_TD_16 478alignment: 16 479tracksRegLiveness: true 480body: | 481 bb.0.entry: 482 %0:g8rc = LI8 5 483 %1:g8rc = LI8 1 484 TD 16, %0, %1 485 BLR8 implicit $lr8, implicit $rm 486... 487 # CHECK-LABEL: conditional_trap_opt_no_trap_TD_16 488 # CHECK: # %bb.0: # %entry 489 # CHECK-NEXT: blr 490 491--- 492name: conditional_trap_opt_TD_16 493alignment: 16 494tracksRegLiveness: true 495body: | 496 bb.0.entry: 497 %0:g8rc = LI8 5 498 %1:g8rc = LI8 1 499 TD 16, %1, %0 500 TD 16, %0, %1 501 BLR8 implicit $lr8, implicit $rm 502... 503 # CHECK-LABEL: conditional_trap_opt_TD_16 504 # CHECK: # %bb.0: # %entry 505 # CHECK-NEXT: trap 506 # CHECK-NOT: blr 507 508--- 509name: conditional_trap_opt_TD_8 510alignment: 16 511tracksRegLiveness: true 512body: | 513 bb.0.entry: 514 %0:g8rc = LI8 -1 515 %1:g8rc = LI8 10 516 TD 8, %1, %0 517 TD 8, %0, %1 518 BLR8 implicit $lr8, implicit $rm 519... 520 # CHECK-LABEL: conditional_trap_opt_TD_8 521 # CHECK: # %bb.0: # %entry 522 # CHECK-NEXT: trap 523 # CHECK-NOT: blr 524 525--- 526name: conditional_trap_opt_TD_2 527alignment: 16 528tracksRegLiveness: true 529body: | 530 bb.0.entry: 531 %0:g8rc = LI8 -1 532 %1:g8rc = LI8 2 533 TD 2, %1, %0 534 TD 2, %0, %1 535 BLR8 implicit $lr8, implicit $rm 536... 537 # CHECK-LABEL: conditional_trap_opt_TD_2 538 # CHECK: # %bb.0: # %entry 539 # CHECK-NEXT: trap 540 # CHECK-NOT: blr 541 542--- 543name: conditional_trap_opt_TD_1 544alignment: 16 545tracksRegLiveness: true 546body: | 547 bb.0.entry: 548 %0:g8rc = LI8 -3 549 %1:g8rc = LI8 4 550 TD 1, %1, %0 551 TD 1, %0, %1 552 BLR8 implicit $lr8, implicit $rm 553... 554 # CHECK-LABEL: conditional_trap_opt_TD_1 555 # CHECK: # %bb.0: # %entry 556 # CHECK-NEXT: trap 557 # CHECK-NOT: blr 558 559--- 560name: conditional_trap_opt_TD_4 561alignment: 16 562tracksRegLiveness: true 563body: | 564 bb.0.entry: 565 %0:g8rc = LI8 5 566 %1:g8rc = LI8 1 567 TD 4, %1, %0 568 TD 4, %1, %1 569 BLR8 implicit $lr8, implicit $rm 570... 571 # CHECK-LABEL: conditional_trap_opt_TD_4 572 # CHECK: # %bb.0: # %entry 573 # CHECK-NEXT: trap 574 # CHECK-NOT: blr 575 576--- 577name: conditional_trap_opt_TDI_31 578alignment: 16 579tracksRegLiveness: true 580body: | 581 bb.0.entry: 582 %0:g8rc = LI8 3 583 TDI 31, %0, 0 584 BLR8 implicit $lr8, implicit $rm 585... 586 # CHECK-LABEL: conditional_trap_opt_TDI_31 587 # CHECK: # %bb.0: # %entry 588 # CHECK-NEXT: trap 589 # CHECK-NOT: blr 590 591--- 592name: conditional_trap_opt_TDI_24 593alignment: 16 594tracksRegLiveness: true 595body: | 596 bb.0.entry: 597 %0:g8rc = LI8 3 598 TDI 24, %0, 0 599 BLR8 implicit $lr8, implicit $rm 600... 601 # CHECK-LABEL: conditional_trap_opt_TDI_24 602 # CHECK: # %bb.0: # %entry 603 # CHECK-NEXT: trap 604 # CHECK-NOT: blr 605 606--- 607name: conditional_trap_opt_no_trap_TDI_24 608alignment: 16 609tracksRegLiveness: true 610body: | 611 bb.0.entry: 612 %0:g8rc = LI8 0 613 TDI 24, %0, 0 614 BLR8 implicit $lr8, implicit $rm 615... 616 # CHECK-LABEL: conditional_trap_opt_no_trap_TDI_24 617 # CHECK: # %bb.0: # %entry 618 # CHECK-NEXT: blr 619 620--- 621name: conditional_trap_opt_TDI_20 622alignment: 16 623tracksRegLiveness: true 624body: | 625 bb.0.entry: 626 %0:g8rc = LI8 3 627 TDI 20, %0, 3 628 BLR8 implicit $lr8, implicit $rm 629... 630 # CHECK-LABEL: conditional_trap_opt_TDI_20 631 # CHECK: # %bb.0: # %entry 632 # CHECK-NEXT: trap 633 # CHECK-NOT: blr 634 635--- 636name: conditional_trap_opt_no_trap_TDI_20 637alignment: 16 638tracksRegLiveness: true 639body: | 640 bb.0.entry: 641 %0:g8rc = LI8 5 642 TDI 20, %0, 3 643 BLR8 implicit $lr8, implicit $rm 644... 645 # CHECK-LABEL: conditional_trap_opt_no_trap_TDI_20 646 # CHECK: # %bb.0: # %entry 647 # CHECK-NEXT: blr 648 649--- 650name: conditional_trap_opt_no_trap_TDI_16 651alignment: 16 652tracksRegLiveness: true 653body: | 654 bb.0.entry: 655 %0:g8rc = LI8 5 656 TDI 16, %0, 1 657 BLR8 implicit $lr8, implicit $rm 658... 659 # CHECK-LABEL: conditional_trap_opt_no_trap_TDI_16 660 # CHECK: # %bb.0: # %entry 661 # CHECK-NEXT: blr 662 663--- 664name: conditional_trap_opt_TDI_16 665alignment: 16 666tracksRegLiveness: true 667body: | 668 bb.0.entry: 669 %0:g8rc = LI8 5 670 %1:g8rc = LI8 1 671 TDI 16, %1, 5 672 TDI 16, %0, 1 673 BLR8 implicit $lr8, implicit $rm 674... 675 # CHECK-LABEL: conditional_trap_opt_TDI_16 676 # CHECK: # %bb.0: # %entry 677 # CHECK-NEXT: trap 678 # CHECK-NOT: blr 679 680--- 681name: conditional_trap_opt_TDI_8 682alignment: 16 683tracksRegLiveness: true 684body: | 685 bb.0.entry: 686 %0:g8rc = LI8 -1 687 %1:g8rc = LI8 10 688 TDI 8, %1, -1 689 TDI 8, %0, 10 690 BLR8 implicit $lr8, implicit $rm 691... 692 # CHECK-LABEL: conditional_trap_opt_TDI_8 693 # CHECK: # %bb.0: # %entry 694 # CHECK-NEXT: trap 695 # CHECK-NOT: blr 696 697--- 698name: conditional_trap_opt_TDI_2 699alignment: 16 700tracksRegLiveness: true 701body: | 702 bb.0.entry: 703 %0:g8rc = LI8 -1 704 %1:g8rc = LI8 2 705 TDI 2, %1, -1 706 TDI 2, %0, 2 707 BLR8 implicit $lr8, implicit $rm 708... 709 # CHECK-LABEL: conditional_trap_opt_TDI_2 710 # CHECK: # %bb.0: # %entry 711 # CHECK-NEXT: trap 712 # CHECK-NOT: blr 713 714--- 715name: conditional_trap_opt_TDI_1 716alignment: 16 717tracksRegLiveness: true 718body: | 719 bb.0.entry: 720 %0:g8rc = LI8 -3 721 %1:g8rc = LI8 4 722 TDI 1, %1, -3 723 TDI 1, %0, 4 724 BLR8 implicit $lr8, implicit $rm 725... 726 # CHECK-LABEL: conditional_trap_opt_TDI_1 727 # CHECK: # %bb.0: # %entry 728 # CHECK-NEXT: trap 729 # CHECK-NOT: blr 730 731--- 732name: conditional_trap_opt_TDI_4 733alignment: 16 734tracksRegLiveness: true 735body: | 736 bb.0.entry: 737 %0:g8rc = LI8 5 738 %1:g8rc = LI8 1 739 TDI 4, %1, 5 740 TDI 4, %1, 1 741 BLR8 implicit $lr8, implicit $rm 742... 743 # CHECK-LABEL: conditional_trap_opt_TDI_4 744 # CHECK: # %bb.0: # %entry 745 # CHECK-NEXT: trap 746 # CHECK-NOT: blr 747 748--- 749name: conditional_trap_opt_multiple_traps 750alignment: 16 751tracksRegLiveness: true 752body: | 753 bb.0.entry: 754 %0:gprc = LI 5 755 %1:gprc = LI 1 756 %2:g8rc = LI8 -1 757 %3:g8rc = LI8 0 758 TWI 31, %1, 5 759 TDI 31, %3, 0 760 TW 31, %0, %1 761 TD 31, %2, %2 762 BLR8 implicit $lr8, implicit $rm 763... 764 # CHECK-LABEL: conditional_trap_opt_multiple_traps 765 # CHECK: # %bb.0: # %entry 766 # CHECK-NEXT: trap 767 # CHECK-NOT: blr 768