75 lines · plain
1; RUN: llc -mtriple=amdgcn -stop-after=amdgpu-isel < %s | FileCheck -check-prefix=GCN %s2; RUN: llc -mtriple=amdgcn -enable-new-pm -stop-after=amdgpu-isel < %s | FileCheck -check-prefix=GCN %s3 4; GCN-LABEL: name: uniform_imin5; GCN: S_MIN_I326define amdgpu_kernel void @uniform_imin(ptr addrspace(1) %out, i32 %a, i32 %b) #0 {7 %cmp = icmp sle i32 %a, %b8 %val = select i1 %cmp, i32 %a, i32 %b9 store i32 %val, ptr addrspace(1) %out, align 410 ret void11}12 13; GCN-LABEL: name: divergent_imin14; GCN: V_MIN_I32_e6415define void @divergent_imin(ptr addrspace(1) %out, i32 %a, i32 %b) #0 {16 %cmp = icmp sle i32 %a, %b17 %val = select i1 %cmp, i32 %a, i32 %b18 store i32 %val, ptr addrspace(1) %out, align 419 ret void20}21 22; GCN-LABEL: name: uniform_umin23; GCN: S_MIN_U3224define amdgpu_kernel void @uniform_umin(ptr addrspace(1) %out, i32 %a, i32 %b) #0 {25 %tmp = icmp ule i32 %a, %b26 %val = select i1 %tmp, i32 %a, i32 %b27 store i32 %val, ptr addrspace(1) %out, align 828 ret void29}30 31; GCN-LABEL: name: divergent_umin32; GCN: V_MIN_U32_e6433define void @divergent_umin(ptr addrspace(1) %out, i32 %a, i32 %b) #0 {34 %tmp = icmp ule i32 %a, %b35 %val = select i1 %tmp, i32 %a, i32 %b36 store i32 %val, ptr addrspace(1) %out, align 837 ret void38}39 40; GCN-LABEL: name: uniform_imax41; GCN: S_MAX_I3242define amdgpu_kernel void @uniform_imax(ptr addrspace(1) %out, i32 %a, i32 %b) nounwind {43 %cmp = icmp sge i32 %a, %b44 %val = select i1 %cmp, i32 %a, i32 %b45 store i32 %val, ptr addrspace(1) %out, align 446 ret void47}48 49; GCN-LABEL: name: divergent_imax50; GCN: V_MAX_I32_e6451define void @divergent_imax(ptr addrspace(1) %out, i32 %a, i32 %b) nounwind {52 %cmp = icmp sge i32 %a, %b53 %val = select i1 %cmp, i32 %a, i32 %b54 store i32 %val, ptr addrspace(1) %out, align 455 ret void56}57 58; GCN-LABEL: name: uniform_umax59; GCN: S_MAX_U3260define amdgpu_kernel void @uniform_umax(ptr addrspace(1) %out, i32 %a, i32 %b) nounwind {61 %cmp = icmp uge i32 %a, %b62 %val = select i1 %cmp, i32 %a, i32 %b63 store i32 %val, ptr addrspace(1) %out, align 464 ret void65}66 67; GCN-LABEL: name: divergent_umax68; GCN: V_MAX_U32_e6469define void @divergent_umax(ptr addrspace(1) %out, i32 %a, i32 %b) nounwind {70 %cmp = icmp uge i32 %a, %b71 %val = select i1 %cmp, i32 %a, i32 %b72 store i32 %val, ptr addrspace(1) %out, align 473 ret void74}75