[AArch64] Emit warning when disassembling unpredictable LDRAA and LDRAB
authorVictor Campos <victor.campos@arm.com>
Wed, 24 Jun 2020 13:25:29 +0000 (14:25 +0100)
committerVictor Campos <victor.campos@arm.com>
Thu, 25 Jun 2020 14:56:36 +0000 (15:56 +0100)
commitda852b03b009141b1deda8c4bda83149d64e7666
tree45acb5192dcf11e6196a3ec54da6f51c8972b955
parent6c67ee0f58323fe39db84635ef8cea629c2214b4
[AArch64] Emit warning when disassembling unpredictable LDRAA and LDRAB

Summary:
LDRAA and LDRAB in their writeback variant should softfail when the same
register is used as result and base.

This patch adds a custom decoder that catches such case and emits a
warning when it occurs.

Differential Revision: https://reviews.llvm.org/D82541
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
llvm/test/MC/Disassembler/AArch64/armv8.3a-signed-pointer.txt