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 } /* 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,9 +53,19 @@ 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 },
}; };

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_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,6 +576,8 @@ 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 },
@ -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 },