[LLVMdev] vselect on ARM/NEON

Nadav Rotem nrotem at apple.com
Thu Oct 11 11:48:37 PDT 2012


If you mark VSELECT as 'expand' then it will be expanded to a sequence of AND/OR/XOR, which is pretty efficient (found in LegalizeVectorOps.cpp ExpandVSELECT).


On Oct 11, 2012, at 11:05 AM, Jim Grosbach <grosbach at apple.com> wrote:

> Seems reasonable to me. Plain 'SELECT' is already marked expand for vector types. I bet that just didn't get updates when VSELECT was introduced.
> 
> -Jim
> 
> On Oct 11, 2012, at 10:25 AM, Peter Couperus <peter.couperus at st.com> wrote:
> 
>> Hello,
>> 
>> We've run into a couple of cases where we'd like to use select on vector types, but vselect handling is absent from the ARM backend.
>> Would there be any potential harm by marking VSELECT as Expand on ARM targets with NEON?
>> Adding this seems to fix the following PR's:
>> 
>> http://llvm.org/bugs/show_bug.cgi?id=13831
>> http://llvm.org/bugs/show_bug.cgi?id=13961
>> 
>> Thanks!
>> 
>> Pete
>> 
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 
> _______________________________________________
> 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