[PATCH] D50432: [DAGCombiner] Reduce load widths of shifted masks
Francois Pichet via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 14 08:04:13 PST 2019
fpichet added a comment.
For example:
given test.ll:
define dso_local void @swap(i32* %ptr) #0 {
entry:
%0 = load i32, i32* %ptr, align 4
%and = and i32 %0, 65280
%shl = shl i32 %and, 8
store i32 %shl, i32* %ptr, align 4
ret void
}
llc -mtriple=armv7-linux-gnu < test.ll
will give:
ldrb r1, [r0, #1]
lsl r1, r1, #8 // 8
str r1, [r0]
bx lr
it should be:
ldrb r1, [r0, #1]
lsl r1, r1, #16 // 16
str r1, [r0]
bx lr
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D50432/new/
https://reviews.llvm.org/D50432
More information about the llvm-commits
mailing list