1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 3 2# RUN: llc -mtriple=x86_64-unknown-linux-gnu -run-pass=register-coalescer -o - %s | FileCheck %s 3--- 4name: rematerialize_subreg_to_reg_added_impdef_1 5tracksRegLiveness: true 6body: | 7 ; CHECK-LABEL: name: rematerialize_subreg_to_reg_added_impdef_1 8 ; CHECK: bb.0: 9 ; CHECK-NEXT: successors: %bb.1(0x2aaaaaab), %bb.2(0x55555555) 10 ; CHECK-NEXT: liveins: $edi 11 ; CHECK-NEXT: {{ $}} 12 ; CHECK-NEXT: undef [[MOV32r0_:%[0-9]+]].sub_32bit:gr64_with_sub_8bit = MOV32r0 implicit-def dead $eflags 13 ; CHECK-NEXT: JCC_1 %bb.2, 5, implicit killed undef $eflags 14 ; CHECK-NEXT: {{ $}} 15 ; CHECK-NEXT: bb.1: 16 ; CHECK-NEXT: successors: %bb.3(0x80000000) 17 ; CHECK-NEXT: {{ $}} 18 ; CHECK-NEXT: JMP_1 %bb.3 19 ; CHECK-NEXT: {{ $}} 20 ; CHECK-NEXT: bb.2: 21 ; CHECK-NEXT: successors: %bb.3(0x80000000) 22 ; CHECK-NEXT: {{ $}} 23 ; CHECK-NEXT: [[MOV32r0_:%[0-9]+]]:gr64_with_sub_8bit = IMPLICIT_DEF 24 ; CHECK-NEXT: {{ $}} 25 ; CHECK-NEXT: bb.3: 26 ; CHECK-NEXT: successors: %bb.4(0x30000000), %bb.5(0x50000000) 27 ; CHECK-NEXT: {{ $}} 28 ; CHECK-NEXT: JCC_1 %bb.5, 5, implicit killed undef $eflags 29 ; CHECK-NEXT: {{ $}} 30 ; CHECK-NEXT: bb.4: 31 ; CHECK-NEXT: dead $eax = MOV32r0 implicit-def dead $eflags, implicit-def $al 32 ; CHECK-NEXT: RET 0, killed undef $al 33 ; CHECK-NEXT: {{ $}} 34 ; CHECK-NEXT: bb.5: 35 ; CHECK-NEXT: MOV64mr undef $noreg, 1, undef $noreg, 0, undef $noreg, [[MOV32r0_]] :: (store (s64)) 36 ; CHECK-NEXT: RET 0, killed undef $al 37 bb.0: 38 successors: %bb.1(0x2aaaaaab), %bb.2(0x55555555) 39 liveins: $edi 40 41 %0:gr32 = MOV32r0 implicit-def dead $eflags 42 %1:gr8 = COPY %0.sub_8bit 43 %2:gr64 = SUBREG_TO_REG 0, killed %0, %subreg.sub_32bit 44 JCC_1 %bb.2, 5, implicit killed undef $eflags 45 46 bb.1: 47 successors: %bb.3(0x80000000) 48 49 JMP_1 %bb.3 50 51 bb.2: 52 successors: %bb.3(0x80000000) 53 54 %5:gr64 = IMPLICIT_DEF 55 %2:gr64 = COPY killed %5 56 57 bb.3: 58 successors: %bb.4(0x30000000), %bb.5(0x50000000) 59 60 JCC_1 %bb.5, 5, implicit killed undef $eflags 61 62 bb.4: 63 $al = COPY killed %1 64 RET 0, killed undef $al 65 66 bb.5: 67 MOV64mr undef $noreg, 1, undef $noreg, 0, undef $noreg, killed %2 :: (store (s64)) 68 RET 0, killed undef $al 69 70... 71