Skip to content

alpha: remove spurious R28 writes from memory instructions - #3034

Open
atirna wants to merge 2 commits into
capstone-engine:nextfrom
atirna:agent/capstone-3027-alpha-register-usage
Open

alpha: remove spurious R28 writes from memory instructions#3034
atirna wants to merge 2 commits into
capstone-engine:nextfrom
atirna:agent/capstone-3027-alpha-register-usage

Conversation

@atirna

@atirna atirna commented Aug 15, 2026

Copy link
Copy Markdown

Your checklist for this pull request

  • I've documented or updated the documentation of every API function and struct this PR changes.
  • I've added tests that prove my fix is effective or that my feature works (if possible)

Detailed description

Alpha memory-format instructions inherit R28 from LLVM as a compiler scratch-register reservation, but the encoded instructions do not implicitly write R28. I removed that generated write metadata through the existing Alpha auto-sync patch path and updated the architecture-specific and common detail expectations for both endian modes.

Test plan

  • cstest tests/details/alpha.yaml (2 test cases, 8 decoded instructions)
  • cstest tests/details/cs_common_details.yaml (49 test cases, 334 decoded instructions)
  • cstest tests/details (1,104 passed, 2 skipped, 2,554 decoded instructions)
  • cstool -d alpha 0200bb27507abd23d0ffde2300005eb7
  • cstool -d alphabe 27bb000223bd7a5023deffd0b75e0000

The CLI now reports only the architectural destination registers for the loads and no modified register for stq.

Closing issues

Closes #3027

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

alpha: Incorrect register usage in details

1 participant