[PATCH] D95885: [ARM] Expand the range of allowed post-incs in load/store optimizer
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 19 05:10:21 PST 2021
mstorsjo added a comment.
Ok, I think I've got it reduced fairly well. Use https://martin.st/temp/vp8-bitstream.c as souce.
Compiled with `clang -target armv7-w64-mingw32 vp8-bitstream.c -S -o bad.s -O2`, I'm getting this diff:
$ diff -u good.s bad.s
@@ -3831,8 +3832,7 @@
pop.w {r4, r5, r6, r7, r8, r9, r10, r11, pc}
.LBB6_246: @ %if.else332
add.w r0, r9, #110592
- add.w r0, r0, #1584
- ldrd r1, r2, [r0]
+ ldrd r1, r2, [r0, #1584]!
mov r0, r6
bl vp8_pack_tokens
.LBB6_247: @ %if.end335
If I try to assemble `bad.s`, I'm getting this error:
bad.s:3835:15: error: invalid operand for instruction
ldrd r1, r2, [r0, #1584]!
^
If compiling directly to an object file, no error is produced.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D95885/new/
https://reviews.llvm.org/D95885
More information about the llvm-commits
mailing list