PADDB | register, memory/register | 0F FC mod-rm | Add with wrap-around on byte |
PADDW | register, memory/register | 0F FD mod-rm | Add with wrap-around on word |
PADDD | register, memory/register | 0F FE mod-rm | Add with wrap-around on doubleword |
PADDSB | register, memory/register | 0F EC mod-rm | Add signed with saturation on byte |
PADDSW | register, memory/register | 0F ED mod-rm | Add signed with saturation on word |
PADDUSB | register, memory/register | 0F DC mod-rm | Add unsigned with saturation on byte |
PADDUSW | register, memory/register | 0F DD mod-rm | Add unsigned with saturation on word |
PSUBB | register, memory/register | 0F F8 mod-rm | Subtraction with wrap-around on byte |
PSUBW | register, memory/register | 0F F9 mod-rm | Subtraction with wrap-around on word |
PSUBD | register, memory/register | 0F FA mod-rm | Subtraction with wrap-around on doubleword |
PSUBSB | register, memory/register | 0F E8 mod-rm | Subtract signed with saturation on byte |
PSUBSW | register, memory/register | 0F E9 mod-rm | Subtract signed with saturation on word |
PSUBUSB | register, memory/register | 0F D8 mod-rm | Subtract unsigned with saturation on byte |
PSUBUSW | register, memory/register | 0F D9 mod-rm | Subtract unsigned with saturation on word |
PMULHW | register, memory/register | 0F E5 mod-rm | Packed multiply high on words |
PMULLW | register, memory/register | 0F D5 mod-rm | Packed multiply low on words |
PMADDWD | register, memory/register | 0F F5 mod-rm | Packed multiply on words and add resulting pairs |
PCMPEQB | register, memory/register | 0F 74 mod-rm, | Packed compare for equality byte |
PCMPEQW | register, memory/register | 0F 75 mod-rm | Packed compare for equality word |
PCMPEQD | register, memory/register | 0F 76 mod-rm | Packed compare for equality doubleword |
PCMPGTB | register, memory/register | 0F 64 mod-rm | Packed compare greater than byte |
PCMPGTW | register, memory/register | 0F 65 mod-rm | Packed compare greater than word |
PCMPGTD | register, memory/register | 0F 66 mod-rm | Packed compare greater than doubleword |
PACKUSWB | register, memory/register | 0F 67 mod-rm | Pack words into bytes (unsigned with saturation) |
PACKSSWB | register, memory/register | 0F 63 mod-rm | Pack words into bytes (signed with saturation) |
PACKSSDW | register, memory/register | 0F 6B mod-rm | Pack doublewords into words (signed with saturation) |
PUNPCKHBW | register, memory/register | 0F 68 mod-rm | Unpack (interleave) high-order bytes from MMX TM register |
PUNPCKHWD | register, memory/register | 0F 69 mod-rm | Unpack (interleave) high-order words from MMX TM register |
PUNPCKHDQ | register, memory/register | 0F 6A mod-rm | Unpack (interleave) high-order doublewords from MMX TM register |
PUNPCKLBW | register, memory/register | 0F 60 mod-rm | Unpack (interleave) low-order bytes from MMX register |
PUNPCKLWD | register, memory/register | 0F 61 mod-rm | Unpack (interleave) low-order words from MMX register |
PUNPCKLDQ | register, memory/register | 0F 62 mod-rm | Unpack (interleave) low-order doublewords from MMX register |
PAND | register, memory/register | 0F DB mod-rm | Bitwise AND |
PANDN | register, memory/register | 0F DF mod-rm | Bitwise AND NOT |
POR | register, memory/register | 0F EB mod-rm | Bitwise OR |
PXOR | register, memory/register | 0F EF mod-rm | Bitwise XOR |
PSLLW | register, memory/register | 0F F1 mod-rm | Packed shift left logical word by amount specified in MMX register or by immediate value |
PSLLD | register, memory/register | 0F F2 mod-rm, [sib] | Packed shift left logical doubleword by amount specified in MMX register or by immediate value |
PSLLQ | register, memory/register | 0F F3 mod-rm | Packed shift left logical quadword by amount specified in MMX register or by immediate value |
PSRLW | register, memory/register | 0F D1 mod-rm | Packed shift right logical word by amount specified in MMX register or by immediate value |
PSRLD | register, memory/register | 0F D2 mod-rm | Packed shift right logical doubleword by amount specified in MMX register or by immediate value |
PSRLQ | register, memory/register | 0F D3 mod-rm | Packed shift right logical quadword by amount specified in MMX register or by immediate value |
PSRAW | register, memory/register | 0F E1 mod-rm | Packed shift right arithmetic word by amount specified in MMX register or by immediate value |
PSRAD | register, memory/register | 0F E2 mod-rm | Packed shift right arithmetic doubleword by amount specified in MMX register or by immediate value |
PSHIMW* | register, immediate | 0F 71 mod-rm, imm | |
PSHIMD* | register, immediate | 0F 72 mod-rm, imm | |
PSHIMQ* | register, immediate | 0F 73 mod-rm, imm |
MOVD | register, memory/iregister | 0F 6E mod-rm | Move doubleword to MMX register or from MMX register |
MOVD | memory/iregister, register | 0F 7E mod-rm | Move doubleword to MMX register or from MMX register |
MOVQ | register, memory/register | 0F 6F mod-rm | Move quadword to MMX register or from MMX register |
MOVQ | memory/register, register | 0F 7F mod-rm | Move quadword to MMX register or from MMX register |
EMMS | 0F 77 | Empty MMX state |