Skip to content

[gpu] MOV: key the immediate form on 0x802 - #76

Merged
0xNikilite merged 6 commits into
0xNikilite:mainfrom
jopdorp:gpu/mov-immediate-key
Oct 29, 2026
Merged

0xNikilite merged 6 commits into
0xNikilite:mainfrom
jopdorp:gpu/mov-immediate-key

Conversation

@jopdorp

@jopdorp jopdorp commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

description

Stacked on #70. The immediate MOV from #64 is keyed on 0x1a02, but that is the mov__RCx class, a constant bank read through a uniform register. The immediate class mov__RI is 0x802. So the handler never saw a real immediate and would have treated cx[UR] loads as immediates. This moves the branch to 0x802 and leaves 0x1a02 unimplemented.

Verified: nvdisasm (--binary SM86) decodes the 0x802 word as MOV R1, 0xcafebabe; and the 0x1a02 word as MOV R1, cx[UR62][0xfae8];, matching CLASS mov__RI and mov__RCx in scripts/sm_86_instructions.txt. The dispatcher already routes 0x802 to mov (it also has an unreachable MOV32I branch on the same key at sm86_decoder_generated.rs:1722, left alone here). The cx[UR] form is still todo and nothing is executed on a GPU yet.

type of change

  • Bug fix
  • New feature
  • Breaking change
  • Requires a documentation update

checklist

  • Tested locally
  • Code follows project style
  • Documentation updated (if needed)
  • Tests added/updated (if needed)

@0xNikilite
0xNikilite merged commit 6573af3 into 0xNikilite:main Oct 29, 2026
9 of 10 checks passed
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.

2 participants