[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / AArch64 / machine-cp-clobbers.mir
blobb5c0331d2ef193a16628ea06d3d71fda20c7e7b1
1 # RUN: llc -march=aarch64 -o - %s -run-pass=machine-cp | FileCheck %s
3 ---
4 name: dont_propagate_past_lower_subreg_kill
5 tracksRegLiveness: true
6 body: |
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
19     HINT 0, implicit-def $d1
20     HINT 0, implicit killed $d1
22     $q1 = COPY killed $q0
23     $q2 = COPY $q1
24     HINT 0, implicit $q2
26 ...
28 ---
29 name: dont_propagate_past_upper_subreg_kill
30 tracksRegLiveness: true
31 body: |
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 $z1_hi
36     ; CHECK: HINT 0, implicit killed $z1_hi
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
44     HINT 0, implicit-def $z1_hi
45     HINT 0, implicit killed $z1_hi
47     $z1 = COPY killed $z0
48     $z2 = COPY $z1
49     HINT 0, implicit $z2
51 ...