[PATCH][ARM64] Fix "Cannot select" for vector ctpop
Quentin Colombet
qcolombet at apple.com
Wed Apr 16 17:45:16 PDT 2014
Hi Adam,
LGTM.
Thanks,
-Quentin
On Apr 16, 2014, at 3:27 PM, Adam Nemet <anemet at apple.com> wrote:
> The commit of r205855:
>
> Author: Arnold Schwaighofer <aschwaighofer at apple.com>
> Date: Wed Apr 9 14:20:47 2014 +0000
>
> SLPVectorizer: Only vectorize intrinsics whose operands are widened equally
>
> The vectorizer only knows how to vectorize intrinics by widening all operands by
> the same factor.
>
> Patch by Tyler Nowicki!
>
> exposed a backend bug causing a regression (Cannot select ctpop).
>
> The commit msg is a bit confusing because the patch actually changes the
> behavior for the loop-vectorizer as well. As things got refactored into a
> helper ctpop got snuck in to the trivially-vectorizable helper which is now
> used by both vectorizers. In other words, we started seeing vector-ctpops in
> the backend.
>
> This change makes ctpop LegalizeAction::Expand for the types not supported by
> the byte-only CNT instruction. We may be able to custom-lower these later to
> a single CNT but this is to fix the compiler crash first.
>
> Fixes <rdar://problem/16578951>
>
> Adam
>
> <ARM64-Fix-Cannot-select-for-vector-ctpop.patch>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140416/705813c1/attachment.html>
More information about the llvm-commits
mailing list