mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-28 20:46:06 +00:00

v2: add vload(half) as well make helpers amdgpu specific (NVPTX uses different private AS numbering) use clang builtin on clang >= 6 Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <tstellar@redhat.com> llvm-svn: 312839
24 lines
845 B
LLVM
24 lines
845 B
LLVM
define float @__clc_vload_half_float_helper__private(half addrspace(0)* nocapture %ptr) nounwind alwaysinline {
|
|
%data = load half, half addrspace(0)* %ptr
|
|
%res = fpext half %data to float
|
|
ret float %res
|
|
}
|
|
|
|
define float @__clc_vload_half_float_helper__global(half addrspace(1)* nocapture %ptr) nounwind alwaysinline {
|
|
%data = load half, half addrspace(1)* %ptr
|
|
%res = fpext half %data to float
|
|
ret float %res
|
|
}
|
|
|
|
define float @__clc_vload_half_float_helper__local(half addrspace(3)* nocapture %ptr) nounwind alwaysinline {
|
|
%data = load half, half addrspace(3)* %ptr
|
|
%res = fpext half %data to float
|
|
ret float %res
|
|
}
|
|
|
|
define float @__clc_vload_half_float_helper__constant(half addrspace(2)* nocapture %ptr) nounwind alwaysinline {
|
|
%data = load half, half addrspace(2)* %ptr
|
|
%res = fpext half %data to float
|
|
ret float %res
|
|
}
|