Add AES-NI and PCLMULQDQ instructions to the x86 configuration file. Signed-off-by: Jan Bobek <jan.bo...@gmail.com> --- x86.risu | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+)
diff --git a/x86.risu b/x86.risu index bc6636e..177979a 100644 --- a/x86.risu +++ b/x86.risu @@ -886,6 +886,51 @@ ROUNDSD SSE4_1 00001111 00111010 00001011 \ !constraints { data16($_); modrm($_); imm($_, width => 8); 1 } \ !memory { load(size => 8); } +# +# AES Instructions +# ---------------- +# + +# 66 0F 38 DE /r: AESDEC xmm1, xmm2/m128 +AESDEC AES 00001111 00111000 11011110 \ + !constraints { data16($_); modrm($_); 1 } \ + !memory { load(size => 16, align => 16); } + +# 66 0F 38 DF /r: AESDECLAST xmm1, xmm2/m128 +AESDECLAST AES 00001111 00111000 11011111 \ + !constraints { data16($_); modrm($_); 1 } \ + !memory { load(size => 16, align => 16); } + +# 66 0F 38 DC /r: AESENC xmm1, xmm2/m128 +AESENC AES 00001111 00111000 11011100 \ + !constraints { data16($_); modrm($_); 1 } \ + !memory { load(size => 16, align => 16); } + +# 66 0F 38 DD /r: AESENCLAST xmm1, xmm2/m128 +AESENCLAST AES 00001111 00111000 11011101 \ + !constraints { data16($_); modrm($_); 1 } \ + !memory { load(size => 16, align => 16); } + +# 66 0F 38 DB /r: AESIMC xmm1, xmm2/m128 +AESIMC AES 00001111 00111000 11011011 \ + !constraints { data16($_); modrm($_); 1 } \ + !memory { load(size => 16, align => 16); } + +# 66 0F 3A DF /r ib: AESKEYGENASSIST xmm1, xmm2/m128, imm8 +AESKEYGENASSIST AES 00001111 00111010 11011111 \ + !constraints { data16($_); modrm($_); imm($_, width => 8); 1 } \ + !memory { load(size => 16, align => 16); } + +# +# PCLMULQDQ Instructions +# ---------------------- +# + +# 66 0F 3A 44 /r ib: PCLMULQDQ xmm1, xmm2/m128, imm8 +PCLMULQDQ PCLMULQDQ 00001111 00111010 01000100 \ + !constraints { data16($_); modrm($_); imm($_, width => 8); 1 } \ + !memory { load(size => 16, align => 16); } + # # Comparison Instructions # ----------------------- -- 2.20.1