ADCB (R11), DL // 411213
ADCB (BX), R11 // 44121b
ADCB (R11), R11 // 45121b
- //TODO: ADCXL (BX), DX // 660f38f613
- //TODO: ADCXL (R11), DX // 66410f38f613
- //TODO: ADCXL DX, DX // 660f38f6d2
- //TODO: ADCXL R11, DX // 66410f38f6d3
- //TODO: ADCXL (BX), R11 // 66440f38f61b
- //TODO: ADCXL (R11), R11 // 66450f38f61b
- //TODO: ADCXL DX, R11 // 66440f38f6da
- //TODO: ADCXL R11, R11 // 66450f38f6db
- //TODO: ADCXQ (BX), DX // 66480f38f613
- //TODO: ADCXQ (R11), DX // 66490f38f613
- //TODO: ADCXQ DX, DX // 66480f38f6d2
- //TODO: ADCXQ R11, DX // 66490f38f6d3
- //TODO: ADCXQ (BX), R11 // 664c0f38f61b
- //TODO: ADCXQ (R11), R11 // 664d0f38f61b
- //TODO: ADCXQ DX, R11 // 664c0f38f6da
- //TODO: ADCXQ R11, R11 // 664d0f38f6db
+ ADCXL (BX), DX // 660f38f613
+ ADCXL (R11), DX // 66410f38f613
+ ADCXL DX, DX // 660f38f6d2
+ ADCXL R11, DX // 66410f38f6d3
+ ADCXL (BX), R11 // 66440f38f61b
+ ADCXL (R11), R11 // 66450f38f61b
+ ADCXL DX, R11 // 66440f38f6da
+ ADCXL R11, R11 // 66450f38f6db
+ ADCXQ (BX), DX // 66480f38f613
+ ADCXQ (R11), DX // 66490f38f613
+ ADCXQ DX, DX // 66480f38f6d2
+ ADCXQ R11, DX // 66490f38f6d3
+ ADCXQ (BX), R11 // 664c0f38f61b
+ ADCXQ (R11), R11 // 664d0f38f61b
+ ADCXQ DX, R11 // 664c0f38f6da
+ ADCXQ R11, R11 // 664d0f38f6db
ADDB $7, AL // 0407
ADDW $61731, AX // 660523f1
ADDL $4045620583, AX // 05674523f1
ADDSUBPS (R11), X11 // f2450fd01b
ADDSUBPS X2, X11 // f2440fd0da
ADDSUBPS X11, X11 // f2450fd0db
- //TODO: ADOXL (BX), DX // f30f38f613
- //TODO: ADOXL (R11), DX // f3410f38f613
- //TODO: ADOXL DX, DX // f30f38f6d2
- //TODO: ADOXL R11, DX // f3410f38f6d3
- //TODO: ADOXL (BX), R11 // f3440f38f61b
- //TODO: ADOXL (R11), R11 // f3450f38f61b
- //TODO: ADOXL DX, R11 // f3440f38f6da
- //TODO: ADOXL R11, R11 // f3450f38f6db
- //TODO: ADOXQ (BX), DX // f3480f38f613
- //TODO: ADOXQ (R11), DX // f3490f38f613
- //TODO: ADOXQ DX, DX // f3480f38f6d2
- //TODO: ADOXQ R11, DX // f3490f38f6d3
- //TODO: ADOXQ (BX), R11 // f34c0f38f61b
- //TODO: ADOXQ (R11), R11 // f34d0f38f61b
- //TODO: ADOXQ DX, R11 // f34c0f38f6da
- //TODO: ADOXQ R11, R11 // f34d0f38f6db
+ ADOXL (BX), DX // f30f38f613
+ ADOXL (R11), DX // f3410f38f613
+ ADOXL DX, DX // f30f38f6d2
+ ADOXL R11, DX // f3410f38f6d3
+ ADOXL (BX), R11 // f3440f38f61b
+ ADOXL (R11), R11 // f3450f38f61b
+ ADOXL DX, R11 // f3440f38f6da
+ ADOXL R11, R11 // f3450f38f6db
+ ADOXQ (BX), DX // f3480f38f613
+ ADOXQ (R11), DX // f3490f38f613
+ ADOXQ DX, DX // f3480f38f6d2
+ ADOXQ R11, DX // f3490f38f6d3
+ ADOXQ (BX), R11 // f34c0f38f61b
+ ADOXQ (R11), R11 // f34d0f38f61b
+ ADOXQ DX, R11 // f34c0f38f6da
+ ADOXQ R11, R11 // f34d0f38f6db
AESDEC (BX), X2 // 660f38de13
AESDEC (R11), X2 // 66410f38de13
AESDEC X2, X2 // 660f38ded2
Pef3 = 0xf5 /* xmm escape 2 with 16-bit prefix: 66 f3 0f */
Pq3 = 0x67 /* xmm escape 3: 66 48 0f */
Pq4 = 0x68 /* xmm escape 4: 66 0F 38 */
+ Pq4w = 0x69 /* Pq4 with Rex.w 66 0F 38 */
+ Pq5 = 0x6a /* xmm escape 5: F3 0F 38 */
+ Pq5w = 0x6b /* Pq5 with Rex.w F3 0F 38 */
Pfw = 0xf4 /* Pf3 with Rex.w: f3 48 0f */
Pw = 0x48 /* Rex.w */
Pw8 = 0x90 // symbolic; exact value doesn't matter
{AADCL, yaddl, Px, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}},
{AADCQ, yaddl, Pw, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}},
{AADCW, yaddl, Pe, [23]uint8{0x83, 02, 0x15, 0x81, 02, 0x11, 0x13}},
+ {AADCXL, yml_rl, Pq4, [23]uint8{0xf6}},
+ {AADCXQ, yml_rl, Pq4w, [23]uint8{0xf6}},
{AADDB, yxorb, Pb, [23]uint8{0x04, 0x80, 00, 0x00, 0x02}},
{AADDL, yaddl, Px, [23]uint8{0x83, 00, 0x05, 0x81, 00, 0x01, 0x03}},
{AADDPD, yxm, Pq, [23]uint8{0x58}},
{AADDSUBPD, yxm, Pq, [23]uint8{0xd0}},
{AADDSUBPS, yxm, Pf2, [23]uint8{0xd0}},
{AADDW, yaddl, Pe, [23]uint8{0x83, 00, 0x05, 0x81, 00, 0x01, 0x03}},
+ {AADOXL, yml_rl, Pq5, [23]uint8{0xf6}},
+ {AADOXQ, yml_rl, Pq5w, [23]uint8{0xf6}},
{AADJSP, nil, 0, [23]uint8{}},
{AANDB, yxorb, Pb, [23]uint8{0x24, 0x80, 04, 0x20, 0x22}},
{AANDL, yaddl, Px, [23]uint8{0x83, 04, 0x25, 0x81, 04, 0x21, 0x23}},
case Pq4: /* 66 0F 38 */
asmbuf.Put3(0x66, 0x0F, 0x38)
+ case Pq4w: /* 66 0F 38 + REX.W */
+ asmbuf.rexflag |= Pw
+ asmbuf.Put3(0x66, 0x0F, 0x38)
+
+ case Pq5: /* F3 0F 38 */
+ asmbuf.Put3(0xF3, 0x0F, 0x38)
+
+ case Pq5w: /* F3 0F 38 + REX.W */
+ asmbuf.rexflag |= Pw
+ asmbuf.Put3(0xF3, 0x0F, 0x38)
+
case Pf2, /* xmm opcode escape */
Pf3:
asmbuf.Put2(o.prefix, Pm)