1 # RUN: llc -march=amdgcn -mcpu=gfx902 -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefixes=GCN,XNACK,GCX9 %s
2 # RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefixes=GCN,NOXNACK,GFX9 %s
3 # RUN: llc -march=amdgcn -mcpu=gfx1010 -mattr=-WavefrontSize32,+WavefrontSize64 -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefixes=GCN,NOXNACK,GFX10 %s
5 # GCN-LABEL: name: break_smem_clause_simple_load_smrd8_ptr_hidden_bundle
10 # GCN: S_LOAD_DWORDX2_IMM
12 name: break_smem_clause_simple_load_smrd8_ptr_hidden_bundle
15 BUNDLE implicit-def $sgpr6_sgpr7 {
16 $sgpr10_sgpr11 = S_LOAD_DWORDX2_IMM $sgpr12_sgpr13, 0, 0, 0
18 $sgpr14_sgpr15 = S_LOAD_DWORDX2_IMM $sgpr10_sgpr11, 0, 0, 0
22 # GFX9-LABEL: name: hazard_precedes_bundle
28 name: hazard_precedes_bundle
31 $m0 = S_MOV_B32 $sgpr7
32 S_SENDMSG 3, implicit $exec, implicit $m0
33 $m0 = S_MOV_B32 $sgpr8
34 BUNDLE implicit-def $vgpr0 {
35 $vgpr0 = V_INTERP_P1_F32 killed $vgpr4, 0, 0, implicit $m0, implicit $exec
40 # GCN-LABEL: name: vmem_vcc_hazard_ignore_bundle_instr
41 # GCN: S_LOAD_DWORDX2_IMM
47 # GCN: BUFFER_LOAD_DWORD_OFFEN
49 name: vmem_vcc_hazard_ignore_bundle_instr
52 $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF
54 BUNDLE implicit-def $vgpr1, implicit $vgpr0, implicit $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec {
55 $vgpr1 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec
57 BUNDLE implicit-def $sgpr0_sgpr1, implicit $sgpr10_sgpr11 {
58 $sgpr0_sgpr1 = S_LOAD_DWORDX2_IMM $sgpr10_sgpr11, 0, 0, 0
60 $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $vcc_lo, 0, 0, 0, 0, 0, 0, implicit $exec
64 # GCN-LABEL: name: vmem_vcc_min_of_two_after_bundle
71 # GCN-NEXT: BUFFER_LOAD_DWORD_OFFEN
73 name: vmem_vcc_min_of_two_after_bundle
78 BUNDLE implicit-def $vgpr1, implicit $vgpr0 {
79 $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF
81 $vgpr1 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec
89 BUNDLE implicit-def $vgpr1, implicit $vgpr0 {
90 $vgpr1 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec
94 $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $vcc_lo, 0, 0, 0, 0, 0, 0, implicit $exec