This patch addresses PR27824: https://llvm.org/bugs/show_bug.cgi?id=27824
On AArch64 the i16 type is not legal type, so we end up with IR like what is included in the test cases.
Please take a look,
Chad
Paths
| Differential D20591
[InstCombine] Catch more bswap cases missed due to zext and truncs. ClosedPublic Authored by mcrosier on May 24 2016, 12:35 PM.
Details
Summary This patch addresses PR27824: https://llvm.org/bugs/show_bug.cgi?id=27824 On AArch64 the i16 type is not legal type, so we end up with IR like what is included in the test cases. Please take a look,
Diff Detail Event Timeline
This revision is now accepted and ready to land.May 26 2016, 2:52 AM
Revision Contents
Diff 58287 lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
lib/Transforms/Utils/Local.cpp
test/Transforms/InstCombine/bswap.ll
|
Shouldn't this be an i32 lshr of %conv and the second zext below deleted if you want the IR to look like it would for a target without i16 as a legal type?