x86: SM4-NI VEX support Add VEX-encoded SM4-NI instructions. Signed-off-by: Tomasz Kantecki <tomasz.kantecki@intel.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
diff --git a/x86/iflags.ph b/x86/iflags.ph index da53219..73a115f 100644 --- a/x86/iflags.ph +++ b/x86/iflags.ph
@@ -114,6 +114,7 @@ if_("SMAP", "Supervisor Mode Access Prevention (SMAP)"); if_("SHA512", "SHA512 instructions"); if_("SM3", "SM3 instructions"); +if_("SM4", "SM4 instructions"); # Put these last to minimize their relevance if_("OBSOLETE", "Instruction removed from architecture");
diff --git a/x86/insns.dat b/x86/insns.dat index 5d2b069..d40350e 100644 --- a/x86/insns.dat +++ b/x86/insns.dat
@@ -3596,6 +3596,12 @@ VSM3MSG2 xmmreg,xmmreg,xmmreg [rvm: vex.nds.128.66.0f38.w0 da /r] SM3,AVX,FUTURE VSM3RNDS2 xmmreg,xmmreg,xmmreg,imm8 [rvmi: vex.nds.128.66.0f3a.w0 de /r ib] SM3,AVX,FUTURE +;# SM4 +VSM4KEY4 xmmreg,xmmreg,xmmrm128 [rvm: vex.nds.128.f3.0f38.w0 da /r] SM4,AVX,FUTURE +VSM4KEY4 ymmreg,ymmreg,ymmrm128 [rvm: vex.nds.256.f3.0f38.w0 da /r] SM4,AVX,FUTURE +VSM4RNDS4 xmmreg,xmmreg,xmmrm128 [rvm: vex.nds.128.f2.0f38.w0 da /r] SM4,AVX,FUTURE +VSM4RNDS4 ymmreg,ymmreg,ymmrm128 [rvm: vex.nds.256.f2.0f38.w0 da /r] SM4,AVX,FUTURE + ;# AVX no exception conversions ; Must precede AVX-512 versions VBCSTNEBF16PS xmmreg,mem16 [rm: vex.128.f3.0f38.w0 b1 /r] AVXNECONVERT,FUTURE,LATEVEX,SW