Skip to content

Fix assembly/disassembly for various VFPU opcodes - #22083

Merged
hrydgard merged 1 commit into
hrydgard:masterfrom
tclamb:master
Aug 11, 2026
Merged

hrydgard merged 1 commit into
hrydgard:masterfrom
tclamb:master

Conversation

@tclamb

@tclamb tclamb commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Update armips for VFPU instruction parsing changes (Kingcom/armips#257)

  • fix transposed matrix register encodings (e.g. vmidt.p E220 was assembling to vmidt.p E202)
  • fix immediate size for vwbn.s (is 8 bits, was limited to 5 bits)
  • fix vd register size for vsocp.s/p
  • fix vhtfm2.p and vhtfm3.t encoding
  • add missing instruction vhtfm4.q

Fix v(h)tfmX disassembly (handle irregular vector size encoding)

Fix vsocp.s/p disassembly (vd is double the size of vs)

Identified & verified these changes by running the VFPU binaries pspautotests through a websocket API script asserting assemble(op) == assemble(disassemble(op)).

Update armips for VFPU instruction parsing changes (Kingcom/armips#257)
- fix transposed matrix register encodings (e.g. `vmidt.p E220` was assembling to `vmidt.p E202`)
- fix immediate size for `vwbn.s` (is 8 bits, was limited to 5 bits)
- fix `vd` register size for `vsocp.s/p`
- fix `vhtfm2.p` and `vhtfm3.t` encoding
- add missing instruction `vhtfm4.q`

Fix `v(h)tfmX` disassembly (handle irregular vector size encoding)

Fix `vsocp.s/p` disassembly (`vd` is double the size of `vs`)
@hrydgard
hrydgard merged commit 4bd303d into hrydgard:master Aug 11, 2026
22 checks passed
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.

2 participants