Changeset 95459 in vbox
- Timestamp:
- Jun 30, 2022 12:42:30 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 152066
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/disopcode.h
r95457 r95459 489 489 OP_MOVBEGM, 490 490 OP_MOVBEMG, 491 OP_CRC32GDEB, 492 OP_CRC32GDEY, 491 OP_CRC32, 493 492 OP_POPCNT, 494 493 OP_TZCNT, -
trunk/src/VBox/Disassembler/DisasmTables.cpp
r95457 r95459 1584 1584 it should be %Gd (always dword regardless of operand-size attribute), but from the description of the command 1585 1585 it is clear that REX.W prefix can change this size to 64 bit, therefore it is set to %Gy. Seems to be a mistake. */ 1586 OP("crc32 %Gy,%Eb", IDX_ParseModRM, IDX_UseModRM, 0, OP_CRC32GDEB, OP_PARM_Gy, OP_PARM_Eb, OP_PARM_NONE, DISOPTYPE_HARMLESS), 1587 OP("crc32 %Gy,%Ey", IDX_ParseModRM, IDX_UseModRM, 0, OP_CRC32GDEY, OP_PARM_Gy, OP_PARM_Ey, OP_PARM_NONE, DISOPTYPE_HARMLESS), 1586 /** @todo r=bird: While the destination can be a 64-bit register, it is 1587 * always treated like a dword register given that the upper half is 1588 * always cleared. So, it is really just a convenience for a more 1589 * natural syntax when using a 64-bit source register. */ 1590 OP("crc32 %Gy,%Eb", IDX_ParseModRM, IDX_UseModRM, 0, OP_CRC32, OP_PARM_Gy, OP_PARM_Eb, OP_PARM_NONE, DISOPTYPE_HARMLESS), 1591 OP("crc32 %Gy,%Ey", IDX_ParseModRM, IDX_UseModRM, 0, OP_CRC32, OP_PARM_Gy, OP_PARM_Ey, OP_PARM_NONE, DISOPTYPE_HARMLESS), 1588 1592 INVALID_OPCODE, 1589 1593 INVALID_OPCODE, … … 1607 1611 it should be %Gd (always dword regardless of operand-size attribute), but from the description of the command 1608 1612 it is clear that REX.W prefix can change this size to 64 bit, therefore it is set to %Gy. Seems to be a mistake. */ 1609 OP("crc32 %Gy,%Eb", IDX_ParseModRM, IDX_UseModRM, 0, OP_CRC32 GDEB, OP_PARM_Gy, OP_PARM_Eb, OP_PARM_NONE, DISOPTYPE_HARMLESS),1610 OP("crc32 %Gy,%Ew", IDX_ParseModRM, IDX_UseModRM, 0, OP_CRC32 GDEY, OP_PARM_Gy, OP_PARM_Ew, OP_PARM_NONE, DISOPTYPE_HARMLESS),1613 OP("crc32 %Gy,%Eb", IDX_ParseModRM, IDX_UseModRM, 0, OP_CRC32, OP_PARM_Gy, OP_PARM_Eb, OP_PARM_NONE, DISOPTYPE_HARMLESS), 1614 OP("crc32 %Gy,%Ew", IDX_ParseModRM, IDX_UseModRM, 0, OP_CRC32, OP_PARM_Gy, OP_PARM_Ew, OP_PARM_NONE, DISOPTYPE_HARMLESS), 1611 1615 INVALID_OPCODE, 1612 1616 INVALID_OPCODE,
Note:
See TracChangeset
for help on using the changeset viewer.