Skip to content

Commit

Permalink
AES instruction extension complete.
Browse files Browse the repository at this point in the history
  • Loading branch information
John Detter committed Jul 6, 2016
1 parent 16fce86 commit b47e64d
Showing 1 changed file with 24 additions and 5 deletions.
29 changes: 24 additions & 5 deletions common/src/arch-x86.C
Original file line number Diff line number Diff line change
Expand Up @@ -423,11 +423,12 @@ SSET00 = 0, SSET01, SSET02, SSET03, SSET04, SSET05, SSET06,
SSET20, SSET21, SSET22, SSET23, SSET25, SSET26, SSET27,
SSET30, SSET31, SSET32, SSET33,
SSET38, SSET39, SSET3A, SSET3B, SSET3E, SSET3F,
SSET40, SSET41, SSET42, SSET46,
SSET40, SSET41, SSET42, SSET44, SSET46,
SSET4A, SSET4B, SSET4C,
SSET50, SSET51, SSET54, SSET55, SSET56, SSET57,
SSET60, SSET61, SSET62, SSET63, SSET66, SSET67,
SSET69,
SSETDF,
SSETF0
};
/** END_DYNINST_TABLE_DEF */
Expand Down Expand Up @@ -475,6 +476,7 @@ enum { /** AUTOGENERATED */
SSET3E_66,
SSET3F_66,
SSET42_66,
SSET44_66,
SSET4A_66,
SSET4B_66,
SSET4C_66,
Expand All @@ -487,6 +489,7 @@ enum { /** AUTOGENERATED */
SSET66_66,
SSET67_66,
SSET69_66,
SSETDF_66,
SSETF0_F2
};
/** END_DYNINST_TABLE_DEF */
Expand Down Expand Up @@ -3063,7 +3066,7 @@ static ia32_entry threeByteMap2[256] = {
{ e_No_Entry, t_sse_ter, SSET41, true, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_sse_ter, SSET42, true, { 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 },
{ e_No_Entry, t_sse_ter, SSET44, true, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_sse_ter, SSET46, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
Expand Down Expand Up @@ -3237,7 +3240,7 @@ static ia32_entry threeByteMap2[256] = {
{ 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_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_sse_ter, SSETDF, false, { Zz, Zz, Zz }, 0, 0 },
/* E0 */
{ 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 @@ -5568,7 +5571,7 @@ static ia32_entry sseMapBis[][5] = {
}, { /* SSEBDF */
{ 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_aeskeygenassist, t_sse_bis_mult, SSEBDF_66, true, { Vps, Wps, Ib }, 0, s1W2R3R },
{ e_aesdeclast, t_sse_bis_mult, SSEBDF_66, true, { Vps, Wps, Zz }, 0, s1RW2R },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
}, { /* SSEBF0 */
Expand Down Expand Up @@ -5799,6 +5802,10 @@ static ia32_entry sseMapTer[][3] =
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_sse_ter_mult, SSET42_66, false, { Zz, Zz, Zz }, 0, 0 },
{ e_mpsadbw, t_done, 0, true, { Vdq, Wdq, Ib }, 0, s1RW2R3R },
}, { /* SSET44 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_pclmullqlqdq, t_sse_ter_mult, SSET44_66, true, { Vps, Wps, Ib }, 0, s1RW2R3R },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
}, { /* SSET46 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_vperm2i128, t_done, 0, true, { Vps, Hps, Wps }, 0, s1W2R3R4R },
Expand Down Expand Up @@ -5867,6 +5874,10 @@ static ia32_entry sseMapTer[][3] =
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_sse_ter_mult, SSET69_66, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 }
}, { /* SSETDF */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_aeskeygenassist, t_sse_ter_mult, SSETDF_66, true, { Vps, Wps, Ib }, 0, s1W2R3R },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 }
}, { /* SSETF0 */
{ 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 @@ -7307,7 +7318,7 @@ ia32_entry sseMapBisMult[][3] =
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
}, { /* SSEBDF_66 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_vaeskeygenassist, t_done, 0, true, { Vps, Wps, Ib }, 0, s1W2R3R },
{ e_aesdeclast, t_done, 0, true, { Vps, Hps, Wps }, 0, s1R2R3R },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
}, { /* SSEBF2_NO */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
Expand Down Expand Up @@ -7514,6 +7525,10 @@ ia32_entry sseMapTerMult[][3] =
{ e_vmpsadbw, t_done, 0, true, { Vps, Hps, Wps }, 0, s1W2R3R4R },
{ e_vdbpsadbw, t_done, 0, true, { Vps, Hps, Wps }, 0, s1W2R3R4R },
{ e_vdbpsadbw, t_done, 0, true, { Vps, Hps, Wps }, 0, s1W2R3R4R }
}, { /* SSET44_66 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_vpclmullqlqdq, t_done, 0, true, { Vps, Hps, Wps }, 0, s1W2R3R4R },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
}, { /* SSET4A_66 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_vblendvps, t_done, 0, true, { Vps, Hps, Wps }, 0, s1W2R3R4R },
Expand Down Expand Up @@ -7562,6 +7577,10 @@ ia32_entry sseMapTerMult[][3] =
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_vexw, VEXW95, false, { Zz, Zz, Zz }, 0, 0 },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 }
}, { /* SSETDF_66 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_vaeskeygenassist, t_done, 0, true, { Vps, Wps, Ib }, 0, s1W2R3R },
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 }
}, { /* SSETF0_F2 */
{ e_No_Entry, t_ill, 0, false, { Zz, Zz, Zz }, 0, 0 },
{ e_rorx, t_done, 0, true, { Gv, Bv, Ib }, 0, s1W2R3R },
Expand Down

0 comments on commit b47e64d

Please sign in to comment.