diff options
| author | Adam Nemet <anemet@apple.com> | 2014-04-17 01:01:37 +0000 | 
|---|---|---|
| committer | Adam Nemet <anemet@apple.com> | 2014-04-17 01:01:37 +0000 | 
| commit | 287f989dde900b6f3b36328980242e040e6a7582 (patch) | |
| tree | 7c34cfffeb6cb9eb9143aa3862685872b7cd4384 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
| parent | 08587f8ccd85d58505e58890c291eacdf4a263e0 (diff) | |
| download | llvm-287f989dde900b6f3b36328980242e040e6a7582.zip llvm-287f989dde900b6f3b36328980242e040e6a7582.tar.gz llvm-287f989dde900b6f3b36328980242e040e6a7582.tar.bz2 | |
[ARM64] Fix "Cannot select" for vector ctpop
The commit of r205855:
Author: Arnold Schwaighofer <aschwaighofer@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>
llvm-svn: 206433
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions
