//TODO: PALIGNR $7, (R11), M3 // 410f3a0f1b07
//TODO: PALIGNR $7, M2, M3 // 0f3a0fda07
//TODO: PALIGNR $7, M3, M3 // 0f3a0fdb07
- //TODO: PALIGNR $7, (BX), X2 // 660f3a0f1307
- //TODO: PALIGNR $7, (R11), X2 // 66410f3a0f1307
- //TODO: PALIGNR $7, X2, X2 // 660f3a0fd207
- //TODO: PALIGNR $7, X11, X2 // 66410f3a0fd307
- //TODO: PALIGNR $7, (BX), X11 // 66440f3a0f1b07
- //TODO: PALIGNR $7, (R11), X11 // 66450f3a0f1b07
- //TODO: PALIGNR $7, X2, X11 // 66440f3a0fda07
- //TODO: PALIGNR $7, X11, X11 // 66450f3a0fdb07
+ PALIGNR $7, (BX), X2 // 660f3a0f1307
+ PALIGNR $7, (R11), X2 // 66410f3a0f1307
+ PALIGNR $7, X2, X2 // 660f3a0fd207
+ PALIGNR $7, X11, X2 // 66410f3a0fd307
+ PALIGNR $7, (BX), X11 // 66440f3a0f1b07
+ PALIGNR $7, (R11), X11 // 66450f3a0f1b07
+ PALIGNR $7, X2, X11 // 66440f3a0fda07
+ PALIGNR $7, X11, X11 // 66450f3a0fdb07
PAND (BX), M2 // 0fdb13
PAND (R11), M2 // 410fdb13
PAND M2, M2 // 0fdbd2
{Ym, Ynone, Yxr, Zm_r, 1},
}
+var ypalignr = []ytab{
+ {Yu8, Yxm, Yxr, Zibm_r, 2},
+}
+
// VEX instructions that come in two forms:
// VTHING xmm2/m128, xmmV, xmm1
// VTHING ymm2/m256, ymmV, ymm1
{APADDUSB, ymm, Py1, [23]uint8{0xdc, Pe, 0xdc}},
{APADDUSW, ymm, Py1, [23]uint8{0xdd, Pe, 0xdd}},
{APADDW, ymm, Py1, [23]uint8{0xfd, Pe, 0xfd}},
+ {APALIGNR, ypalignr, Pq, [23]uint8{0x3a, 0x0f}},
{APAND, ymm, Py1, [23]uint8{0xdb, Pe, 0xdb}},
{APANDN, ymm, Py1, [23]uint8{0xdf, Pe, 0xdf}},
{APAUSE, ynone, Px, [23]uint8{0xf3, 0x90}},