[RISCV] Use RISCVSubtarget::is64Bit() instead of hasFeature(RISCV::Feature64Bit)...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / smem-no-clause-coalesced.mir
blob8a4450926471ec204d068f31dc310215ea601a96
1 # RUN: llc -mtriple=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.
7 # XNACK-LABEL: body:
8 # XNACK-NOT: BUNDLE
10 ---
11 name:            _amdgpu_cs_main
12 alignment:       1
13 exposesReturnsTwice: false
14 legalized:       false
15 regBankSelected: false
16 selected:        false
17 failedISel:      false
18 tracksRegLiveness: true
19 hasWinCFI:       false
20 fixedStack:      []
21 stack:           []
22 constants:       []
23 body:             |
24   bb.0:
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 `ptr 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
43     S_ENDPGM 0
45 ...