[ARM] Turn some undefined encoding bits into 0s.
authorSimon Tatham <simon.tatham@arm.com>
Tue, 4 Jun 2019 08:28:48 +0000 (08:28 +0000)
committerSimon Tatham <simon.tatham@arm.com>
Tue, 4 Jun 2019 08:28:48 +0000 (08:28 +0000)
commitac0244552497848ef2a2e6b69565a4bd6daedf74
tree22807f9d81bb39d7138d44808319a1e8b3dad2ea
parent65de43bc8beeab30618baece6f0d95f785672667
[ARM] Turn some undefined encoding bits into 0s.

The family of 32-bit Thumb instruction encodings that include t2ORR,
t2AND and t2EOR are all listed in the ArmARM as having (0) in bit 15.
The Tablegen descriptions of those instructions listed them as ?. This
change tightens that up by making them into 0 + Unpredictable.

In the specific case of t2ORR, we tighten it up still further by
making the zero bit mandatory. This change comes from Arm v8.1-M, in
which encodings with that bit equal to 1 will now be used for
different instructions.

Reviewers: dmgreen, samparker, SjoerdMeijer, efriedma

Reviewed By: dmgreen, efriedma

Subscribers: efriedma, javed.absar, kristof.beyls, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60705

llvm-svn: 362470
llvm/lib/Target/ARM/ARMInstrThumb2.td
llvm/test/MC/Disassembler/ARM/thumb2-bit-15.txt [new file with mode: 0644]