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