[PATCH] D60705: [ARM] Turn some undefined encoding bits into 0s.

Simon Tatham via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 3 01:47:27 PDT 2019


simon_tatham marked 2 inline comments as done.
simon_tatham added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMInstrThumb2.td:895
      let Inst{19-16} = 0b1111; // Rn
+     let Inst{15}    = 0b0;
      let Inst{5-4} = opcod;
----------------
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.


================
Comment at: llvm/lib/Target/ARM/ARMInstrThumb2.td:1889
   let Inst{19-16} = 0b1111; // Rn
+  let Inst{15} = 0b0;
   let Inst{14-12} = 0b000;
----------------
efriedma wrote:
> Can you use Unpredictable here?
No – same reason as above.


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