# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6 # RUN: llc -run-pass=peephole-opt -verify-machineinstrs -mtriple=thumbv7-unknown-linux-android29 %s -o - | FileCheck %s --- name: Test_shouldRewriteCopySrc_Invalid_SubReg tracksRegLiveness: true body: | bb.1: liveins: $r0, $r1 ; CHECK-LABEL: name: Test_shouldRewriteCopySrc_Invalid_SubReg ; CHECK: liveins: $r0, $r1 ; CHECK-NEXT: {{ $}} ; CHECK-NEXT: [[DEF:%[0-9]+]]:dpair = IMPLICIT_DEF ; CHECK-NEXT: [[COPY:%[0-9]+]]:dpr_vfp2 = COPY [[DEF]].dsub_0 ; CHECK-NEXT: [[VMOVRRD:%[0-9]+]]:gpr, [[VMOVRRD1:%[0-9]+]]:gpr = VMOVRRD [[COPY]], 14 /* CC::al */, $noreg ; CHECK-NEXT: [[COPY1:%[0-9]+]]:spr = COPY [[COPY]].ssub_1 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:spr = IMPLICIT_DEF ; CHECK-NEXT: [[DEF2:%[0-9]+]]:spr = IMPLICIT_DEF ; CHECK-NEXT: [[DEF3:%[0-9]+]]:spr = IMPLICIT_DEF ; CHECK-NEXT: [[REG_SEQUENCE:%[0-9]+]]:mqpr = REG_SEQUENCE killed [[DEF2]], %subreg.ssub_0, killed [[DEF1]], %subreg.ssub_1, killed [[DEF3]], %subreg.ssub_2, [[COPY]].ssub_1, %subreg.ssub_3 ; CHECK-NEXT: VST1q64 $r1, 0, killed [[REG_SEQUENCE]], 14 /* CC::al */, $noreg %0:dpair = IMPLICIT_DEF %1:dpr = COPY %0.dsub_0 %2:gpr, %3:gpr = VMOVRRD killed %1, 14 /* CC::al */, $noreg %4:spr = VMOVSR killed %3, 14 /* CC::al */, $noreg %5:spr = IMPLICIT_DEF %6:spr = IMPLICIT_DEF %7:spr = IMPLICIT_DEF %8:mqpr = REG_SEQUENCE killed %6, %subreg.ssub_0, killed %5, %subreg.ssub_1, killed %7, %subreg.ssub_2, killed %4, %subreg.ssub_3 VST1q64 $r1, 0, killed %8, 14 /* CC::al */, $noreg ...