fix(disasm): name the amd64 families x/arch decodes to the zero opcode

x/arch reports the ADCX, ADOX, RDSEED, RDPID, TPAUSE, UMONITOR, UMWAIT
and ENDBR families with no error but the degenerate zero instruction,
which GoSyntax renders as Op(0) under its prefix decoration and with a
length of one.  A supplementary naming table keyed by the opcode
pattern restores the toolchain's own spellings and lengths; the parity
fixtures pin all 41 corpus rows (ENDBR32 alone, which the toolchain
cannot spell, pins as bytes and text in the focused naming test).

Assisted-by: GLM 5.3 Flash
This commit is contained in:
petrbalvin committed 2026-10-07 02:27:51 +02:00
1 parent 6c4932c4ec
commit dd356b9e6a
4 files changed
+498

No files matched your search

+40
View File
@@ -1188,3 +1188,43 @@ c4e17c77 VZEROALL
c4e17877 VZEROUPPER
0f09 WBINVD
f30faed2 WRFSBASE DX
660f38f613 ADCXL 0(BX), DX
66410f38f613 ADCXL 0(R11), DX
660f38f6d2 ADCXL DX, DX
66410f38f6d3 ADCXL R11, DX
66440f38f61b ADCXL 0(BX), R11
66450f38f61b ADCXL 0(R11), R11
66440f38f6da ADCXL DX, R11
66450f38f6db ADCXL R11, R11
66480f38f613 ADCXQ 0(BX), DX
66490f38f613 ADCXQ 0(R11), DX
66480f38f6d2 ADCXQ DX, DX
66490f38f6d3 ADCXQ R11, DX
664c0f38f61b ADCXQ 0(BX), R11
664d0f38f61b ADCXQ 0(R11), R11
664c0f38f6da ADCXQ DX, R11
664d0f38f6db ADCXQ R11, R11
f30f38f613 ADOXL 0(BX), DX
f3410f38f613 ADOXL 0(R11), DX
f30f38f6d2 ADOXL DX, DX
f3410f38f6d3 ADOXL R11, DX
f3440f38f61b ADOXL 0(BX), R11
f3450f38f61b ADOXL 0(R11), R11
f3440f38f6da ADOXL DX, R11
f3450f38f6db ADOXL R11, R11
f3480f38f613 ADOXQ 0(BX), DX
f3490f38f613 ADOXQ 0(R11), DX
f3480f38f6d2 ADOXQ DX, DX
f3490f38f6d3 ADOXQ R11, DX
f34c0f38f61b ADOXQ 0(BX), R11
f34d0f38f61b ADOXQ 0(R11), R11
f34c0f38f6da ADOXQ DX, R11
f34d0f38f6db ADOXQ R11, R11
660fc7fa RDSEEDW DX
66410fc7fb RDSEEDW R11
f30fc7fa RDPID DX
f3410fc7fb RDPID R11
660faef3 TPAUSE BX
f30faef3 UMONITOR BX
f20faef3 UMWAIT BX
f30f1efa ENDBR64