feat(disasm): name the amd64 encodings x86asm refuses

The toolchain's assembler corpus carries 195 amd64 encodings the
x/arch decoder rejects or degenerates: the BMI1/BMI2 VEX families
(ANDN, BEXTR, BLSI, BLSMSK, BLSR, BZHI, MULX, PDEP, PEXT, RORX,
SARX, SHLX, SHRX), the 0F 01 quartet CLAC, STAC, RDPKRU and WRPKRU,
the bare and REX-only RDSEED forms, and UD1.  The supplementary
naming table decodes the VEX prefix and the ModR/M shape and renders
the toolchain's own spellings; every corpus row is pinned in the
unlisted fixture and round-trips byte for byte through the encoder,
and the boundary test pins the prefix shapes no family carries.

Assisted-by: GLM 5.3
This commit is contained in:
petrbalvin committed 2026-10-07 13:49:58 +02:00
1 parent d98aadbbbf
commit 2c70359ad0
3 files changed
+419 -16

No files matched your search

+195
View File
@@ -1229,3 +1229,198 @@ f30faef3 UMONITOR BX
f20faef3 UMWAIT BX
f30f1efa ENDBR64
0f1c03 CLDEMOTE 0(BX)
c4e230f213 ANDNL 0(BX), R9, DX
c4c230f213 ANDNL 0(R11), R9, DX
c4e230f2d2 ANDNL DX, R9, DX
c4c230f2d3 ANDNL R11, R9, DX
c46230f21b ANDNL 0(BX), R9, R11
c44230f21b ANDNL 0(R11), R9, R11
c46230f2da ANDNL DX, R9, R11
c44230f2db ANDNL R11, R9, R11
c4e288f213 ANDNQ 0(BX), R14, DX
c4c288f213 ANDNQ 0(R11), R14, DX
c4e288f2d2 ANDNQ DX, R14, DX
c4c288f2d3 ANDNQ R11, R14, DX
c46288f21b ANDNQ 0(BX), R14, R11
c44288f21b ANDNQ 0(R11), R14, R11
c46288f2da ANDNQ DX, R14, R11
c44288f2db ANDNQ R11, R14, R11
c4e230f713 BEXTRL R9, 0(BX), DX
c4c230f713 BEXTRL R9, 0(R11), DX
c4e230f7d2 BEXTRL R9, DX, DX
c4c230f7d3 BEXTRL R9, R11, DX
c46230f71b BEXTRL R9, 0(BX), R11
c44230f71b BEXTRL R9, 0(R11), R11
c46230f7da BEXTRL R9, DX, R11
c44230f7db BEXTRL R9, R11, R11
c4e288f713 BEXTRQ R14, 0(BX), DX
c4c288f713 BEXTRQ R14, 0(R11), DX
c4e288f7d2 BEXTRQ R14, DX, DX
c4c288f7d3 BEXTRQ R14, R11, DX
c46288f71b BEXTRQ R14, 0(BX), R11
c44288f71b BEXTRQ R14, 0(R11), R11
c46288f7da BEXTRQ R14, DX, R11
c44288f7db BEXTRQ R14, R11, R11
c4e230f31b BLSIL 0(BX), R9
c4c230f31b BLSIL 0(R11), R9
c4e230f3da BLSIL DX, R9
c4c230f3db BLSIL R11, R9
c4e288f31b BLSIQ 0(BX), R14
c4c288f31b BLSIQ 0(R11), R14
c4e288f3da BLSIQ DX, R14
c4c288f3db BLSIQ R11, R14
c4e230f313 BLSMSKL 0(BX), R9
c4c230f313 BLSMSKL 0(R11), R9
c4e230f3d2 BLSMSKL DX, R9
c4c230f3d3 BLSMSKL R11, R9
c4e288f313 BLSMSKQ 0(BX), R14
c4c288f313 BLSMSKQ 0(R11), R14
c4e288f3d2 BLSMSKQ DX, R14
c4c288f3d3 BLSMSKQ R11, R14
c4e230f30b BLSRL 0(BX), R9
c4c230f30b BLSRL 0(R11), R9
c4e230f3ca BLSRL DX, R9
c4c230f3cb BLSRL R11, R9
c4e288f30b BLSRQ 0(BX), R14
c4c288f30b BLSRQ 0(R11), R14
c4e288f3ca BLSRQ DX, R14
c4c288f3cb BLSRQ R11, R14
c4e230f513 BZHIL R9, 0(BX), DX
c4c230f513 BZHIL R9, 0(R11), DX
c4e230f5d2 BZHIL R9, DX, DX
c4c230f5d3 BZHIL R9, R11, DX
c46230f51b BZHIL R9, 0(BX), R11
c44230f51b BZHIL R9, 0(R11), R11
c46230f5da BZHIL R9, DX, R11
c44230f5db BZHIL R9, R11, R11
c4e288f513 BZHIQ R14, 0(BX), DX
c4c288f513 BZHIQ R14, 0(R11), DX
c4e288f5d2 BZHIQ R14, DX, DX
c4c288f5d3 BZHIQ R14, R11, DX
c46288f51b BZHIQ R14, 0(BX), R11
c44288f51b BZHIQ R14, 0(R11), R11
c46288f5da BZHIQ R14, DX, R11
c44288f5db BZHIQ R14, R11, R11
0f01ca CLAC
c4e233f613 MULXL 0(BX), R9, DX
c4c233f613 MULXL 0(R11), R9, DX
c4e233f6d2 MULXL DX, R9, DX
c4c233f6d3 MULXL R11, R9, DX
c46233f61b MULXL 0(BX), R9, R11
c44233f61b MULXL 0(R11), R9, R11
c46233f6da MULXL DX, R9, R11
c44233f6db MULXL R11, R9, R11
c4e28bf613 MULXQ 0(BX), R14, DX
c4c28bf613 MULXQ 0(R11), R14, DX
c4e28bf6d2 MULXQ DX, R14, DX
c4c28bf6d3 MULXQ R11, R14, DX
c4628bf61b MULXQ 0(BX), R14, R11
c4428bf61b MULXQ 0(R11), R14, R11
c4628bf6da MULXQ DX, R14, R11
c4428bf6db MULXQ R11, R14, R11
c4e233f513 PDEPL 0(BX), R9, DX
c4c233f513 PDEPL 0(R11), R9, DX
c4e233f5d2 PDEPL DX, R9, DX
c4c233f5d3 PDEPL R11, R9, DX
c46233f51b PDEPL 0(BX), R9, R11
c44233f51b PDEPL 0(R11), R9, R11
c46233f5da PDEPL DX, R9, R11
c44233f5db PDEPL R11, R9, R11
c4e28bf513 PDEPQ 0(BX), R14, DX
c4c28bf513 PDEPQ 0(R11), R14, DX
c4e28bf5d2 PDEPQ DX, R14, DX
c4c28bf5d3 PDEPQ R11, R14, DX
c4628bf51b PDEPQ 0(BX), R14, R11
c4428bf51b PDEPQ 0(R11), R14, R11
c4628bf5da PDEPQ DX, R14, R11
c4428bf5db PDEPQ R11, R14, R11
c4e232f513 PEXTL 0(BX), R9, DX
c4c232f513 PEXTL 0(R11), R9, DX
c4e232f5d2 PEXTL DX, R9, DX
c4c232f5d3 PEXTL R11, R9, DX
c46232f51b PEXTL 0(BX), R9, R11
c44232f51b PEXTL 0(R11), R9, R11
c46232f5da PEXTL DX, R9, R11
c44232f5db PEXTL R11, R9, R11
c4e28af513 PEXTQ 0(BX), R14, DX
c4c28af513 PEXTQ 0(R11), R14, DX
c4e28af5d2 PEXTQ DX, R14, DX
c4c28af5d3 PEXTQ R11, R14, DX
c4628af51b PEXTQ 0(BX), R14, R11
c4428af51b PEXTQ 0(R11), R14, R11
c4628af5da PEXTQ DX, R14, R11
c4428af5db PEXTQ R11, R14, R11
0f01ee RDPKRU
0fc7fa RDSEEDL DX
410fc7fb RDSEEDL R11
480fc7fa RDSEEDQ DX
490fc7fb RDSEEDQ R11
c4e37bf01307 RORXL $7, 0(BX), DX
c4c37bf01307 RORXL $7, 0(R11), DX
c4e37bf0d207 RORXL $7, DX, DX
c4c37bf0d307 RORXL $7, R11, DX
c4637bf01b07 RORXL $7, 0(BX), R11
c4437bf01b07 RORXL $7, 0(R11), R11
c4637bf0da07 RORXL $7, DX, R11
c4437bf0db07 RORXL $7, R11, R11
c4e3fbf01307 RORXQ $7, 0(BX), DX
c4c3fbf01307 RORXQ $7, 0(R11), DX
c4e3fbf0d207 RORXQ $7, DX, DX
c4c3fbf0d307 RORXQ $7, R11, DX
c463fbf01b07 RORXQ $7, 0(BX), R11
c443fbf01b07 RORXQ $7, 0(R11), R11
c463fbf0da07 RORXQ $7, DX, R11
c443fbf0db07 RORXQ $7, R11, R11
c4e232f713 SARXL R9, 0(BX), DX
c4c232f713 SARXL R9, 0(R11), DX
c4e232f7d2 SARXL R9, DX, DX
c4c232f7d3 SARXL R9, R11, DX
c46232f71b SARXL R9, 0(BX), R11
c44232f71b SARXL R9, 0(R11), R11
c46232f7da SARXL R9, DX, R11
c44232f7db SARXL R9, R11, R11
c4e28af713 SARXQ R14, 0(BX), DX
c4c28af713 SARXQ R14, 0(R11), DX
c4e28af7d2 SARXQ R14, DX, DX
c4c28af7d3 SARXQ R14, R11, DX
c4628af71b SARXQ R14, 0(BX), R11
c4428af71b SARXQ R14, 0(R11), R11
c4628af7da SARXQ R14, DX, R11
c4428af7db SARXQ R14, R11, R11
c4e231f713 SHLXL R9, 0(BX), DX
c4c231f713 SHLXL R9, 0(R11), DX
c4e231f7d2 SHLXL R9, DX, DX
c4c231f7d3 SHLXL R9, R11, DX
c46231f71b SHLXL R9, 0(BX), R11
c44231f71b SHLXL R9, 0(R11), R11
c46231f7da SHLXL R9, DX, R11
c44231f7db SHLXL R9, R11, R11
c4e289f713 SHLXQ R14, 0(BX), DX
c4c289f713 SHLXQ R14, 0(R11), DX
c4e289f7d2 SHLXQ R14, DX, DX
c4c289f7d3 SHLXQ R14, R11, DX
c46289f71b SHLXQ R14, 0(BX), R11
c44289f71b SHLXQ R14, 0(R11), R11
c46289f7da SHLXQ R14, DX, R11
c44289f7db SHLXQ R14, R11, R11
c4e233f713 SHRXL R9, 0(BX), DX
c4c233f713 SHRXL R9, 0(R11), DX
c4e233f7d2 SHRXL R9, DX, DX
c4c233f7d3 SHRXL R9, R11, DX
c46233f71b SHRXL R9, 0(BX), R11
c44233f71b SHRXL R9, 0(R11), R11
c46233f7da SHRXL R9, DX, R11
c44233f7db SHRXL R9, R11, R11
c4e28bf713 SHRXQ R14, 0(BX), DX
c4c28bf713 SHRXQ R14, 0(R11), DX
c4e28bf7d2 SHRXQ R14, DX, DX
c4c28bf7d3 SHRXQ R14, R11, DX
c4628bf71b SHRXQ R14, 0(BX), R11
c4428bf71b SHRXQ R14, 0(R11), R11
c4628bf7da SHRXQ R14, DX, R11
c4428bf7db SHRXQ R14, R11, R11
0f01cb STAC
0fb9 UD1
0f01ef WRPKRU
c4e37bf010ff RORXL $-1, 0(AX), DX
c4e3fbf010ff RORXQ $-1, 0(AX), DX