Skip to content

Commit

Permalink
Several SSE instructions fixed, one VEX instruction fixed.
Browse files Browse the repository at this point in the history
  • Loading branch information
John Detter committed Jun 14, 2016
1 parent a7de87e commit 91b8291
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 8 deletions.
1 change: 1 addition & 0 deletions common/h/entryIDs.h
Original file line number Diff line number Diff line change
Expand Up @@ -1067,6 +1067,7 @@ enum entryID {
e_vpmultishiftqb,
e_vpmadd52luq,
e_vpmadd52huq,
e_vptestmd,
e_vptestnmd,
e_vptestnmb,
e_vpternlogd,
Expand Down
21 changes: 13 additions & 8 deletions common/src/arch-x86.C
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ enum { /** AUTOGENERATED */
SSEB24_66, SSEB24_F3,
SSEB25_66, SSEB25_F3,
SSEB26_F3,
SSEB27_F3,
SSEB27_66, SSEB27_F3,
SSEB28_66, SSEB28_F3,
SSEB29_66, SSEB29_F3,
SSEB2A_66, SSEB2A_F3,
Expand Down Expand Up @@ -1729,6 +1729,7 @@ COMMON_EXPORT dyn_hash_map<entryID, std::string> entryNames_IAPI = map_list_of
(e_vpsubusb, "vpsubusb")
(e_vpsubusw, "vpsubusw")
(e_vpsubw, "vpsubw")
(e_vptestmd, "vptestmd")
(e_vptestnmd, "vptestnmd")
(e_vptestnmb, "vptestnmb")
(e_vpternlogd, "vpternlogd")
Expand Down Expand Up @@ -3594,7 +3595,7 @@ static ia32_entry groupMap[][8] = {
/* group 10 is all illegal */

{ /* group 11, opcodes defined in one byte map */
{ e_mov, t_done, 0, true, { Zz, Zz, Zz }, 0, sNONE },
{ e_mov, t_done, 0, true, { Ev, Gv, Zz }, 0, s1W2R },
{ e_No_Entry, t_ill, 0, true, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, true, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, true, { Zz, Zz, Zz }, 0, 0 },
Expand Down Expand Up @@ -4895,7 +4896,7 @@ static ia32_entry sseMapBis[][5] = {
}, { /* SSEB27 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_sse_bis_mult, SSEB27_F3, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_sse_bis_mult, SSEB27_66, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 }
}, { /* SSEB28 */
Expand Down Expand Up @@ -5614,7 +5615,7 @@ static ia32_entry sseMapTer[][3] =
{ e_roundss, t_done, 0, true, { Vss, Wss, Ib }, 0, s1W2R3R },
}, { /* SSET0B */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_sse_ter_mult, SSET0B_66, false, { Zz, Zz, Zz }, 0, 0 },
{ e_roundsd, t_sse_ter_mult, SSET0B_66, true, { Vsd, Wsd, Ib }, 0, s1W2R3R },
{ e_roundsd, t_done, 0, true, { Vsd, Wsd, Ib }, 0, s1W2R3R },
}, { /* SSET0C */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
Expand All @@ -5625,9 +5626,9 @@ static ia32_entry sseMapTer[][3] =
{ e_No_Entry, t_vexw, VEXW94, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_vexw, VEXW94, false, { Zz, Zz, Zz }, 0, 0 }
}, { /* SSET0E */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_pblendw, t_done, 0, true, { Vdq, Wdq, Ib }, 0, s1RW2R3R },
{ e_pblendw, t_done, 0, true, { Vdq, Wdq, Ib }, 0, s1RW2R3R }
}, { /* SSET0F */
{ e_palignr, t_done, 0, true, { Pq, Qq, Ib }, 0, s1RW2R3R },
{ e_palignr, t_sse_ter_mult, SSET0F_66, true, { Pq, Qq, Ib }, 0, s1RW2R3R },
Expand Down Expand Up @@ -5806,12 +5807,12 @@ static ia32_entry sseMapTer[][3] =
{ e_pcmpestri, t_done, 0, true, { Vdq, Wdq, Ib }, 0, s1R2R3R }
}, { /* SSET62 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_pcmpistrm, t_done, 0, true, { Vdq, Wdq, Ib }, 0, s1R2R3R },
{ e_pcmpistrm, t_done, 0, true, { Vdq, Wdq, Ib }, 0, s1R2R3R }
}, { /* SSET63 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_pcmpistri, t_done, 0, true, { Vdq, Wdq, Ib }, 0, s1R2R3R },
{ e_pcmpistri, t_done, 0, true, { Vdq, Wdq, Ib }, 0, s1R2R3R },
}, { /* SSET66 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_sse_ter_mult, SSET66_66, false, { Zz, Zz, Zz }, 0, 0 },
Expand Down Expand Up @@ -6814,6 +6815,10 @@ ia32_entry sseMapBisMult[][3] =
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_vptestnmb, t_done, 0, true, { VK, Hps, Wps }, 0, s1W2R3R }
}, { /* SSEB27_66 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_vptestmd, t_done, 0, true, { VK, Hps, Wps }, 0, s1W2R3R },
{ e_vptestmd, t_done, 0, true, { VK, Hps, Wps }, 0, s1W2R3R },
}, { /* SSEB27_F3 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
Expand Down Expand Up @@ -7329,7 +7334,7 @@ ia32_entry sseMapTerMult[][3] =
{ e_vrndscalesd, t_done, 0, true, { Vps, Hps, Wps }, 0, s1W2R3R4R }
}, { /* SSET0C_66 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_vblendps, t_done, 0, true, { Vps, Hps, Wps }, 0, s1W2R3R4R },
{ e_vblendps, t_done, 0, true, { Vps, Hps, Wps }, 0, s1W2R3R4R }
}, { /* SSET0F_66 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
Expand Down

0 comments on commit 91b8291

Please sign in to comment.