xref: /llvm-project/llvm/test/CodeGen/AArch64/machine-cp-clobbers.mir (revision be16b03e203277257c3a6f5f2c3b2fc5e88ce550)
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