[Libclc-dev] [PATCH] Add vstore_half helpers for ptx

Jeroen Ketema via Libclc-dev libclc-dev at lists.llvm.org
Tue Oct 3 13:04:41 PDT 2017


Hi Jan,

> On 3 Oct 2017, at 21:57, Jan Vesely <jan.vesely at rutgers.edu> wrote:
> 
> On Tue, 2017-10-03 at 20:26 +0200, Jeroen Ketema via Libclc-dev wrote:
>> Index: ptx/lib/SOURCES_4.0
>> ===================================================================
>> --- ptx/lib/SOURCES_4.0	(nonexistent)
>> +++ ptx/lib/SOURCES_4.0	(working copy)
>> @@ -0,0 +1 @@
>> +shared/vstore_half_helpers.ll
>> Index: ptx/lib/SOURCES_5.0
>> ===================================================================
>> --- ptx/lib/SOURCES_5.0	(nonexistent)
>> +++ ptx/lib/SOURCES_5.0	(working copy)
> 
> you probably need SOURCES_3.9 as well.
> or add a comment why it's not needed.

Yes, if we’re supporting that. I don’t know what the current policy/status is?

> 
>> @@ -0,0 +1 @@
>> +shared/vstore_half_helpers.ll
>> Index: ptx/lib/shared/vstore_half_helpers.ll
>> ===================================================================
>> --- ptx/lib/shared/vstore_half_helpers.ll	(nonexistent)
>> +++ ptx/lib/shared/vstore_half_helpers.ll	(working copy)
> 
> can you add datalayout, or would it prevent sharing the file between
> ptx and ptx64?

That would prevent sharing. I wonder if we might come up with some kind of solution
that adds the data layout at configuration or compilation time?

> I assume GENERIC == private and SHARED == local?

Correct.

Thanks for the review,

 Jeroen

> 
> other than that
> Reviewed-by: Jan Vesely <jan.vesely at rutgers.edu <mailto:jan.vesely at rutgers.edu>>
> 
> Jan
> 
>> @@ -0,0 +1,35 @@
>> +define void @__clc_vstore_half_float_helper__private(float %data, half addrspace(0)* nocapture %ptr) nounwind alwaysinline {
>> +  %res = fptrunc float %data to half
>> +  store half %res, half addrspace(0)* %ptr
>> +  ret void
>> +}
>> +
>> +define void @__clc_vstore_half_float_helper__global(float %data, half addrspace(1)* nocapture %ptr) nounwind alwaysinline {
>> +  %res = fptrunc float %data to half
>> +  store half %res, half addrspace(1)* %ptr
>> +  ret void
>> +}
>> +
>> +define void @__clc_vstore_half_float_helper__local(float %data, half addrspace(3)* nocapture %ptr) nounwind alwaysinline {
>> +  %res = fptrunc float %data to half
>> +  store half %res, half addrspace(3)* %ptr
>> +  ret void
>> +}
>> +
>> +define void @__clc_vstore_half_double_helper__private(double %data, half addrspace(0)* nocapture %ptr) nounwind alwaysinline {
>> +  %res = fptrunc double %data to half
>> +  store half %res, half addrspace(0)* %ptr
>> +  ret void
>> +}
>> +
>> +define void @__clc_vstore_half_double_helper__global(double %data, half addrspace(1)* nocapture %ptr) nounwind alwaysinline {
>> +  %res = fptrunc double %data to half
>> +  store half %res, half addrspace(1)* %ptr
>> +  ret void
>> +}
>> +
>> +define void @__clc_vstore_half_double_helper__local(double %data, half addrspace(3)* nocapture %ptr) nounwind alwaysinline {
>> +  %res = fptrunc double %data to half
>> +  store half %res, half addrspace(3)* %ptr
>> +  ret void
>> +}
>> 
>> _______________________________________________
>> Libclc-dev mailing list
>> Libclc-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev
> 
> -- 
> Jan Vesely <jan.vesely at rutgers.edu <mailto:jan.vesely at rutgers.edu>>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libclc-dev/attachments/20171003/7bf173d8/attachment-0001.html>


More information about the Libclc-dev mailing list