[LLVMdev] Gather load in LLVM IR

Nicholas Chapman admin at indigorenderer.com
Tue Jan 21 13:54:07 PST 2014


Hi Evan, all,
The most obvious thing to me would be to extend the load instruction to 
have an additional form that takes a vector of pointers instead of a 
single pointer.
This form would return a vector of values instead of a single value.
If a gather instruction is not available on the target, then the load 
could be lowered to a series of scalar loads and insertelements.

Thanks,
     Nick

On 20/01/2014 5:59 p.m., Evan Cheng wrote:
> On Jan 14, 2014, at 11:11 AM, Nicholas Chapman <admin at indigorenderer.com> wrote:
>
>> Hi All,
>> I was in the process of implementing a gathering load for my language.  I got the getelementptr vector form working.  However there doesn't seem to be a way to load a vector of values using the vector of pointers from getelementptr.  Am I correct that this is not possible with LLVM IR currently (apart from with the avx2 gather intrinsic)?
> I believe you are correct. This is not currently possible.
>
>> And if so, are there plans to allow loading of a vector of values?
>>
>> I think extending the load instruction to take a vector of pointers (as would be produced by getelementptr) would work well.
> This is of interests to a lot of people and I think it's a reasonable time to start the discussion. Do you have any concrete proposal in mind?
>
> Evan
>
>> Thanks,
>>     Nick C.
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list