brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.1 KiB · 69e3d2a Raw
338 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() { ret void }5  define amdgpu_ps void @tbuffer_store2() { ret void }6  define amdgpu_ps void @flat_store() { ret void }7  define amdgpu_ps void @global_store() { ret void }8  define amdgpu_ps void @buffer_store_format() { ret void }9  define amdgpu_ps void @ds_write_b32() { ret void }10  define amdgpu_ps void @global_store_dword() { ret void }11  define amdgpu_ps void @multiple_basic_blocks1() { ret void }12  define amdgpu_ps void @multiple_basic_blocks2() { ret void }13  define amdgpu_ps void @multiple_basic_blocks3() { ret void }14  define amdgpu_ps void @recursive_loop() { ret void }15  define amdgpu_ps void @recursive_loop_vmem() { ret void }16  define amdgpu_ps void @image_store() { ret void }17  define amdgpu_ps void @scratch_store() { ret void }18  define amdgpu_ps void @buffer_atomic() { ret void }19  define amdgpu_ps void @flat_atomic() { ret void }20  define amdgpu_ps void @global_atomic() { ret void }21  define amdgpu_ps void @image_atomic() { ret void }22  define amdgpu_ps void @global_store_optnone() noinline optnone { ret void }23...24 25---26name:            tbuffer_store127body:             |28  bb.0:29    ; CHECK-LABEL: name: tbuffer_store130    ; CHECK-NOT: S_SENDMSG 331    ; CHECK-NOT: S_ALLOC_VGPR32    ; CHECK: S_ENDPGM 033    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 $exec34    S_ENDPGM 035...36 37---38name:            tbuffer_store239body:             |40  bb.0:41    ; CHECK-LABEL: name: tbuffer_store242    ; CHECK-NOT: S_SENDMSG 343    ; CHECK-NOT: S_ALLOC_VGPR44    ; CHECK: S_ENDPGM 045    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)46    S_ENDPGM 047...48 49---50name:            flat_store51body:             |52  bb.0:53    ; CHECK-LABEL: name: flat_store54    ; CHECK-NOT: S_SENDMSG 355    ; CHECK-NOT: S_ALLOC_VGPR56    ; CHECK: S_ENDPGM 057    FLAT_STORE_DWORDX4 $vgpr49_vgpr50, $vgpr26_vgpr27_vgpr28_vgpr29, 0, 0, implicit $exec, implicit $flat_scr58    S_ENDPGM 059...60 61---62name:            global_store63body:             |64  bb.0:65    ; CHECK-LABEL: name: global_store66    ; CHECK-NOT: S_SENDMSG 367    ; CHECK-NOT: S_ALLOC_VGPR68    ; CHECK: S_ENDPGM 069    GLOBAL_STORE_DWORD undef renamable $vgpr0_vgpr1, killed renamable $vgpr1, 0, 4, implicit $exec70    S_WAIT_STORECNT 071    S_ENDPGM 072...73 74---75name:            buffer_store_format76body:             |77  bb.0:78    ; CHECK-LABEL: name: buffer_store_format79    ; CHECK-NOT: S_SENDMSG 380    ; CHECK-NOT: S_ALLOC_VGPR81    ; CHECK: S_ENDPGM 082    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 $exec83    S_ENDPGM 084...85 86---87name:            ds_write_b3288body:             |89  bb.0:90    ; CHECK-LABEL: name: ds_write_b3291    ; CHECK-NOT: S_SENDMSG 392    ; CHECK-NOT: S_ALLOC_VGPR93    ; CHECK: S_ENDPGM 094    renamable $vgpr0 = IMPLICIT_DEF95    renamable $vgpr1 = IMPLICIT_DEF96    DS_WRITE_B32 killed renamable $vgpr0, killed renamable $vgpr1, 12, 0, implicit $exec, implicit $m097    S_ENDPGM 098 99...100---101name:            global_store_dword102body:             |103  bb.0:104    liveins: $vgpr0, $sgpr0_sgpr1105 106    ; CHECK-LABEL: name: global_store_dword107    ; CHECK-NOT: S_SENDMSG 3108    ; CHECK-NOT: S_ALLOC_VGPR109    ; CHECK: S_ENDPGM 0110    renamable $vgpr0 = V_MAD_I32_I24_e64 killed $vgpr1, killed $vgpr0, killed $sgpr2, 0, implicit $exec111    GLOBAL_STORE_DWORD_SADDR killed renamable $vgpr2, killed renamable $vgpr0, killed renamable $sgpr0_sgpr1, 0, 0, implicit $exec112    S_ENDPGM 0113...114 115---116name:            multiple_basic_blocks1117body:             |118  ; CHECK-LABEL: name: multiple_basic_blocks1119  ; CHECK-NOT: S_SENDMSG 3120  ; CHECK-NOT: S_ALLOC_VGPR121  ; CHECK:   S_ENDPGM 0122  bb.0:123    successors: %bb.1124 125    renamable $vgpr0 = BUFFER_LOAD_FORMAT_X_IDXEN killed renamable $vgpr0, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec126    S_BRANCH %bb.1127 128  bb.1:129    successors: %bb.1, %bb.2130 131    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec132    S_CMP_LG_U32 killed renamable $sgpr3, renamable $sgpr4, implicit-def $scc133    S_CBRANCH_SCC1 %bb.1, implicit killed $scc134    S_BRANCH %bb.2135 136  bb.2:137    S_ENDPGM 0138 139...140 141---142name:            multiple_basic_blocks2143body:             |144  ; CHECK-LABEL: name: multiple_basic_blocks2145  ; CHECK: bb.2:146  ; CHECK-NOT: S_SENDMSG 3147  ; CHECK-NOT: S_ALLOC_VGPR148  ; CHECK: S_ENDPGM 0149  bb.0:150    successors: %bb.2151 152    TBUFFER_STORE_FORMAT_X_OFFSET_exact killed renamable $vgpr0, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 125, 0, 0, implicit $exec153    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec154    S_BRANCH %bb.2155 156  bb.1:157    successors: %bb.2158 159    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec160    TBUFFER_STORE_FORMAT_X_OFFSET_exact killed renamable $vgpr0, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 125, 0, 0, implicit $exec161    S_BRANCH %bb.2162 163  bb.2:164    S_ENDPGM 0165...166 167---168name:            multiple_basic_blocks3169body:             |170  ; CHECK-LABEL: name: multiple_basic_blocks3171  ; CHECK: bb.4:172  ; CHECK-NOT: S_SENDMSG 3173  ; CHECK-NOT: S_ALLOC_VGPR174  ; CHECK: S_ENDPGM 0175  bb.0:176    successors: %bb.2177 178    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec179    TBUFFER_STORE_FORMAT_X_OFFSET_exact killed renamable $vgpr0, killed renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 125, 0, 0, implicit $exec180    S_BRANCH %bb.2181 182  bb.1:183    successors: %bb.2184 185    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec186    S_BRANCH %bb.2187 188  bb.2:189    successors: %bb.4190 191    S_BRANCH %bb.4192 193  bb.3:194    successors: %bb.4195 196    $vgpr1 = V_ADD_U32_e32 renamable $vgpr0, renamable $vgpr2, implicit $exec197    S_BRANCH %bb.4198 199  bb.4:200    S_ENDPGM 0201...202 203---204name:            recursive_loop205body:             |206  ; CHECK-LABEL: name: recursive_loop207  ; CHECK-NOT: S_SENDMSG 3208  ; CHECK-NOT: S_ALLOC_VGPR209  ; CHECK:   S_ENDPGM 0210  bb.0:211    successors: %bb.1212 213    renamable $vgpr0 = BUFFER_LOAD_FORMAT_X_IDXEN killed renamable $vgpr0, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec214    S_BRANCH %bb.1215 216  bb.1:217    successors: %bb.1, %bb.2218 219    S_CMP_LG_U32 killed renamable $sgpr3, renamable $sgpr4, implicit-def $scc220    S_CBRANCH_SCC1 %bb.1, implicit killed $scc221    S_BRANCH %bb.2222 223  bb.2:224    S_ENDPGM 0225...226 227---228name:            recursive_loop_vmem229body:             |230  ; CHECK-LABEL: name: recursive_loop_vmem231  ; CHECK-NOT: S_SENDMSG 3232  ; CHECK-NOT: S_ALLOC_VGPR233  ; CHECK: S_ENDPGM 0234  bb.0:235    successors: %bb.1236 237    renamable $vgpr0 = BUFFER_LOAD_FORMAT_X_IDXEN killed renamable $vgpr0, renamable $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec238    S_BRANCH %bb.1239 240  bb.1:241    successors: %bb.1, %bb.2242 243    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 $exec244    S_CMP_LG_U32 killed renamable $sgpr3, renamable $sgpr4, implicit-def $scc245    S_CBRANCH_SCC1 %bb.1, implicit killed $scc246    S_BRANCH %bb.2247 248  bb.2:249    S_ENDPGM 0250...251 252---253name:            image_store254body:             |255  bb.0:256  ; CHECK-LABEL: name: image_store257  ; CHECK-NOT: S_SENDMSG 3258  ; CHECK-NOT: S_ALLOC_VGPR259  ; CHECK: S_ENDPGM 0260  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)261  S_ENDPGM 0262...263 264---265name:            scratch_store266body:             |267  bb.0:268    ; CHECK-LABEL: name: scratch_store269    ; CHECK-NOT: S_SENDMSG 3270    ; CHECK-NOT: S_ALLOC_VGPR271    ; CHECK: S_ENDPGM 0272    renamable $sgpr0 = S_AND_B32 killed renamable $sgpr0, -16, implicit-def dead $scc273    SCRATCH_STORE_DWORD_SADDR killed renamable $vgpr0, killed renamable $sgpr0, 0, 0, implicit $exec, implicit $flat_scr274    S_ENDPGM 0275...276 277---278name:            buffer_atomic279body:             |280  bb.0:281    ; CHECK-LABEL: name: buffer_atomic282    ; CHECK-NOT: S_SENDMSG 3283    ; CHECK-NOT: S_ALLOC_VGPR284    ; CHECK: S_ENDPGM 0285    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)286    S_ENDPGM 0287...288 289---290name:            flat_atomic291body:             |292  bb.0:293    ; CHECK-LABEL: name: flat_atomic294    ; CHECK-NOT: S_SENDMSG 3295    ; CHECK-NOT: S_ALLOC_VGPR296    ; CHECK: S_ENDPGM 0297    renamable $vgpr0_vgpr1 = FLAT_ATOMIC_DEC_X2_RTN killed renamable $vgpr0_vgpr1, killed renamable $vgpr2_vgpr3, 40, 1, implicit $exec, implicit $flat_scr298    S_ENDPGM 0299...300 301 302---303name:            global_atomic304body:             |305  bb.0:306    ; CHECK-LABEL: name: global_atomic307    ; CHECK-NOT: S_SENDMSG 3308    ; CHECK-NOT: S_ALLOC_VGPR309    ; CHECK: S_ENDPGM 0310    renamable $vgpr0_vgpr1 = GLOBAL_ATOMIC_INC_X2_SADDR_RTN killed renamable $vgpr0, killed renamable $vgpr1_vgpr2, killed renamable $sgpr0_sgpr1, 40, 1, implicit $exec311    S_ENDPGM 0312...313 314---315name:            image_atomic316body:             |317  bb.0:318    ; CHECK-LABEL: name: image_atomic319    ; CHECK-NOT: S_SENDMSG 3320    ; CHECK-NOT: S_ALLOC_VGPR321    ; CHECK: S_ENDPGM 0322    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)323    S_ENDPGM 0324...325 326---327name:            global_store_optnone328body:             |329  bb.0:330    ; CHECK-LABEL: name: global_store_optnone331    ; CHECK-NOT: S_SENDMSG 3332    ; CHECK-NOT: S_ALLOC_VGPR333    ; CHECK: S_ENDPGM 0334    GLOBAL_STORE_DWORD undef renamable $vgpr0_vgpr1, killed renamable $vgpr1, 0, 4, implicit $exec335    S_WAIT_STORECNT 0336    S_ENDPGM 0337...338