50 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx902 -o - %s -run-pass si-form-memory-clauses -verify-machineinstrs | FileCheck -check-prefix=XNACK %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx902 -o - %s -passes="si-form-memory-clauses" | FileCheck -check-prefix=XNACK %s3 4# The SIFormMemoryClauses pass must not form a clause (indicated by BUNDLE)5# from the two adjacent smem instructions, because the first one has its6# result coalesced with an operand.7 8# XNACK-LABEL: body:9# XNACK-NOT: BUNDLE10 11---12name: _amdgpu_cs_main13alignment: 114exposesReturnsTwice: false15legalized: false16regBankSelected: false17selected: false18failedISel: false19tracksRegLiveness: true20hasWinCFI: false21fixedStack: []22stack: []23constants: []24body: |25 bb.0:26 liveins: $sgpr2, $sgpr3, $sgpr12, $sgpr13, $sgpr14, $vgpr0, $vgpr127 28 %0:vgpr_32 = COPY $vgpr129 %1:sgpr_32 = COPY $sgpr1230 %2:sgpr_32 = COPY $sgpr331 undef %3.sub0:sgpr_128 = COPY $sgpr232 %4:vgpr_32 = COPY $vgpr033 %5:sgpr_32 = COPY $sgpr1434 %6:sgpr_32 = COPY $sgpr1335 %7:sreg_64_xexec = S_GETPC_B6436 %7.sub0:sreg_64_xexec = COPY %137 %3.sub1:sgpr_128 = S_AND_B32 %2, 65535, implicit-def dead $scc38 %3.sub3:sgpr_128 = S_MOV_B32 15146839 %3.sub2:sgpr_128 = S_MOV_B32 -140 %7.sub0:sreg_64_xexec = S_LOAD_DWORD_IMM %7, 48, 0 :: (load (s32) from `ptr addrspace(4) poison`, addrspace 4)41 %8:sreg_64_xexec = S_BUFFER_LOAD_DWORDX2_IMM %3, 640, 0 :: (dereferenceable invariant load (s64))42 undef %9.sub0:vreg_128 = V_LSHL_ADD_U32_e64 %6, 4, %4, implicit $exec43 %9.sub1:vreg_128 = V_LSHL_ADD_U32_e64 %5, 4, %0, implicit $exec44 S_ENDPGM 045 46...47 48 49 50