Fixed movhps/movlps instructions disasm

This commit is contained in:
Stanislav Shwartsman 2006-02-17 17:13:58 +00:00
parent 5c58b22f44
commit 6b2ab6aa92
2 changed files with 33 additions and 9 deletions

View File

@ -15,9 +15,19 @@ static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f11[4] = {
/* 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] = {
/* -- */ { 0, &Ia_movlps_Vps_Mq },
/* 66 */ { 0, &Ia_movlpd_Vpd_Mq },
/* -- */ { GRPMOD(MOVHLPS) },
/* 66 */ { GRPMOD(MOVHLPD) },
/* F2 */ { 0, &Ia_movddup_Vdq_Wq },
/* F3 */ { 0, &Ia_movsldup_Vdq_Wdq }
};
@ -43,10 +53,20 @@ static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f15[4] = {
/* 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] = {
/* -- */ { 0, &Ia_movhps_Vps_Mq },
/* 66 */ { 0, &Ia_movhpd_Vpd_Mq },
/* F2 */ { 0, &Ia_Invalid },
/* -- */ { GRPMOD(MOVLHPS) },
/* 66 */ { GRPMOD(MOVLHPD) },
/* F2 */ { 0, &Ia_Invalid },
/* F3 */ { 0, &Ia_movshdup_Vdq_Wdq },
};

View File

@ -287,11 +287,11 @@ Ia_fdiv_ST0_STi = { "fdiv", "fdiv", ST0, STi, XX },
Ia_fdiv_STi_ST0 = { "fdiv", "fdiv", STi, ST0, XX },
Ia_fdivl_Mq = { "fdiv", "fdivl", Mq, XX, 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_STi_ST0 = { "fdivr", "fdivr", STi, ST0, XX },
Ia_fdivrl_Mq = { "fdivr", "fdivrl", Mq, XX, 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_femms = { "femms", "femms", 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_movdqu_Vdq_Wdq = { "movdqu", "movdqu", Vdq, Wdq, 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_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_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_Dd_Rd = { "mov", "movl", Dd, Rd, 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_Td = { "mov", "movl", Rd, Td, 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_Vpd_Mq = { "movlpd", "movlpd", Vpd, Mq, 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_psubusb_Pq_Qq = { "psubusb", "psubusb", Pq, Qq, 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_psubw_Pq_Qq = { "psubw", "psubw", Pq, Qq, XX },
Ia_psubw_Vdq_Wdq = { "psubw", "psubw", Vdq, Wdq, XX },