Repository navigation
[gpu] MOV: key the immediate form on 0x802 - #76
Merged
Merged
Conversation
nvdisasm decodes 0x802 as MOV R, imm32 while 0x1a02 is the cx[UR] constant-bank form.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 asMOV R1, 0xcafebabe;and the 0x1a02 word asMOV 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
checklist