add vpsub{b,w,d,q,sb,sw,usb,usw}
This commit is contained in:
parent
ba14fcdfe7
commit
2c3247db0d
3 changed files with 34 additions and 16 deletions
|
@ -1133,16 +1133,16 @@ void put()
|
|||
{ 0xD2, "psrld", T_0F | T_66 | T_YMM | T_EVEX | T_EW0, false, true },
|
||||
{ 0xD3, "psrlq", T_0F | T_66 | T_YMM | T_EVEX | T_EW1, false, true },
|
||||
|
||||
{ 0xF8, "psubb", T_0F | T_66 | T_YMM, false, true },
|
||||
{ 0xF9, "psubw", T_0F | T_66 | T_YMM, false, true },
|
||||
{ 0xFA, "psubd", T_0F | T_66 | T_YMM, false, true },
|
||||
{ 0xFB, "psubq", T_0F | T_66 | T_YMM, false, true },
|
||||
{ 0xF8, "psubb", T_0F | T_66 | T_YMM | T_EVEX, false, true },
|
||||
{ 0xF9, "psubw", T_0F | T_66 | T_YMM | T_EVEX, false, true },
|
||||
{ 0xFA, "psubd", T_0F | T_66 | T_YMM | T_EVEX | T_EW0 | T_B32, false, true },
|
||||
{ 0xFB, "psubq", T_0F | T_66 | T_YMM | T_EVEX | T_EW1 | T_B64, false, true },
|
||||
|
||||
{ 0xE8, "psubsb", T_0F | T_66 | T_YMM, false, true },
|
||||
{ 0xE9, "psubsw", T_0F | T_66 | T_YMM, false, true },
|
||||
{ 0xE8, "psubsb", T_0F | T_66 | T_YMM | T_EVEX, false, true },
|
||||
{ 0xE9, "psubsw", T_0F | T_66 | T_YMM | T_EVEX, false, true },
|
||||
|
||||
{ 0xD8, "psubusb", T_0F | T_66 | T_YMM, false, true },
|
||||
{ 0xD9, "psubusw", T_0F | T_66 | T_YMM, false, true },
|
||||
{ 0xD8, "psubusb", T_0F | T_66 | T_YMM | T_EVEX, false, true },
|
||||
{ 0xD9, "psubusw", T_0F | T_66 | T_YMM | T_EVEX, false, true },
|
||||
|
||||
{ 0x68, "punpckhbw", T_0F | T_66 | T_YMM, false, true },
|
||||
{ 0x69, "punpckhwd", T_0F | T_66 | T_YMM, false, true },
|
||||
|
|
|
@ -2765,6 +2765,7 @@ public:
|
|||
{ "vpaddb", XMM_KZ, _XMM, _XMM | _MEM },
|
||||
{ "vpaddw", XMM_KZ, _XMM, _XMM | _MEM },
|
||||
{ "vpaddd", XMM_KZ, _XMM, _XMM | M_1to4 },
|
||||
{ "vpaddq", ZMM_KZ, _ZMM, M_1to8 },
|
||||
|
||||
{ "vpaddsb", XMM_KZ, _XMM, _XMM | _MEM },
|
||||
{ "vpaddsb", ZMM_KZ, _ZMM, _ZMM | _MEM },
|
||||
|
@ -2778,6 +2779,23 @@ public:
|
|||
{ "vpaddusw", XMM_KZ, _XMM, _XMM | MEM },
|
||||
{ "vpaddusw", ZMM_KZ, _ZMM, _ZMM | MEM },
|
||||
|
||||
{ "vpsubb", XMM_KZ, _XMM, _XMM | _MEM },
|
||||
{ "vpsubw", XMM_KZ, _XMM, _XMM | _MEM },
|
||||
{ "vpsubd", XMM_KZ, _XMM, _XMM | M_1to4 },
|
||||
{ "vpsubq", ZMM_KZ, _ZMM, M_1to8 },
|
||||
|
||||
{ "vpsubsb", XMM_KZ, _XMM, _XMM | _MEM },
|
||||
{ "vpsubsb", ZMM_KZ, _ZMM, _ZMM | _MEM },
|
||||
|
||||
{ "vpsubsw", XMM_KZ, _XMM, _XMM | _MEM },
|
||||
{ "vpsubsw", ZMM_KZ, _ZMM, _ZMM | _MEM },
|
||||
|
||||
{ "vpsubusb", XMM_KZ, _XMM, _XMM | MEM },
|
||||
{ "vpsubusb", ZMM_KZ, _ZMM, _ZMM | MEM },
|
||||
|
||||
{ "vpsubusw", XMM_KZ, _XMM, _XMM | MEM },
|
||||
{ "vpsubusw", ZMM_KZ, _ZMM, _ZMM | MEM },
|
||||
|
||||
{ "vpandd", ZMM_KZ, _ZMM, _ZMM | M_1to16 },
|
||||
{ "vpandq", ZMM_KZ, _ZMM, _ZMM | M_1to8 },
|
||||
|
||||
|
|
|
@ -908,21 +908,21 @@ void vpsrld(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1,
|
|||
void vpsrld(const Xmm& x, const Operand& op) { vpsrld(x, x, op); }
|
||||
void vpsrlq(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_EW1 | T_YMM | T_EVEX, 0xD3); }
|
||||
void vpsrlq(const Xmm& x, const Operand& op) { vpsrlq(x, x, op); }
|
||||
void vpsubb(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xF8); }
|
||||
void vpsubb(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM | T_EVEX, 0xF8); }
|
||||
void vpsubb(const Xmm& x, const Operand& op) { vpsubb(x, x, op); }
|
||||
void vpsubw(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xF9); }
|
||||
void vpsubw(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM | T_EVEX, 0xF9); }
|
||||
void vpsubw(const Xmm& x, const Operand& op) { vpsubw(x, x, op); }
|
||||
void vpsubd(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xFA); }
|
||||
void vpsubd(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_EW0 | T_YMM | T_EVEX | T_B32, 0xFA); }
|
||||
void vpsubd(const Xmm& x, const Operand& op) { vpsubd(x, x, op); }
|
||||
void vpsubq(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xFB); }
|
||||
void vpsubq(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_EW1 | T_YMM | T_EVEX | T_B64, 0xFB); }
|
||||
void vpsubq(const Xmm& x, const Operand& op) { vpsubq(x, x, op); }
|
||||
void vpsubsb(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xE8); }
|
||||
void vpsubsb(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM | T_EVEX, 0xE8); }
|
||||
void vpsubsb(const Xmm& x, const Operand& op) { vpsubsb(x, x, op); }
|
||||
void vpsubsw(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xE9); }
|
||||
void vpsubsw(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM | T_EVEX, 0xE9); }
|
||||
void vpsubsw(const Xmm& x, const Operand& op) { vpsubsw(x, x, op); }
|
||||
void vpsubusb(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xD8); }
|
||||
void vpsubusb(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM | T_EVEX, 0xD8); }
|
||||
void vpsubusb(const Xmm& x, const Operand& op) { vpsubusb(x, x, op); }
|
||||
void vpsubusw(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0xD9); }
|
||||
void vpsubusw(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM | T_EVEX, 0xD9); }
|
||||
void vpsubusw(const Xmm& x, const Operand& op) { vpsubusw(x, x, op); }
|
||||
void vpunpckhbw(const Xmm& x1, const Xmm& x2, const Operand& op) { opAVX_X_X_XM(x1, x2, op, T_0F | T_66 | T_YMM, 0x68); }
|
||||
void vpunpckhbw(const Xmm& x, const Operand& op) { vpunpckhbw(x, x, op); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue