1# RUN: llc -mtriple=aarch64 -o - %s -run-pass=machine-cp | FileCheck %s 2 3--- 4name: dont_propagate_past_lower_subreg_kill 5tracksRegLiveness: true 6body: | 7 bb.0: 8 ; CHECK-LABEL: name: dont_propagate_past_lower_subreg_kill 9 ; CHECK: HINT 0, implicit-def $q0 10 ; CHECK: HINT 0, implicit-def $d1 11 ; CHECK: HINT 0, implicit killed $d1 12 ; CHECK: $q1 = COPY killed $q0 13 ; CHECK: $q2 = COPY $q1 14 ; CHECK: HINT 0, implicit $q2 15 HINT 0, implicit-def $q0 16 $q1 = COPY killed $q0 17 $q0 = COPY killed $q1 18 19 HINT 0, implicit-def $d1 20 HINT 0, implicit killed $d1 21 22 $q1 = COPY killed $q0 23 $q2 = COPY $q1 24 HINT 0, implicit $q2 25 26... 27 28--- 29name: dont_propagate_past_upper_subreg_kill 30tracksRegLiveness: true 31body: | 32 bb.0: 33 ; CHECK-LABEL: name: dont_propagate_past_upper_subreg_kill 34 ; CHECK: HINT 0, implicit-def $z0 35 ; CHECK: HINT 0, implicit-def $q1 36 ; CHECK: HINT 0, implicit killed $q1 37 ; CHECK: $z1 = COPY killed $z0 38 ; CHECK: $z2 = COPY $z1 39 ; CHECK: HINT 0, implicit $z2 40 HINT 0, implicit-def $z0 41 $z1 = COPY killed $z0 42 $z0 = COPY killed $z1 43 44 HINT 0, implicit-def $q1 45 HINT 0, implicit killed $q1 46 47 $z1 = COPY killed $z0 48 $z2 = COPY $z1 49 HINT 0, implicit $z2 50 51... 52