# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5 # RUN: llc -o - %s -mtriple=riscv64 -run-pass=machine-cp -mcp-use-is-copy-instr | FileCheck %s # Check that instruction simplifications expected to be performed after # machine copy propagation are done. --- name: add1 body: | bb.0: ; CHECK-LABEL: name: add1 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = ADD renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: add2 body: | bb.0: ; CHECK-LABEL: name: add2 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = ADD $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: or1 body: | bb.0: ; CHECK-LABEL: name: or1 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = OR renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: or2 body: | bb.0: ; CHECK-LABEL: name: or2 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = OR $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: xor1 body: | bb.0: ; CHECK-LABEL: name: xor1 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = XOR renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: xor2 body: | bb.0: ; CHECK-LABEL: name: xor2 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = XOR $x0, renamable $x11 PseudoRET implicit $x10 ... --- --- name: xor3 body: | bb.0: ; CHECK-LABEL: name: xor3 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = XOR renamable $x11, renamable $x11 PseudoRET implicit $x10 ... --- name: addw1 body: | bb.0: ; CHECK-LABEL: name: addw1 ; CHECK: renamable $x10 = ADDIW $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = ADDW renamable $x11, $x12 PseudoRET implicit $x10 ... --- name: addw2 body: | bb.0: ; CHECK-LABEL: name: addw2 ; CHECK: renamable $x10 = ADDIW $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = ADDW $x12, renamable $x11 PseudoRET implicit $x10 ... --- name: sub body: | bb.0: ; CHECK-LABEL: name: sub ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SUB renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: subw body: | bb.0: ; CHECK-LABEL: name: subw ; CHECK: renamable $x10 = ADDIW $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SUBW renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: sh1add1 body: | bb.0: ; CHECK-LABEL: name: sh1add1 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH1ADD $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sh1add2 body: | bb.0: ; CHECK-LABEL: name: sh1add2 ; CHECK: renamable $x10 = SLLI $x12, 1 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH1ADD renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: sh1add.uw1 body: | bb.0: ; CHECK-LABEL: name: sh1add.uw1 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH1ADD_UW $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sh1add.uw2 body: | bb.0: ; CHECK-LABEL: name: sh1add.uw2 ; CHECK: renamable $x10 = SLLI_UW $x12, 1 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH1ADD_UW renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: sh2add1 body: | bb.0: ; CHECK-LABEL: name: sh2add1 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH2ADD $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sh2add2 body: | bb.0: ; CHECK-LABEL: name: sh2add2 ; CHECK: renamable $x10 = SLLI $x12, 2 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH2ADD renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: sh2add.uw1 body: | bb.0: ; CHECK-LABEL: name: sh2add.uw1 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH2ADD_UW $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sh2add.uw2 body: | bb.0: ; CHECK-LABEL: name: sh2add.uw2 ; CHECK: renamable $x10 = SLLI_UW $x12, 2 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH2ADD_UW renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: sh3add1 body: | bb.0: ; CHECK-LABEL: name: sh3add1 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH3ADD $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sh3add2 body: | bb.0: ; CHECK-LABEL: name: sh3add2 ; CHECK: renamable $x10 = SLLI $x12, 3 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH3ADD renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: sh3add.uw1 body: | bb.0: ; CHECK-LABEL: name: sh3add.uw1 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH3ADD_UW $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sh3add.uw2 body: | bb.0: ; CHECK-LABEL: name: sh3add.uw2 ; CHECK: renamable $x10 = SLLI_UW $x12, 3 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SH3ADD_UW renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: andi body: | bb.0: ; CHECK-LABEL: name: andi ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = ANDI renamable $x11, 13 PseudoRET implicit $x10 ... --- name: and1 body: | bb.0: ; CHECK-LABEL: name: and1 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = AND renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: and2 body: | bb.0: ; CHECK-LABEL: name: and2 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = AND $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: mul1 body: | bb.0: ; CHECK-LABEL: name: mul1 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MUL renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: mul2 body: | bb.0: ; CHECK-LABEL: name: mul2 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MUL $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: mulh1 body: | bb.0: ; CHECK-LABEL: name: mulh1 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MULH renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: mulh2 body: | bb.0: ; CHECK-LABEL: name: mulh2 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MULH $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: mulhsu1 body: | bb.0: ; CHECK-LABEL: name: mulhsu1 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MULHSU renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: mulhsu2 body: | bb.0: ; CHECK-LABEL: name: mulhsu2 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MULHSU $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: mulhu1 body: | bb.0: ; CHECK-LABEL: name: mulhu1 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MULHU renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: mulhu2 body: | bb.0: ; CHECK-LABEL: name: mulhu2 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MULHU $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: mulw1 body: | bb.0: ; CHECK-LABEL: name: mulw1 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MULW renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: mulw2 body: | bb.0: ; CHECK-LABEL: name: mulw2 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MULW $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: slli body: | bb.0: ; CHECK-LABEL: name: slli ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SLLI renamable $x11, 13 PseudoRET implicit $x10 ... --- name: srli body: | bb.0: ; CHECK-LABEL: name: srli ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SRLI renamable $x11, 13 PseudoRET implicit $x10 ... --- name: srai body: | bb.0: ; CHECK-LABEL: name: srai ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SRAI renamable $x11, 13 PseudoRET implicit $x10 ... --- name: slliw body: | bb.0: ; CHECK-LABEL: name: slliw ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SLLIW renamable $x11, 13 PseudoRET implicit $x10 ... --- name: srliw body: | bb.0: ; CHECK-LABEL: name: srliw ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SRLIW renamable $x11, 13 PseudoRET implicit $x10 ... --- name: sraiw body: | bb.0: ; CHECK-LABEL: name: sraiw ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SRAIW renamable $x11, 13 PseudoRET implicit $x10 ... --- name: slli_uw body: | bb.0: ; CHECK-LABEL: name: slli_uw ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SLLI_UW renamable $x11, 13 PseudoRET implicit $x10 ... --- name: ori body: | bb.0: ; CHECK-LABEL: name: ori ; CHECK: renamable $x10 = ADDI $x0, 13 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = ORI renamable $x11, 13 PseudoRET implicit $x10 ... --- name: xori body: | bb.0: ; CHECK-LABEL: name: xori ; CHECK: renamable $x10 = ADDI $x0, 13 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = XORI renamable $x11, 13 PseudoRET implicit $x10 ... --- name: sltiu1 body: | bb.0: ; CHECK-LABEL: name: sltiu1 ; CHECK: renamable $x10 = ADDI $x0, 1 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SLTIU renamable $x11, 2 PseudoRET implicit $x10 ... --- name: sltiu2 body: | bb.0: ; CHECK-LABEL: name: sltiu2 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SLTIU renamable $x11, 0 PseudoRET implicit $x10 ... --- name: sltu body: | bb.0: ; CHECK-LABEL: name: sltu ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SLTU renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: add.uw1 body: | bb.0: ; CHECK-LABEL: name: add.uw1 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = ADD_UW renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: add.uw2 body: | bb.0: ; CHECK-LABEL: name: add.uw2 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = ADD_UW $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sext.h body: | bb.0: ; CHECK-LABEL: name: sext.h ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SEXT_H renamable $x11 PseudoRET implicit $x10 ... --- name: sext.b body: | bb.0: ; CHECK-LABEL: name: sext.b ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = SEXT_B renamable $x11 PseudoRET implicit $x10 ... --- name: zext.h.rv32 body: | bb.0: ; CHECK-LABEL: name: zext.h.rv32 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = ZEXT_H_RV32 renamable $x11 PseudoRET implicit $x10 ... --- name: zext.h.rv64 body: | bb.0: ; CHECK-LABEL: name: zext.h.rv64 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x0 renamable $x10 = ZEXT_H_RV64 renamable $x11 PseudoRET implicit $x10 ... --- name: sll1 body: | bb.0: ; CHECK-LABEL: name: sll1 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SLL $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sll2 body: | bb.0: ; CHECK-LABEL: name: sll2 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SLL renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: sr11 body: | bb.0: ; CHECK-LABEL: name: sr11 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SRL $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sr12 body: | bb.0: ; CHECK-LABEL: name: sr12 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SRL renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: sra1 body: | bb.0: ; CHECK-LABEL: name: sra1 ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SRA $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sra2 body: | bb.0: ; CHECK-LABEL: name: sra2 ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SRA renamable $x11, $x0 PseudoRET implicit $x10 ... --- name: sllw body: | bb.0: ; CHECK-LABEL: name: sllw ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SLLW $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: srlw body: | bb.0: ; CHECK-LABEL: name: srlw ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SRLW $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: sraw body: | bb.0: ; CHECK-LABEL: name: sraw ; CHECK: renamable $x10 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = SRAW $x0, renamable $x11 PseudoRET implicit $x10 ... --- name: min body: | bb.0: ; CHECK-LABEL: name: min ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MIN renamable $x11, renamable $x11 PseudoRET implicit $x10 ... --- name: minu body: | bb.0: ; CHECK-LABEL: name: minu ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MINU renamable $x11, renamable $x11 PseudoRET implicit $x10 ... --- name: max body: | bb.0: ; CHECK-LABEL: name: max ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MAX renamable $x11, renamable $x11 PseudoRET implicit $x10 ... --- name: maxu body: | bb.0: ; CHECK-LABEL: name: maxu ; CHECK: renamable $x10 = ADDI $x12, 0 ; CHECK-NEXT: PseudoRET implicit $x10 renamable $x11 = COPY $x12 renamable $x10 = MAXU renamable $x11, renamable $x11 PseudoRET implicit $x10 ... --- name: multipass body: | bb.0: ; CHECK-LABEL: name: multipass ; CHECK: renamable $x9 = ADDI $x0, 0 ; CHECK-NEXT: PseudoRET implicit $x9 renamable $x11 = COPY $x0 renamable $x10 = SLLI renamable $x11, 13 renamable $x9 = SRLI renamable $x10, 13 PseudoRET implicit $x9 ... --- name: beq body: | ; CHECK-LABEL: name: beq ; CHECK: bb.0: ; CHECK-NEXT: successors: %bb.1(0x80000000) ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: renamable $x11 = COPY $x12 ; CHECK-NEXT: BEQ $x12, $x0, %bb.1 ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: bb.1: ; CHECK-NEXT: PseudoRET bb.0: renamable $x11 = COPY $x12 BEQ $x0, renamable $x11, %bb.1 bb.1: PseudoRET ... --- name: bne body: | ; CHECK-LABEL: name: bne ; CHECK: bb.0: ; CHECK-NEXT: successors: %bb.1(0x80000000) ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: renamable $x11 = COPY $x12 ; CHECK-NEXT: BNE $x12, $x0, %bb.1 ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: bb.1: ; CHECK-NEXT: PseudoRET bb.0: renamable $x11 = COPY $x12 BNE $x0, renamable $x11, %bb.1 bb.1: PseudoRET ... --- name: bltu body: | ; CHECK-LABEL: name: bltu ; CHECK: bb.0: ; CHECK-NEXT: successors: %bb.1(0x80000000) ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: renamable $x11 = COPY $x12 ; CHECK-NEXT: BNE $x12, $x0, %bb.1 ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: bb.1: ; CHECK-NEXT: PseudoRET bb.0: renamable $x11 = COPY $x12 BLTU $x0, renamable $x11, %bb.1 bb.1: PseudoRET ... --- name: bgeu body: | ; CHECK-LABEL: name: bgeu ; CHECK: bb.0: ; CHECK-NEXT: successors: %bb.1(0x80000000) ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: renamable $x11 = COPY $x12 ; CHECK-NEXT: BEQ $x12, $x0, %bb.1 ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: bb.1: ; CHECK-NEXT: PseudoRET bb.0: renamable $x11 = COPY $x12 BGEU $x0, renamable $x11, %bb.1 bb.1: PseudoRET ...