1 # RUN: llc -mtriple=amdgcn -mcpu=gfx902 -mattr=+xnack -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefixes=GCN,XNACK,GFX9 %s
2 # RUN: llc -mtriple=amdgcn -mcpu=gfx900 -mattr=-xnack -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefixes=GCN,NOXNACK,GFX9 %s
3 # RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize64,-xnack -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefixes=GCN,NOXNACK %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
18 $sgpr14_sgpr15 = S_LOAD_DWORDX2_IMM $sgpr10_sgpr11, 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 $mode, implicit $m0, implicit $exec
40 # GCN-LABEL: name: vmem_vcc_hazard_ignore_bundle_instr
41 # GCN: S_LOAD_DWORDX2_IMM
44 # GCN: BUFFER_LOAD_DWORD_OFFEN
46 name: vmem_vcc_hazard_ignore_bundle_instr
49 $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF
51 BUNDLE implicit-def $vgpr1, implicit $vgpr0, implicit $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec {
52 $vgpr1 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec
54 BUNDLE implicit-def $sgpr0_sgpr1, implicit $sgpr10_sgpr11 {
55 $sgpr0_sgpr1 = S_LOAD_DWORDX2_IMM $sgpr10_sgpr11, 0, 0
57 $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $vcc_lo, 0, 0, 0, implicit $exec
61 # GCN-LABEL: name: vmem_vcc_min_of_two_after_bundle
64 # GCN-NEXT: BUFFER_LOAD_DWORD_OFFEN
66 name: vmem_vcc_min_of_two_after_bundle
71 BUNDLE implicit-def $vgpr1, implicit $vgpr0 {
72 $sgpr0_sgpr1_sgpr2_sgpr3 = IMPLICIT_DEF
74 $vgpr1 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec
82 BUNDLE implicit-def $vgpr1, implicit $vgpr0 {
83 $vgpr1 = V_ADDC_U32_e32 $vgpr0, $vgpr0, implicit-def $vcc, implicit $vcc, implicit $exec
87 $vgpr1 = BUFFER_LOAD_DWORD_OFFEN $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, $vcc_lo, 0, 0, 0, implicit $exec