brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.3 KiB · 9e07070 Raw
341 lines · plain
1# RUN: llc -march=amdgcn -mcpu=gfx1200 -run-pass=si-insert-waitcnts -verify-machineinstrs -o - %s | FileCheck %s2 3--- |4  define amdgpu_ps void @tbuffer_store1() #0 { ret void }5  define amdgpu_ps void @tbuffer_store2() #0 { ret void }6  define amdgpu_ps void @flat_store() #0 { ret void }7  define amdgpu_ps void @global_store() #0 { ret void }8  define amdgpu_ps void @buffer_store_format() #0 { ret void }9  define amdgpu_ps void @ds_write_b32() #0 { ret void }10  define amdgpu_ps void @global_store_dword() #0 { ret void }11  define amdgpu_ps void @multiple_basic_blocks1() #0 { ret void }12  define amdgpu_ps void @multiple_basic_blocks2() #0 { ret void }13  define amdgpu_ps void @multiple_basic_blocks3() #0 { ret void }14  define amdgpu_ps void @recursive_loop() #0 { ret void }15  define amdgpu_ps void @recursive_loop_vmem() #0 { ret void }16  define amdgpu_ps void @image_store() #0 { ret void }17  define amdgpu_ps void @scratch_store() #0 { ret void }18  define amdgpu_ps void @buffer_atomic() #0 { ret void }19  define amdgpu_ps void @flat_atomic() #0 { ret void }20  define amdgpu_ps void @global_atomic() #0 { ret void }21  define amdgpu_ps void @image_atomic() #0 { ret void }22  define amdgpu_ps void @global_store_optnone() #1 { ret void }23 24  attributes #0 = { "amdgpu-dynamic-vgpr-block-size" = "16" }25  attributes #1 = { "amdgpu-dynamic-vgpr-block-size" = "16" noinline optnone }26...27 28---29name:            tbuffer_store130body:             |31  bb.0:32    ; CHECK-LABEL: name: tbuffer_store133    ; CHECK-NOT: S_SENDMSG 334    ; CHECK: S_ALLOC_VGPR 035    ; CHECK: S_ENDPGM 036    TBUFFER_STORE_FORMAT_XYZW_OFFSET_exact killed renamable $vgpr0_vgpr1_vgpr2_vgpr3, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, killed renamable $sgpr4, 42, 117, 0, 0, implicit $exec37    S_ENDPGM 038...39 40---41name:            tbuffer_store242body:             |43  bb.0:44    ; CHECK-LABEL: name: tbuffer_store245    ; CHECK-NOT: S_SENDMSG 346    ; CHECK: S_ALLOC_VGPR 047    ; CHECK: S_ENDPGM 048    TBUFFER_STORE_FORMAT_XYZW_OFFEN_exact killed renamable $vgpr0_vgpr1_vgpr2_vgpr3, killed renamable $vgpr4, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 115, 0, 0, implicit $exec :: (dereferenceable store (s128), align 1, addrspace 7)49    S_ENDPGM 050...51 52---53name:            flat_store54body:             |55  bb.0:56    ; CHECK-LABEL: name: flat_store57    ; CHECK-NOT: S_SENDMSG 358    ; CHECK: S_ALLOC_VGPR 059    ; CHECK: S_ENDPGM 060    FLAT_STORE_DWORDX4 $vgpr49_vgpr50, $vgpr26_vgpr27_vgpr28_vgpr29, 0, 0, implicit $exec, implicit $flat_scr61    S_ENDPGM 062...63 64---65name:            global_store66body:             |67  bb.0:68    ; CHECK-LABEL: name: global_store69    ; CHECK-NOT: S_SENDMSG 370    ; CHECK: S_ALLOC_VGPR 071    ; CHECK: S_ENDPGM 072    GLOBAL_STORE_DWORD undef renamable $vgpr0_vgpr1, killed renamable $vgpr1, 0, 4, implicit $exec73    S_WAIT_STORECNT 074    S_ENDPGM 075...76 77---78name:            buffer_store_format79body:             |80  bb.0:81    ; CHECK-LABEL: name: buffer_store_format82    ; CHECK-NOT: S_SENDMSG 383    ; CHECK: S_ALLOC_VGPR 084    ; CHECK: S_ENDPGM 085    BUFFER_STORE_FORMAT_D16_X_OFFEN_exact killed renamable $vgpr0, killed renamable $vgpr1, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, killed renamable $sgpr4, 0, 0, 0, implicit $exec86    S_ENDPGM 087...88 89---90name:            ds_write_b3291body:             |92  bb.0:93    ; CHECK-LABEL: name: ds_write_b3294    ; CHECK-NOT: S_SENDMSG 395    ; CHECK: S_ALLOC_VGPR 096    ; CHECK: S_ENDPGM 097    renamable $vgpr0 = IMPLICIT_DEF98    renamable $vgpr1 = IMPLICIT_DEF99    DS_WRITE_B32 killed renamable $vgpr0, killed renamable $vgpr1, 12, 0, implicit $exec, implicit $m0100    S_ENDPGM 0101 102...103---104name:            global_store_dword105body:             |106  bb.0:107    liveins: $vgpr0, $sgpr0_sgpr1108 109    ; CHECK-LABEL: name: global_store_dword110    ; CHECK-NOT: S_SENDMSG 3111    ; CHECK: S_ALLOC_VGPR 0112    ; CHECK: S_ENDPGM 0113    renamable $vgpr0 = V_MAD_I32_I24_e64 killed $vgpr1, killed $vgpr0, killed $sgpr2, 0, implicit $exec114    GLOBAL_STORE_DWORD_SADDR killed renamable $vgpr2, killed renamable $vgpr0, killed renamable $sgpr0_sgpr1, 0, 0, implicit $exec115    S_ENDPGM 0116...117 118---119name:            multiple_basic_blocks1120body:             |121  ; CHECK-LABEL: name: multiple_basic_blocks1122  ; CHECK-NOT: S_SENDMSG 3123  ; CHECK: S_ALLOC_VGPR 0124  ; CHECK:   S_ENDPGM 0125  bb.0:126    successors: %bb.1127 128    renamable $vgpr0 = BUFFER_LOAD_FORMAT_X_IDXEN killed renamable $vgpr0, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec129    S_BRANCH %bb.1130 131  bb.1:132    successors: %bb.1, %bb.2133 134    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec135    S_CMP_LG_U32 killed renamable $sgpr3, renamable $sgpr4, implicit-def $scc136    S_CBRANCH_SCC1 %bb.1, implicit killed $scc137    S_BRANCH %bb.2138 139  bb.2:140    S_ENDPGM 0141 142...143 144---145name:            multiple_basic_blocks2146body:             |147  ; CHECK-LABEL: name: multiple_basic_blocks2148  ; CHECK: bb.2:149  ; CHECK-NOT: S_SENDMSG 3150  ; CHECK: S_ALLOC_VGPR 0151  ; CHECK: S_ENDPGM 0152  bb.0:153    successors: %bb.2154 155    TBUFFER_STORE_FORMAT_X_OFFSET_exact killed renamable $vgpr0, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 125, 0, 0, implicit $exec156    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec157    S_BRANCH %bb.2158 159  bb.1:160    successors: %bb.2161 162    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec163    TBUFFER_STORE_FORMAT_X_OFFSET_exact killed renamable $vgpr0, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 125, 0, 0, implicit $exec164    S_BRANCH %bb.2165 166  bb.2:167    S_ENDPGM 0168...169 170---171name:            multiple_basic_blocks3172body:             |173  ; CHECK-LABEL: name: multiple_basic_blocks3174  ; CHECK: bb.4:175  ; CHECK-NOT: S_SENDMSG 3176  ; CHECK: S_ALLOC_VGPR 0177  ; CHECK: S_ENDPGM 0178  bb.0:179    successors: %bb.2180 181    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec182    TBUFFER_STORE_FORMAT_X_OFFSET_exact killed renamable $vgpr0, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 125, 0, 0, implicit $exec183    S_BRANCH %bb.2184 185  bb.1:186    successors: %bb.2187 188    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec189    S_BRANCH %bb.2190 191  bb.2:192    successors: %bb.4193 194    S_BRANCH %bb.4195 196  bb.3:197    successors: %bb.4198 199    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec200    S_BRANCH %bb.4201 202  bb.4:203    S_ENDPGM 0204...205 206---207name:            recursive_loop208body:             |209  ; CHECK-LABEL: name: recursive_loop210  ; CHECK-NOT: S_SENDMSG 3211  ; CHECK: S_ALLOC_VGPR 0212  ; CHECK:   S_ENDPGM 0213  bb.0:214    successors: %bb.1215 216    renamable $vgpr0 = BUFFER_LOAD_FORMAT_X_IDXEN killed renamable $vgpr0, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec217    S_BRANCH %bb.1218 219  bb.1:220    successors: %bb.1, %bb.2221 222    S_CMP_LG_U32 killed renamable $sgpr3, renamable $sgpr4, implicit-def $scc223    S_CBRANCH_SCC1 %bb.1, implicit killed $scc224    S_BRANCH %bb.2225 226  bb.2:227    S_ENDPGM 0228...229 230---231name:            recursive_loop_vmem232body:             |233  ; CHECK-LABEL: name: recursive_loop_vmem234  ; CHECK-NOT: S_SENDMSG 3235  ; CHECK: S_ALLOC_VGPR 0236  ; CHECK: S_ENDPGM 0237  bb.0:238    successors: %bb.1239 240    renamable $vgpr0 = BUFFER_LOAD_FORMAT_X_IDXEN killed renamable $vgpr0, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec241    S_BRANCH %bb.1242 243  bb.1:244    successors: %bb.1, %bb.2245 246    TBUFFER_STORE_FORMAT_XYZW_OFFEN_exact killed renamable $vgpr0_vgpr1_vgpr2_vgpr3, killed renamable $vgpr4, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 115, 0, 0, implicit $exec247    S_CMP_LG_U32 killed renamable $sgpr3, renamable $sgpr4, implicit-def $scc248    S_CBRANCH_SCC1 %bb.1, implicit killed $scc249    S_BRANCH %bb.2250 251  bb.2:252    S_ENDPGM 0253...254 255---256name:            image_store257body:             |258  bb.0:259  ; CHECK-LABEL: name: image_store260  ; CHECK-NOT: S_SENDMSG 3261  ; CHECK: S_ALLOC_VGPR 0262  ; CHECK: S_ENDPGM 0263  IMAGE_STORE_V2_V1_gfx11 killed renamable $vgpr0_vgpr1, killed renamable $vgpr2, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7, 12, 0, 1, 0, 0, -1, 0, 0, 0, implicit $exec :: (dereferenceable store (<2 x s32>), addrspace 7)264  S_ENDPGM 0265...266 267---268name:            scratch_store269body:             |270  bb.0:271    ; CHECK-LABEL: name: scratch_store272    ; CHECK-NOT: S_SENDMSG 3273    ; CHECK: S_ALLOC_VGPR 0274    ; CHECK: S_ENDPGM 0275    renamable $sgpr0 = S_AND_B32 killed renamable $sgpr0, -16, implicit-def dead $scc276    SCRATCH_STORE_DWORD_SADDR killed renamable $vgpr0, killed renamable $sgpr0, 0, 0, implicit $exec, implicit $flat_scr277    S_ENDPGM 0278...279 280---281name:            buffer_atomic282body:             |283  bb.0:284    ; CHECK-LABEL: name: buffer_atomic285    ; CHECK-NOT: S_SENDMSG 3286    ; CHECK: S_ALLOC_VGPR 0287    ; CHECK: S_ENDPGM 0288    BUFFER_ATOMIC_ADD_F32_OFFEN killed renamable $vgpr0, killed renamable $vgpr2, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, implicit $exec :: (volatile dereferenceable load store (s64), align 1, addrspace 7)289    S_ENDPGM 0290...291 292---293name:            flat_atomic294body:             |295  bb.0:296    ; CHECK-LABEL: name: flat_atomic297    ; CHECK-NOT: S_SENDMSG 3298    ; CHECK: S_ALLOC_VGPR 0299    ; CHECK: S_ENDPGM 0300    renamable $vgpr0_vgpr1 = FLAT_ATOMIC_DEC_X2_RTN killed renamable $vgpr0_vgpr1, killed renamable $vgpr2_vgpr3, 40, 1, implicit $exec, implicit $flat_scr301    S_ENDPGM 0302...303 304 305---306name:            global_atomic307body:             |308  bb.0:309    ; CHECK-LABEL: name: global_atomic310    ; CHECK-NOT: S_SENDMSG 3311    ; CHECK: S_ALLOC_VGPR 0312    ; CHECK: S_ENDPGM 0313    renamable $vgpr0_vgpr1 = GLOBAL_ATOMIC_INC_X2_SADDR_RTN killed renamable $vgpr0, killed renamable $vgpr1_vgpr2, killed renamable $sgpr0_sgpr1, 40, 1, implicit $exec314    S_ENDPGM 0315...316 317---318name:            image_atomic319body:             |320  bb.0:321    ; CHECK-LABEL: name: image_atomic322    ; CHECK-NOT: S_SENDMSG 3323    ; CHECK: S_ALLOC_VGPR 0324    ; CHECK: S_ENDPGM 0325    renamable $vgpr0_vgpr1_vgpr2_vgpr3 = IMAGE_ATOMIC_CMPSWAP_V4_V1_gfx12 killed renamable $vgpr0_vgpr1_vgpr2_vgpr3, killed renamable $vgpr4, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7, 15, 0, 1, 1, 0, 0, implicit $exec :: (volatile dereferenceable load store (s64), addrspace 7)326    S_ENDPGM 0327...328 329---330name:            global_store_optnone331body:             |332  bb.0:333    ; CHECK-LABEL: name: global_store_optnone334    ; CHECK-NOT: S_SENDMSG 3335    ; CHECK-NOT: S_ALLOC_VGPR336    ; CHECK: S_ENDPGM 0337    GLOBAL_STORE_DWORD undef renamable $vgpr0_vgpr1, killed renamable $vgpr1, 0, 4, implicit $exec338    S_WAIT_STORECNT 0339    S_ENDPGM 0340...341