[PATCH] D95586: [ARM] permit PC as destination of MOVS
Nick Desaulniers via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 3 11:44:04 PST 2021
nickdesaulniers added a comment.
Sorry, it's still not clear to me what I should do to proceed.
The kernel has the following block of code:
167 /* Data-processing with PC as a target and status registers updated */
168 TEST_UNSUPPORTED("movs pc, r1")
169 TEST_UNSUPPORTED("movs pc, r1, lsl r2")
^ this line fails with clang's integrated assembler.
170 TEST_UNSUPPORTED("movs pc, #0x10000")
171 TEST_UNSUPPORTED("adds pc, lr, r1")
172 TEST_UNSUPPORTED("adds pc, lr, r1, lsl r2")
173 TEST_UNSUPPORTED("adds pc, lr, #4")
I think it might seem silly to kernel reviewers if I send them a patch that removes `movs pc, r1, lsl r2` when there's a `movs pc, r1` right above it that's accepted.
If I should send a kernel patch, how should I justify it?
If we should support this form of this instruction with these operands, how should I proceed on this patch?
This is literally the last thing blocking me from building a 32b ARM "allyesconfig" Linux kernel with Clang's integrated assembler, which I would like to ship in the next release of Android. (THUMB2 has it's own issues, but is not part of "allyesconfig.") I have about 2 months until we begin to lock down the toolchain release for that version of Android.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D95586/new/
https://reviews.llvm.org/D95586
More information about the llvm-commits
mailing list