Fixed movhps/movlps instructions disasm
This commit is contained in:
parent
5c58b22f44
commit
6b2ab6aa92
@ -15,9 +15,19 @@ static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f11[4] = {
|
|||||||
/* F3 */ { 0, &Ia_movss_Wss_Vss }
|
/* F3 */ { 0, &Ia_movss_Wss_Vss }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static BxDisasmOpcodeTable_t BxDisasmGroupModMOVHLPS[2] = {
|
||||||
|
/* R */ { 0, &Ia_movhlps_Vps_Uq },
|
||||||
|
/* M */ { 0, &Ia_movlps_Vps_Mq }
|
||||||
|
};
|
||||||
|
|
||||||
|
static BxDisasmOpcodeTable_t BxDisasmGroupModMOVHLPD[2] = {
|
||||||
|
/* R */ { 0, &Ia_movhlpd_Vpd_Uq },
|
||||||
|
/* M */ { 0, &Ia_movlpd_Vpd_Mq }
|
||||||
|
};
|
||||||
|
|
||||||
static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f12[4] = {
|
static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f12[4] = {
|
||||||
/* -- */ { 0, &Ia_movlps_Vps_Mq },
|
/* -- */ { GRPMOD(MOVHLPS) },
|
||||||
/* 66 */ { 0, &Ia_movlpd_Vpd_Mq },
|
/* 66 */ { GRPMOD(MOVHLPD) },
|
||||||
/* F2 */ { 0, &Ia_movddup_Vdq_Wq },
|
/* F2 */ { 0, &Ia_movddup_Vdq_Wq },
|
||||||
/* F3 */ { 0, &Ia_movsldup_Vdq_Wdq }
|
/* F3 */ { 0, &Ia_movsldup_Vdq_Wdq }
|
||||||
};
|
};
|
||||||
@ -43,10 +53,20 @@ static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f15[4] = {
|
|||||||
/* F3 */ { 0, &Ia_Invalid }
|
/* F3 */ { 0, &Ia_Invalid }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static BxDisasmOpcodeTable_t BxDisasmGroupModMOVLHPS[2] = {
|
||||||
|
/* R */ { 0, &Ia_movlhps_Vps_Uq },
|
||||||
|
/* M */ { 0, &Ia_movhps_Vps_Mq }
|
||||||
|
};
|
||||||
|
|
||||||
|
static BxDisasmOpcodeTable_t BxDisasmGroupModMOVLHPD[2] = {
|
||||||
|
/* R */ { 0, &Ia_movlhpd_Vpd_Uq },
|
||||||
|
/* M */ { 0, &Ia_movhpd_Vpd_Mq }
|
||||||
|
};
|
||||||
|
|
||||||
static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f16[4] = {
|
static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f16[4] = {
|
||||||
/* -- */ { 0, &Ia_movhps_Vps_Mq },
|
/* -- */ { GRPMOD(MOVLHPS) },
|
||||||
/* 66 */ { 0, &Ia_movhpd_Vpd_Mq },
|
/* 66 */ { GRPMOD(MOVLHPD) },
|
||||||
/* F2 */ { 0, &Ia_Invalid },
|
/* F2 */ { 0, &Ia_Invalid },
|
||||||
/* F3 */ { 0, &Ia_movshdup_Vdq_Wdq },
|
/* F3 */ { 0, &Ia_movshdup_Vdq_Wdq },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -287,11 +287,11 @@ Ia_fdiv_ST0_STi = { "fdiv", "fdiv", ST0, STi, XX },
|
|||||||
Ia_fdiv_STi_ST0 = { "fdiv", "fdiv", STi, ST0, XX },
|
Ia_fdiv_STi_ST0 = { "fdiv", "fdiv", STi, ST0, XX },
|
||||||
Ia_fdivl_Mq = { "fdiv", "fdivl", Mq, XX, XX },
|
Ia_fdivl_Mq = { "fdiv", "fdivl", Mq, XX, XX },
|
||||||
Ia_fdivp_STi_ST0 = { "fdivp", "fdivp", STi, ST0, XX },
|
Ia_fdivp_STi_ST0 = { "fdivp", "fdivp", STi, ST0, XX },
|
||||||
Ia_fdivrs_Md = { "fdivr", "fdivrs", Md, XX, XX },
|
|
||||||
Ia_fdivr_ST0_STi = { "fdivr", "fdivr", ST0, STi, XX },
|
Ia_fdivr_ST0_STi = { "fdivr", "fdivr", ST0, STi, XX },
|
||||||
Ia_fdivr_STi_ST0 = { "fdivr", "fdivr", STi, ST0, XX },
|
Ia_fdivr_STi_ST0 = { "fdivr", "fdivr", STi, ST0, XX },
|
||||||
Ia_fdivrl_Mq = { "fdivr", "fdivrl", Mq, XX, XX },
|
Ia_fdivrl_Mq = { "fdivr", "fdivrl", Mq, XX, XX },
|
||||||
Ia_fdivrp_STi_ST0 = { "fdivrp", "fdivrp", STi, ST0, XX },
|
Ia_fdivrp_STi_ST0 = { "fdivrp", "fdivrp", STi, ST0, XX },
|
||||||
|
Ia_fdivrs_Md = { "fdivr", "fdivrs", Md, XX, XX },
|
||||||
Ia_fdivs_Md = { "fdiv", "fdivs", Md, XX, XX },
|
Ia_fdivs_Md = { "fdiv", "fdivs", Md, XX, XX },
|
||||||
Ia_femms = { "femms", "femms", XX, XX, XX },
|
Ia_femms = { "femms", "femms", XX, XX, XX },
|
||||||
Ia_feni = { "feni (287 legacy)", "feni(287 legacy)", XX, XX, XX },
|
Ia_feni = { "feni (287 legacy)", "feni(287 legacy)", XX, XX, XX },
|
||||||
@ -576,10 +576,12 @@ Ia_movdqa_Vdq_Wdq = { "movdqa", "movdqa", Vdq, Wdq, XX },
|
|||||||
Ia_movdqa_Wdq_Vdq = { "movdqa", "movdqa", Wdq, Vdq, XX },
|
Ia_movdqa_Wdq_Vdq = { "movdqa", "movdqa", Wdq, Vdq, XX },
|
||||||
Ia_movdqu_Vdq_Wdq = { "movdqu", "movdqu", Vdq, Wdq, XX },
|
Ia_movdqu_Vdq_Wdq = { "movdqu", "movdqu", Vdq, Wdq, XX },
|
||||||
Ia_movdqu_Wdq_Vdq = { "movdqu", "movdqu", Wdq, Vdq, XX },
|
Ia_movdqu_Wdq_Vdq = { "movdqu", "movdqu", Wdq, Vdq, XX },
|
||||||
|
Ia_movhlpd_Vpd_Uq = { "movhlpd", "movhlpd", Vpd, Udq, XX },
|
||||||
|
Ia_movhlps_Vps_Uq = { "movhlps", "movhlps", Vps, Udq, XX },
|
||||||
Ia_movhpd_Mq_Vpd = { "movhpd", "movhpd", Mq, Vpd, XX },
|
Ia_movhpd_Mq_Vpd = { "movhpd", "movhpd", Mq, Vpd, XX },
|
||||||
Ia_movhpd_Vpd_Mq = { "movhpd", "movhpd", Vpd, Mq, XX },
|
Ia_movhpd_Vpd_Mq = { "movhpd", "movhpd", Vpd, Mq, XX },
|
||||||
Ia_movhps_Mq_Vps = { "movhps", "movhps", Mq, Vps, XX },
|
Ia_movhps_Mq_Vps = { "movhps", "movhps", Mq, Vps, XX },
|
||||||
Ia_movhps_Vps_Mq = { "movhps", "movhps", Vps, Mq, XX },
|
Ia_movhps_Vps_Mq = { "movhps", "movhps", Vps, Mq, XX },
|
||||||
Ia_movl_Cd_Rd = { "mov", "movl", Cd, Rd, XX },
|
Ia_movl_Cd_Rd = { "mov", "movl", Cd, Rd, XX },
|
||||||
Ia_movl_Dd_Rd = { "mov", "movl", Dd, Rd, XX },
|
Ia_movl_Dd_Rd = { "mov", "movl", Dd, Rd, XX },
|
||||||
Ia_movl_EAX_Od = { "mov", "movl", EAX, Od, XX },
|
Ia_movl_EAX_Od = { "mov", "movl", EAX, Od, XX },
|
||||||
@ -592,6 +594,8 @@ Ia_movl_Rd_Cd = { "mov", "movl", Rd, Cd, XX },
|
|||||||
Ia_movl_Rd_Dd = { "mov", "movl", Rd, Dd, XX },
|
Ia_movl_Rd_Dd = { "mov", "movl", Rd, Dd, XX },
|
||||||
Ia_movl_Rd_Td = { "mov", "movl", Rd, Td, XX },
|
Ia_movl_Rd_Td = { "mov", "movl", Rd, Td, XX },
|
||||||
Ia_movl_Td_Rd = { "mov", "movl", Td, Rd, XX },
|
Ia_movl_Td_Rd = { "mov", "movl", Td, Rd, XX },
|
||||||
|
Ia_movlhpd_Vpd_Uq = { "movlhpd", "movlhpd", Vpd, Udq, XX },
|
||||||
|
Ia_movlhps_Vps_Uq = { "movlhps", "movlhps", Vps, Udq, XX },
|
||||||
Ia_movlpd_Mq_Vpd = { "movlpd", "movlpd", Mq, Vpd, XX },
|
Ia_movlpd_Mq_Vpd = { "movlpd", "movlpd", Mq, Vpd, XX },
|
||||||
Ia_movlpd_Vpd_Mq = { "movlpd", "movlpd", Vpd, Mq, XX },
|
Ia_movlpd_Vpd_Mq = { "movlpd", "movlpd", Vpd, Mq, XX },
|
||||||
Ia_movlps_Mq_Vps = { "movlps", "movlps", Mq, Vps, XX },
|
Ia_movlps_Mq_Vps = { "movlps", "movlps", Mq, Vps, XX },
|
||||||
@ -887,7 +891,7 @@ Ia_psubsw_Pq_Qq = { "psubsw", "psubsw", Pq, Qq, XX },
|
|||||||
Ia_psubsw_Vdq_Wdq = { "psubsw", "psubsw", Vdq, Wdq, XX },
|
Ia_psubsw_Vdq_Wdq = { "psubsw", "psubsw", Vdq, Wdq, XX },
|
||||||
Ia_psubusb_Pq_Qq = { "psubusb", "psubusb", Pq, Qq, XX },
|
Ia_psubusb_Pq_Qq = { "psubusb", "psubusb", Pq, Qq, XX },
|
||||||
Ia_psubusb_Vdq_Wdq = { "psubusb", "psubusb", Vdq, Wdq, XX },
|
Ia_psubusb_Vdq_Wdq = { "psubusb", "psubusb", Vdq, Wdq, XX },
|
||||||
Ia_psubusw_Pq_Qq = { "psubusw", "psubusw", Pq, Qq, XX },
|
Ia_psubusw_Pq_Qq = { "psubusw", "psubusw", Pq, Qq, XX },
|
||||||
Ia_psubusw_Vdq_Wdq = { "psubusw", "psubusw", Vdq, Wdq, XX },
|
Ia_psubusw_Vdq_Wdq = { "psubusw", "psubusw", Vdq, Wdq, XX },
|
||||||
Ia_psubw_Pq_Qq = { "psubw", "psubw", Pq, Qq, XX },
|
Ia_psubw_Pq_Qq = { "psubw", "psubw", Pq, Qq, XX },
|
||||||
Ia_psubw_Vdq_Wdq = { "psubw", "psubw", Vdq, Wdq, XX },
|
Ia_psubw_Vdq_Wdq = { "psubw", "psubw", Vdq, Wdq, XX },
|
||||||
|
Loading…
Reference in New Issue
Block a user