brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.9 KiB · 064e3e0 Raw
114 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn -mcpu=gfx803 -run-pass si-memory-legalizer %s -o - | FileCheck -check-prefix=GCN %s3 4---5 6 7 8name:            multiple_mem_operands9body:             |10  ; GCN-LABEL: name: multiple_mem_operands11  ; GCN: bb.0.entry:12  ; GCN-NEXT:   successors: %bb.2(0x30000000), %bb.1(0x50000000)13  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $sgpr314  ; GCN-NEXT: {{  $}}15  ; GCN-NEXT:   $sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 44, 0 :: (non-temporal dereferenceable invariant load (s32) from `ptr addrspace(4) poison`, addrspace 4)16  ; GCN-NEXT:   $sgpr8 = S_MOV_B32 &SCRATCH_RSRC_DWORD0, implicit-def $sgpr8_sgpr9_sgpr10_sgpr1117  ; GCN-NEXT:   $sgpr4_sgpr5 = S_LOAD_DWORDX2_IMM $sgpr0_sgpr1, 36, 0 :: (non-temporal dereferenceable invariant load (s64) from `ptr addrspace(4) poison`, addrspace 4)18  ; GCN-NEXT:   $sgpr9 = S_MOV_B32 &SCRATCH_RSRC_DWORD1, implicit-def $sgpr8_sgpr9_sgpr10_sgpr1119  ; GCN-NEXT:   $sgpr10 = S_MOV_B32 4294967295, implicit-def $sgpr8_sgpr9_sgpr10_sgpr1120  ; GCN-NEXT:   $sgpr11 = S_MOV_B32 15204352, implicit-def $sgpr8_sgpr9_sgpr10_sgpr1121  ; GCN-NEXT:   $vgpr0 = V_MOV_B32_e32 1, implicit $exec22  ; GCN-NEXT:   BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr8_sgpr9_sgpr10_sgpr11, $sgpr3, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) poison`, addrspace 5)23  ; GCN-NEXT:   S_WAITCNT 12724  ; GCN-NEXT:   S_CMP_LG_U32 killed $sgpr2, 0, implicit-def $scc25  ; GCN-NEXT:   S_WAITCNT 385526  ; GCN-NEXT:   $vgpr0 = V_MOV_B32_e32 2, implicit $exec27  ; GCN-NEXT:   $vgpr1 = V_MOV_B32_e32 32772, implicit $exec28  ; GCN-NEXT:   BUFFER_STORE_DWORD_OFFEN killed $vgpr0, killed $vgpr1, $sgpr8_sgpr9_sgpr10_sgpr11, $sgpr3, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) poison`, addrspace 5)29  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit killed $scc30  ; GCN-NEXT: {{  $}}31  ; GCN-NEXT: bb.1:32  ; GCN-NEXT:   successors: %bb.3(0x80000000)33  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $sgpr4_sgpr5, $sgpr3, $sgpr8_sgpr9_sgpr10_sgpr1134  ; GCN-NEXT: {{  $}}35  ; GCN-NEXT:   $sgpr0 = S_LOAD_DWORD_IMM killed $sgpr0_sgpr1, 52, 0 :: (non-temporal dereferenceable invariant load (s32) from `ptr addrspace(4) poison`, addrspace 4)36  ; GCN-NEXT:   S_WAITCNT 385537  ; GCN-NEXT:   $vgpr0 = V_MOV_B32_e32 32772, implicit $exec38  ; GCN-NEXT:   S_BRANCH %bb.339  ; GCN-NEXT: {{  $}}40  ; GCN-NEXT: bb.2:41  ; GCN-NEXT:   successors: %bb.3(0x80000000)42  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $sgpr4_sgpr5, $sgpr3, $sgpr8_sgpr9_sgpr10_sgpr1143  ; GCN-NEXT: {{  $}}44  ; GCN-NEXT:   $sgpr0 = S_LOAD_DWORD_IMM killed $sgpr0_sgpr1, 48, 0 :: (non-temporal dereferenceable invariant load (s32) from `ptr addrspace(4) poison`, addrspace 4)45  ; GCN-NEXT:   S_WAITCNT 385546  ; GCN-NEXT:   $vgpr0 = V_MOV_B32_e32 4, implicit $exec47  ; GCN-NEXT: {{  $}}48  ; GCN-NEXT: bb.3:49  ; GCN-NEXT:   liveins: $sgpr3, $sgpr4_sgpr5, $sgpr8_sgpr9_sgpr10_sgpr11, $vgpr0, $sgpr050  ; GCN-NEXT: {{  $}}51  ; GCN-NEXT:   S_WAITCNT 12752  ; GCN-NEXT:   $sgpr0 = S_LSHL_B32 killed $sgpr0, 2, implicit-def dead $scc53  ; GCN-NEXT:   $vgpr0 = V_ADD_CO_U32_e32 killed $sgpr0, killed $vgpr0, implicit-def dead $vcc, implicit $exec54  ; GCN-NEXT:   S_WAITCNT_soft 395255  ; GCN-NEXT:   $vgpr0 = BUFFER_LOAD_DWORD_OFFEN killed $vgpr0, killed $sgpr8_sgpr9_sgpr10_sgpr11, $sgpr3, 0, 1, 0, implicit $exec :: (load syncscope("agent-one-as") unordered (s32) from `ptr addrspace(1) poison`, addrspace 1), (load syncscope("workgroup-one-as") seq_cst (s32) from `ptr addrspace(5) poison`, addrspace 5)56  ; GCN-NEXT:   S_WAITCNT_soft 395257  ; GCN-NEXT:   BUFFER_WBINVL1_VOL implicit $exec58  ; GCN-NEXT:   $vgpr1 = V_MOV_B32_e32 $sgpr4, implicit $exec, implicit-def $vgpr1_vgpr2, implicit $sgpr4_sgpr559  ; GCN-NEXT:   $vgpr2 = V_MOV_B32_e32 killed $sgpr5, implicit $exec, implicit $sgpr4_sgpr5, implicit $exec60  ; GCN-NEXT:   S_WAITCNT 395261  ; GCN-NEXT:   FLAT_STORE_DWORD killed $vgpr1_vgpr2, killed $vgpr0, 0, 0, implicit $exec, implicit $flat_scr :: (store (s32) into `ptr addrspace(1) poison`, addrspace 1)62  ; GCN-NEXT:   S_ENDPGM 063  bb.0.entry:64    successors: %bb.1(0x30000000), %bb.2(0x50000000)65    liveins: $sgpr0_sgpr1, $sgpr366 67    $sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 44, 0 :: (non-temporal dereferenceable invariant load (s32) from `ptr addrspace(4) poison`)68    $sgpr8 = S_MOV_B32 &SCRATCH_RSRC_DWORD0, implicit-def $sgpr8_sgpr9_sgpr10_sgpr1169    $sgpr4_sgpr5 = S_LOAD_DWORDX2_IMM $sgpr0_sgpr1, 36, 0 :: (non-temporal dereferenceable invariant load (s64) from `ptr addrspace(4) poison`)70    $sgpr9 = S_MOV_B32 &SCRATCH_RSRC_DWORD1, implicit-def $sgpr8_sgpr9_sgpr10_sgpr1171    $sgpr10 = S_MOV_B32 4294967295, implicit-def $sgpr8_sgpr9_sgpr10_sgpr1172    $sgpr11 = S_MOV_B32 15204352, implicit-def $sgpr8_sgpr9_sgpr10_sgpr1173    $vgpr0 = V_MOV_B32_e32 1, implicit $exec74    BUFFER_STORE_DWORD_OFFSET killed $vgpr0, $sgpr8_sgpr9_sgpr10_sgpr11, $sgpr3, 4, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) poison`)75    S_WAITCNT 12776    S_CMP_LG_U32 killed $sgpr2, 0, implicit-def $scc77    S_WAITCNT 385578    $vgpr0 = V_MOV_B32_e32 2, implicit $exec79    $vgpr1 = V_MOV_B32_e32 32772, implicit $exec80    BUFFER_STORE_DWORD_OFFEN killed $vgpr0, killed $vgpr1, $sgpr8_sgpr9_sgpr10_sgpr11, $sgpr3, 0, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(5) poison`)81    S_CBRANCH_SCC0 %bb.1, implicit killed $scc82 83  bb.2:84    successors: %bb.3(0x80000000)85    liveins: $sgpr0_sgpr1, $sgpr4_sgpr5, $sgpr3, $sgpr8_sgpr9_sgpr10_sgpr1186 87    $sgpr0 = S_LOAD_DWORD_IMM killed $sgpr0_sgpr1, 52, 0 :: (non-temporal dereferenceable invariant load (s32) from `ptr addrspace(4) poison`)88    S_WAITCNT 385589    $vgpr0 = V_MOV_B32_e32 32772, implicit $exec90    S_BRANCH %bb.391 92  bb.1:93    successors: %bb.3(0x80000000)94    liveins: $sgpr0_sgpr1, $sgpr4_sgpr5, $sgpr3, $sgpr8_sgpr9_sgpr10_sgpr1195 96    $sgpr0 = S_LOAD_DWORD_IMM killed $sgpr0_sgpr1, 48, 0 :: (non-temporal dereferenceable invariant load (s32) from `ptr addrspace(4) poison`)97    S_WAITCNT 385598    $vgpr0 = V_MOV_B32_e32 4, implicit $exec99 100  bb.3:101    liveins: $sgpr3, $sgpr4_sgpr5, $sgpr8_sgpr9_sgpr10_sgpr11, $vgpr0, $sgpr0102 103    S_WAITCNT 127104    $sgpr0 = S_LSHL_B32 killed $sgpr0, 2, implicit-def dead $scc105    $vgpr0 = V_ADD_CO_U32_e32 killed $sgpr0, killed $vgpr0, implicit-def dead $vcc, implicit $exec106    $vgpr0 = BUFFER_LOAD_DWORD_OFFEN killed $vgpr0, killed $sgpr8_sgpr9_sgpr10_sgpr11, $sgpr3, 0, 0, 0, implicit $exec :: (load syncscope("agent-one-as") unordered (s32) from `ptr addrspace(1) poison`), (load syncscope("workgroup-one-as") seq_cst (s32) from `ptr addrspace(5) poison`)107    $vgpr1 = V_MOV_B32_e32 $sgpr4, implicit $exec, implicit-def $vgpr1_vgpr2, implicit $sgpr4_sgpr5108    $vgpr2 = V_MOV_B32_e32 killed $sgpr5, implicit $exec, implicit $sgpr4_sgpr5, implicit $exec109    S_WAITCNT 3952110    FLAT_STORE_DWORD killed $vgpr1_vgpr2, killed $vgpr0, 0, 0, implicit $exec, implicit $flat_scr :: (store (s32) into `ptr addrspace(1) poison`)111    S_ENDPGM 0112 113...114