blob: 9309fd0f5c15f398c984c1d739c51e6323ce1d2d [file] [edit]
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1250 < %s | FileCheck -check-prefixes=GFX12,GFX12-SDAG %s
; RUN: llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1250 < %s | FileCheck -check-prefixes=GFX12,GFX12-ISEL %s
define amdgpu_kernel void @kernel1() #0 {
; GFX12-LABEL: kernel1:
; GFX12: ; %bb.0:
; GFX12-NEXT: s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1
; GFX12-NEXT: s_cmp_eq_u32 0, 0
; GFX12-NEXT: s_barrier_signal_isfirst -1
; GFX12-NEXT: s_barrier_wait -1
; GFX12-NEXT: s_cselect_b32 s0, -1, 0
; GFX12-NEXT: s_delay_alu instid0(SALU_CYCLE_1)
; GFX12-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s0
; GFX12-NEXT: s_cbranch_vccnz .LBB0_2
; GFX12-NEXT: ; %bb.1:
; GFX12-NEXT: s_barrier_signal -3
; GFX12-NEXT: .LBB0_2:
; GFX12-NEXT: s_barrier_wait -3
; GFX12-NEXT: s_get_barrier_state s0, -3
; GFX12-NEXT: s_endpgm
call void @llvm.amdgcn.s.cluster.barrier()
%state3 = call i32 @llvm.amdgcn.s.get.barrier.state(i32 -3)
ret void
}
declare void @llvm.amdgcn.s.cluster.barrier() #1
declare i32 @llvm.amdgcn.s.get.barrier.state(i32) #1
attributes #0 = { nounwind }
attributes #1 = { convergent nounwind }
attributes #2 = { nounwind readnone }
;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
; GFX12-ISEL: {{.*}}
; GFX12-SDAG: {{.*}}