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
|
|
}
|