OSDN Git Service

[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)
commit5e6f26e62b028fdcde5c7c4d7bf2a6c616c60754
treeabc312671980663cb6c1cbdf9a26ef8b3eb1e4cf
parent477a7cd43583aa11f51daa1f4605cc14c3f5a99f
[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362470 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrThumb2.td
test/MC/Disassembler/ARM/thumb2-bit-15.txt [new file with mode: 0644]