65 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck %s3; RUN: llc -global-isel=1 -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck %s4 5define amdgpu_kernel void @signal_unknown_wgs() {6; CHECK-LABEL: signal_unknown_wgs:7; CHECK: ; %bb.0:8; CHECK-NEXT: s_barrier_signal -19; CHECK-NEXT: s_endpgm10 tail call void @llvm.amdgcn.s.barrier.signal(i32 -1)11 ret void12}13 14define amdgpu_kernel void @signal_flat_wgs_attr_32_128() #1 {15; CHECK-LABEL: signal_flat_wgs_attr_32_128:16; CHECK: ; %bb.0:17; CHECK-NEXT: s_barrier_signal -118; CHECK-NEXT: s_endpgm19 tail call void @llvm.amdgcn.s.barrier.signal(i32 -1)20 ret void21}22 23define amdgpu_kernel void @signal_flat_wgs_attr_16_32() #2 {24; CHECK-LABEL: signal_flat_wgs_attr_16_32:25; CHECK: ; %bb.0:26; CHECK-NEXT: s_endpgm27 tail call void @llvm.amdgcn.s.barrier.signal(i32 -1)28 ret void29}30 31 32define amdgpu_kernel void @wait_unknown_wgs() {33; CHECK-LABEL: wait_unknown_wgs:34; CHECK: ; %bb.0:35; CHECK-NEXT: s_barrier_wait -136; CHECK-NEXT: s_endpgm37 tail call void @llvm.amdgcn.s.barrier.wait(i16 -1)38 ret void39}40 41define amdgpu_kernel void @wait_flat_wgs_attr_32_128() #1 {42; CHECK-LABEL: wait_flat_wgs_attr_32_128:43; CHECK: ; %bb.0:44; CHECK-NEXT: s_barrier_wait -145; CHECK-NEXT: s_endpgm46 tail call void @llvm.amdgcn.s.barrier.wait(i16 -1)47 ret void48}49 50define amdgpu_kernel void @wait_flat_wgs_attr_16_32() #2 {51; CHECK-LABEL: wait_flat_wgs_attr_16_32:52; CHECK: ; %bb.0:53; CHECK-NEXT: ; wave barrier54; CHECK-NEXT: s_endpgm55 tail call void @llvm.amdgcn.s.barrier.wait(i16 -1)56 ret void57}58 59declare void @llvm.amdgcn.s.barrier.signal(i32 immarg) #060declare void @llvm.amdgcn.s.barrier.wait(i16 immarg) #061 62attributes #0 = { convergent nounwind }63attributes #1 = { nounwind "amdgpu-flat-work-group-size"="32,128" }64attributes #2 = { nounwind "amdgpu-flat-work-group-size"="16,32" }65