1 # RUN: llc -march=amdgcn -mcpu=gfx902 -o - %s -run-pass si-form-memory-clauses -verify-machineinstrs | FileCheck -check-prefix=XNACK %s
3 # The SIFormMemoryClauses pass must not form a clause (indicated by BUNDLE)
4 # from the two adjacent smem instructions, because the first one has its
5 # result coalesced with an operand.
13 exposesReturnsTwice: false
15 regBankSelected: false
18 tracksRegLiveness: true
25 liveins: $sgpr2, $sgpr3, $sgpr12, $sgpr13, $sgpr14, $vgpr0, $vgpr1
27 %0:vgpr_32 = COPY $vgpr1
28 %1:sgpr_32 = COPY $sgpr12
29 %2:sgpr_32 = COPY $sgpr3
30 undef %3.sub0:sgpr_128 = COPY $sgpr2
31 %4:vgpr_32 = COPY $vgpr0
32 %5:sgpr_32 = COPY $sgpr14
33 %6:sgpr_32 = COPY $sgpr13
34 %7:sreg_64_xexec = S_GETPC_B64
35 %7.sub0:sreg_64_xexec = COPY %1
36 %3.sub1:sgpr_128 = S_AND_B32 %2, 65535, implicit-def dead $scc
37 %3.sub3:sgpr_128 = S_MOV_B32 151468
38 %3.sub2:sgpr_128 = S_MOV_B32 -1
39 %7.sub0:sreg_64_xexec = S_LOAD_DWORD_IMM %7, 48, 0 :: (load (s32) from `i8 addrspace(4)* undef`, addrspace 4)
40 %8:sreg_64_xexec = S_BUFFER_LOAD_DWORDX2_IMM %3, 640, 0 :: (dereferenceable invariant load (s64))
41 undef %9.sub0:vreg_128 = V_LSHL_ADD_U32_e64 %6, 4, %4, implicit $exec
42 %9.sub1:vreg_128 = V_LSHL_ADD_U32_e64 %5, 4, %0, implicit $exec