[PATCH] D95586: [ARM] permit PC as destination of MOVS
Nick Desaulniers via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 5 14:19:27 PST 2021
nickdesaulniers added a comment.
In D95586#2541475 <https://reviews.llvm.org/D95586#2541475>, @peter.smith wrote:
> FWIW UNPREDICTABLE in the Architecture, is essentially anything can happen. ...
In D95586#2541470 <https://reviews.llvm.org/D95586#2541470>, @DavidSpickett wrote:
> As I understand it, clang is correct to reject `movs pc, r1, lsl r2` as this is unpredictable.
> ...
> There are other lines that encode unpredictable instructions but use the encoding directly to subvert GAS's checks so you could do that:
>
> TEST_UNSUPPORTED(__inst_arm(0xe15c0f1e) " @ cmp r12, r14, asl pc"
>
> No mysterious gap in the tests that way.
I would think that if "essentially anything can happen," then all UNPREDICTABLE tests should be removed from the kernel? Whether they use the instruction mnemonics or open code the instruction/operands in hex.
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