1# RUN: llc -march=hexagon -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: A2_nop implicit-def $d0
10    ; CHECK: A2_nop implicit-def $r2
11    ; CHECK: A2_nop implicit killed $r2
12    ; CHECK: $d1 = COPY killed $d0
13    ; CHECK: $d2 = COPY $d1
14    ; CHECK: A2_nop implicit $d2
15    A2_nop implicit-def $d0
16    $d1 = COPY killed $d0
17    $d0 = COPY killed $d1
18
19    A2_nop implicit-def $r2
20    A2_nop implicit killed $r2
21
22    $d1 = COPY killed $d0
23    $d2 = COPY $d1
24    A2_nop implicit $d2
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: A2_nop implicit-def $d0
35    ; CHECK: A2_nop implicit-def $r3
36    ; CHECK: A2_nop implicit killed $r3
37    ; CHECK: $d1 = COPY killed $d0
38    ; CHECK: $d2 = COPY $d1
39    ; CHECK: A2_nop implicit $d2
40    A2_nop implicit-def $d0
41    $d1 = COPY killed $d0
42    $d0 = COPY killed $d1
43
44    A2_nop implicit-def $r3
45    A2_nop implicit killed $r3
46
47    $d1 = COPY killed $d0
48    $d2 = COPY $d1
49    A2_nop implicit $d2
50
51...
52