POPQ DX // 8fc2 or 5a
PUSHQ AX
POPQ R11 // 418fc3 or 415b
- //TODO: POPCNTW (BX), DX // 66f30fb813
- //TODO: POPCNTW (R11), DX // 66f3410fb813
- //TODO: POPCNTW DX, DX // 66f30fb8d2
- //TODO: POPCNTW R11, DX // 66f3410fb8d3
- //TODO: POPCNTW (BX), R11 // 66f3440fb81b
- //TODO: POPCNTW (R11), R11 // 66f3450fb81b
- //TODO: POPCNTW DX, R11 // 66f3440fb8da
- //TODO: POPCNTW R11, R11 // 66f3450fb8db
- //TODO: POPCNTL (BX), DX // f30fb813
- //TODO: POPCNTL (R11), DX // f3410fb813
- //TODO: POPCNTL DX, DX // f30fb8d2
- //TODO: POPCNTL R11, DX // f3410fb8d3
- //TODO: POPCNTL (BX), R11 // f3440fb81b
- //TODO: POPCNTL (R11), R11 // f3450fb81b
- //TODO: POPCNTL DX, R11 // f3440fb8da
- //TODO: POPCNTL R11, R11 // f3450fb8db
+ POPCNTW (BX), DX // 66f30fb813
+ POPCNTW (R11), DX // 66f3410fb813
+ POPCNTW DX, DX // 66f30fb8d2
+ POPCNTW R11, DX // 66f3410fb8d3
+ POPCNTW (BX), R11 // 66f3440fb81b
+ POPCNTW (R11), R11 // 66f3450fb81b
+ POPCNTW DX, R11 // 66f3440fb8da
+ POPCNTW R11, R11 // 66f3450fb8db
+ POPCNTL (BX), DX // f30fb813
+ POPCNTL (R11), DX // f3410fb813
+ POPCNTL DX, DX // f30fb8d2
+ POPCNTL R11, DX // f3410fb8d3
+ POPCNTL (BX), R11 // f3440fb81b
+ POPCNTL (R11), R11 // f3450fb81b
+ POPCNTL DX, R11 // f3440fb8da
+ POPCNTL R11, R11 // f3450fb8db
POPCNTQ (BX), DX // f3480fb813
POPCNTQ (R11), DX // f3490fb813
POPCNTQ DX, DX // f3480fb8d2
Pb = 0xfe /* byte operands */
Pf2 = 0xf2 /* xmm escape 1: f2 0f */
Pf3 = 0xf3 /* xmm escape 2: f3 0f */
+ Pef3 = 0xf5 /* xmm escape 2 with 16-bit prefix: 66 f3 0f */
Pq3 = 0x67 /* xmm escape 3: 66 48 0f */
Pfw = 0xf4 /* Pf3 with Rex.w: f3 48 0f */
Pvex1 = 0xc5 /* 66.0f escape, vex encoding */
{APMULULQ, ymm, Py1, [23]uint8{0xf4, Pe, 0xf4}},
{APOPAL, ynone, P32, [23]uint8{0x61}},
{APOPAW, ynone, Pe, [23]uint8{0x61}},
+ {APOPCNTW, yml_rl, Pef3, [23]uint8{0xb8}},
+ {APOPCNTL, yml_rl, Pf3, [23]uint8{0xb8}},
{APOPCNTQ, yml_rl, Pfw, [23]uint8{0xb8}},
{APOPFL, ynone, P32, [23]uint8{0x9d}},
{APOPFQ, ynone, Py, [23]uint8{0x9d}},
ctxt.Andptr[0] = Pm
ctxt.Andptr = ctxt.Andptr[1:]
+ case Pef3:
+ ctxt.Andptr[0] = Pe
+ ctxt.Andptr = ctxt.Andptr[1:]
+ ctxt.Andptr[0] = Pf3
+ ctxt.Andptr = ctxt.Andptr[1:]
+ ctxt.Andptr[0] = Pm
+ ctxt.Andptr = ctxt.Andptr[1:]
+
case Pfw: /* xmm opcode escape + REX.W */
ctxt.Rexflag |= Pw
ctxt.Andptr[0] = Pf3