Skip to content

Conversation

s-barannikov
Copy link
Contributor

No description provided.

Copy link
Contributor Author

s-barannikov commented Sep 2, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch from 8b97be9 to 8e6e8dd Compare September 2, 2025 21:49
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-6-aarch64-rest branch from 46fc93b to ee67c36 Compare September 3, 2025 19:51
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch from 8e6e8dd to a4b0131 Compare September 3, 2025 19:51
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-6-aarch64-rest branch from ee67c36 to 9709854 Compare September 3, 2025 20:17
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch from a4b0131 to 611d87c Compare September 3, 2025 20:17
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-6-aarch64-rest branch from 9709854 to aa97c88 Compare September 4, 2025 13:37
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch from 611d87c to 6029b96 Compare September 4, 2025 13:37
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-6-aarch64-rest branch from aa97c88 to f31a7b8 Compare September 4, 2025 14:14
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch 2 times, most recently from 408cfbc to b06dce1 Compare September 4, 2025 14:59
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-6-aarch64-rest branch from f31a7b8 to 5f3f11d Compare September 4, 2025 14:59
@s-barannikov s-barannikov changed the base branch from users/s.barannikov/decoder-operands-6-aarch64-rest to main September 4, 2025 15:36
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch from b06dce1 to b45bd86 Compare September 4, 2025 15:36
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch from b45bd86 to 204f13a Compare September 9, 2025 16:18
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch from 204f13a to 67bdfe0 Compare September 19, 2025 17:01
s-barannikov added a commit that referenced this pull request Sep 19, 2025
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.
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch 2 times, most recently from ea21c47 to 23f77e4 Compare September 21, 2025 05:08
Copy link

github-actions bot commented Sep 21, 2025

✅ With the latest revision this PR passed the C/C++ code formatter.

@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch 2 times, most recently from 0aa1f38 to 9853907 Compare September 21, 2025 19:54
s-barannikov added a commit that referenced this pull request Sep 23, 2025
The operand can be decoded automatically, without the need for
post-decoding instruction modification.
Part of #156540.
s-barannikov added a commit that referenced this pull request Oct 4, 2025
Make the operands auto-decodable by adding `bits<0>` fields to
instructions.

Now we try to decode a vpred_n/vpred_r operand only if the instruction
being decoded has one.
We still need post-decoding pass to check/advance VPT state.

Part of #156540.
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch from 9853907 to c32bc56 Compare October 4, 2025 21:20
@s-barannikov s-barannikov force-pushed the users/s.barannikov/decoder-operands-7-arm branch from c32bc56 to 91d92fe Compare October 4, 2025 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant