[all-commits] [llvm/llvm-project] 4cace1: [ARM] Verify that disassembled instruction is corr...
Sergei Barannikov via All-commits
all-commits at lists.llvm.org
Fri Sep 19 10:38:14 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4cace1ff0f9a144de9f46f4521d140080e4e284d
https://github.com/llvm/llvm-project/commit/4cace1ff0f9a144de9f46f4521d140080e4e284d
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/test/MC/Disassembler/ARM/arm-tests.txt
Log Message:
-----------
[ARM] Verify that disassembled instruction is correct (#157360)
This change adds basic `MCInst` verification (checks the number of
operands) and fixes detected bugs.
* `RFE*` instructions have only one operand, but `DecodeRFEInstruction`
added two.
* `DecodeMVEModImmInstruction` and `DecodeMVEVCMP` added a `vpred`
operand, but this is what `AddThumbPredicate` normally does. This
resulted in an extra `vpred` operand.
* `DecodeMVEVADCInstruction` added an extra immediate operand.
* `getARMInstruction` added a `pred` operand to instructions that don't
have one (via `DecodePredicateOperand`).
* `AddThumb1SBit` appended an extra register operand to instructions
that don't modify CPSR (such as `tBL`).
* Instructions in `NEONDup` namespace have `pred` operand that the
generated code successfully decodes. The operand was added once again by
`getARMInstruction`/`getThumbInstruction` via `AddThumbPredicate`.
Functional changes extracted from #156540.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list