[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / sgpr-spill-partially-undef.mir
blob055e859f5030085b751f0cc3253f090043f724db
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs -run-pass=si-lower-sgpr-spills -o - %s  | FileCheck %s
4 # Check for liveness errors when spilling partially defined super registers.
6 ---
7 name:  sgpr_spill_s64_undef_high32
8 tracksRegLiveness: true
9 machineFunctionInfo:
10   isEntryFunction: true
11   hasSpilledSGPRs:     true
12   scratchRSrcReg:  '$sgpr96_sgpr97_sgpr98_sgpr99'
13   stackPtrOffsetReg: '$sgpr32'
15 stack:
16   - { id: 0, type: spill-slot, size: 8, alignment: 4, stack-id: sgpr-spill }
18 body:             |
19   bb.0:
20     liveins: $sgpr4
22     ; CHECK-LABEL: name: sgpr_spill_s64_undef_high32
23     ; CHECK: liveins: $sgpr4
24     ; CHECK-NEXT: {{  $}}
25     ; CHECK-NEXT: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
26     ; CHECK-NEXT: [[DEF:%[0-9]+]]:vgpr_32 = SI_SPILL_S32_TO_VGPR $sgpr4, 0, [[DEF]], implicit-def $sgpr4_sgpr5, implicit $sgpr4_sgpr5
27     ; CHECK-NEXT: [[DEF:%[0-9]+]]:vgpr_32 = SI_SPILL_S32_TO_VGPR $sgpr5, 1, [[DEF]], implicit $sgpr4_sgpr5
28     SI_SPILL_S64_SAVE renamable $sgpr4_sgpr5, %stack.0, implicit $exec, implicit $sgpr96_sgpr97_sgpr98_sgpr99, implicit $sgpr32 :: (store (s64) into %stack.0, align 4, addrspace 5)
30 ...
32 ---
33 name:  sgpr_spill_s64_undef_low32
34 tracksRegLiveness: true
35 machineFunctionInfo:
36   isEntryFunction: true
37   hasSpilledSGPRs:     true
38   scratchRSrcReg:  '$sgpr96_sgpr97_sgpr98_sgpr99'
39   stackPtrOffsetReg: '$sgpr32'
41 stack:
42   - { id: 0, type: spill-slot, size: 8, alignment: 4, stack-id: sgpr-spill }
44 body:             |
45   bb.0:
46     liveins: $sgpr5
48     ; CHECK-LABEL: name: sgpr_spill_s64_undef_low32
49     ; CHECK: liveins: $sgpr5
50     ; CHECK-NEXT: {{  $}}
51     ; CHECK-NEXT: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
52     ; CHECK-NEXT: [[DEF:%[0-9]+]]:vgpr_32 = SI_SPILL_S32_TO_VGPR $sgpr4, 0, [[DEF]], implicit-def $sgpr4_sgpr5, implicit $sgpr4_sgpr5
53     ; CHECK-NEXT: [[DEF:%[0-9]+]]:vgpr_32 = SI_SPILL_S32_TO_VGPR $sgpr5, 1, [[DEF]], implicit $sgpr4_sgpr5
54     SI_SPILL_S64_SAVE renamable $sgpr4_sgpr5, %stack.0, implicit $exec, implicit $sgpr96_sgpr97_sgpr98_sgpr99, implicit $sgpr32 :: (store (s64) into %stack.0, align 4, addrspace 5)
56 ...