[PATCH] D60705: [ARM] Turn some undefined encoding bits into 0s.
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 3 15:24:37 PDT 2019
efriedma accepted this revision.
efriedma added a comment.
This revision is now accepted and ready to land.
LGTM
================
Comment at: llvm/lib/Target/ARM/ARMInstrThumb2.td:895
let Inst{19-16} = 0b1111; // Rn
+ let Inst{15} = 0b0;
let Inst{5-4} = opcod;
----------------
simon_tatham wrote:
> efriedma wrote:
> > Can you use Unpredictable here?
> No – this encoding is a subset of the ORR encoding, which is the one that v8.1-M has tightened up to make the 0 bit mandatory. If I turn this into a softfail, then the v8.1-M conditional select instructions added by D62667 will be mis-decoded as unpredictable variants of move or shift instructions.
Oh, I didn't realize the encodings worked that way. Makes sense.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60705/new/
https://reviews.llvm.org/D60705
More information about the llvm-commits
mailing list