xref: /llvm-project/llvm/test/CodeGen/PowerPC/subreg-killed.mir (revision 706e1975400b3f30bd406b694bb711a7c7dbe1c4)
1# RUN: llc -mcpu=pwr10 -O3 -enable-subreg-liveness -verify-machineinstrs \
2# RUN:   -mtriple=powerpc64le-unknown-linux-gnu -run-pass=greedy,virtregrewriter \
3# RUN:   -o - %s | FileCheck %s
4
5# This test case checks that the 'killed' flag is properly added when using
6# subregisters.
7
8# CHECK-LABEL: test
9# CHECK: KILL_PAIR killed
10# CHECK-NEXT: COPY killed
11# CHECK-NEXT: KILL_PAIR killed
12# CHECK-NEXT: COPY killed
13# CHECK-NEXT: BUILD_UACC killed
14# CHECK-NEXT: XXMTACC killed
15# CHECK-NEXT: SPILL_ACC killed
16
17---
18name:            test
19tracksRegLiveness: true
20fixedStack:
21  - { id: 0, size: 8 }
22stack:
23  - { id: 0, size: 64 }
24body:             |
25  bb.0:
26    liveins: $v2, $v3, $v4, $v5
27    undef %4.sub_vsx1:vsrprc_with_sub_64_in_vfrc = COPY $v5
28    %4.sub_vsx0:vsrprc_with_sub_64_in_vfrc = COPY $v4
29    undef %5.sub_vsx1:vsrprc_with_sub_64_in_vfrc = COPY $v3
30    %5.sub_vsx0:vsrprc_with_sub_64_in_vfrc = COPY $v2
31    %6:g8rc_and_g8rc_nox0 = LD 0, %fixed-stack.0
32    %5:vsrprc_with_sub_64_in_vfrc = KILL_PAIR %5
33    undef %7.sub_pair0:uaccrc = COPY %5
34    %4:vsrprc_with_sub_64_in_vfrc = KILL_PAIR %4
35    %7.sub_pair1:uaccrc = COPY %4
36    %8:accrc = BUILD_UACC %7
37    %8:accrc = XXMTACC %8
38    SPILL_ACC %8, 0, %stack.0
39
40...
41