diff options
author | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-08-11 17:29:30 +0000 |
---|---|---|
committer | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-08-11 17:29:30 +0000 |
commit | 57ad7e4e6bd530817ffdcf3fa55444a50c57d808 (patch) | |
tree | 6a62d1487d87ee5afd92c16ddaa854525815a43e | |
parent | 9451899dcb3776129fc2ebd6c6413af2c5339d7b (diff) | |
download | fpc-57ad7e4e6bd530817ffdcf3fa55444a50c57d808.tar.gz |
-- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«:
U compiler/i8086/r8086int.inc
U compiler/i8086/r8086nor.inc
U compiler/i8086/r8086rni.inc
U compiler/i8086/r8086std.inc
U compiler/i386/i386prop.inc
U compiler/i386/i386att.inc
U compiler/i386/i386atts.inc
U compiler/i386/i386int.inc
U compiler/i8086/i8086int.inc
U compiler/i8086/i8086op.inc
U compiler/i8086/r8086dwrf.inc
U compiler/i8086/r8086ari.inc
U compiler/i8086/r8086con.inc
U compiler/i8086/r8086nasm.inc
U compiler/i8086/r8086num.inc
U compiler/i8086/r8086stab.inc
U compiler/i386/i386nop.inc
U compiler/i386/i386op.inc
U compiler/i386/i386tab.inc
U compiler/i386/r386ot.inc
U compiler/i386/r386ari.inc
U compiler/i386/r386att.inc
U compiler/i386/r386con.inc
U compiler/i386/r386dwrf.inc
U compiler/i386/r386int.inc
U compiler/i386/r386iri.inc
U compiler/i386/r386nasm.inc
U compiler/i386/r386nor.inc
U compiler/i386/r386nri.inc
U compiler/i386/r386num.inc
U compiler/i386/r386rni.inc
U compiler/i386/r386sri.inc
U compiler/i386/r386stab.inc
U compiler/i386/r386std.inc
U compiler/i8086/i8086prop.inc
U compiler/i8086/i8086att.inc
U compiler/i8086/i8086atts.inc
U compiler/i8086/i8086nop.inc
U compiler/i8086/i8086tab.inc
U compiler/i8086/r8086ot.inc
U compiler/i8086/r8086att.inc
U compiler/i8086/r8086iri.inc
U compiler/i8086/r8086nri.inc
U compiler/i8086/r8086sri.inc
U compiler/x86/agx86int.pas
U compiler/x86/rax86int.pas
U compiler/x86/aasmcpu.pas
U compiler/x86/rax86.pas
U compiler/x86/x86ins.dat
U compiler/x86/agx86att.pas
U compiler/x86/cpubase.pas
U packages/rtl-objpas/src/inc/rtti.pp
U packages/rtl-objpas/tests/tests.rtti.pas
U rtl
U compiler/x86_64/x8664att.inc
U compiler/x86_64/x8664tab.inc
U compiler/x86_64/r8664con.inc
U compiler/x86_64/r8664nasm.inc
U compiler/x86_64/r8664sri.inc
U compiler/aasmtai.pas
U compiler/scanner.pas
U tests/utils/avx/readme.txt
U compiler/x86_64/x8664ats.inc
U compiler/x86_64/x8664op.inc
U compiler/x86_64/r8664att.inc
U compiler/x86_64/r8664iri.inc
U compiler/x86_64/r8664rni.inc
U compiler/pp.lpi
U compiler/msgtxt.inc
U compiler/ppcx64.lpi
U compiler/x86_64/x8664pro.inc
U compiler/x86_64/x8664nop.inc
U compiler/x86_64/r8664ari.inc
U compiler/x86_64/r8664int.inc
U compiler/x86_64/r8664num.inc
U compiler/x86_64/r8664std.inc
U compiler/msgidx.inc
U compiler/utils/mkx86ins.pp
U compiler/x86/x86reg.dat
D compiler/x86/cx86innr.inc
U compiler/x86_64/x8664int.inc
U compiler/x86_64/r8664ot.inc
U compiler/x86_64/r8664dwrf.inc
U compiler/x86_64/r8664nor.inc
U compiler/x86_64/r8664stab.inc
U compiler/msg/errore.msg
U compiler/utils/mkx86reg.pp
U tests/utils/avx/asmtestgenerator.pas
U tests/utils/avx/options.pas
U tests/utils/avx/avxtestgenerator.pp
U tests/test/units/character/tissurrogatepair2.pp
U tests/test/units/character/tissurrogatepair.pp
U tests/utils/avx/avxopcodes.pas
U .
-- Aufzeichnung der Informationen für Zusammenführung zwischen Projektarchiv-URLs in ».«:
U .
U packages/rtl-objpas/src/inc/rtti.pp
U packages/rtl-objpas/tests/tests.rtti.pas
U rtl
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@42654 3ad0048d-3df7-0310-abae-a5850022a9f2
87 files changed, 62662 insertions, 7512 deletions
diff --git a/compiler/aasmtai.pas b/compiler/aasmtai.pas index 1fc18b0037..f1d377e134 100644 --- a/compiler/aasmtai.pas +++ b/compiler/aasmtai.pas @@ -446,6 +446,9 @@ interface { please keep the size of this record <=12 bytes and keep it properly aligned } toper = record ot : longint; + {$ifdef x86} + vopext: smallint; + {$ENDIF} case typ : toptype of top_none : (); top_reg : (reg:tregister); diff --git a/compiler/i386/i386att.inc b/compiler/i386/i386att.inc index 857d483b10..a9ff9b1baf 100644 --- a/compiler/i386/i386att.inc +++ b/compiler/i386/i386att.inc @@ -783,8 +783,10 @@ 'vcvtdq2ps', 'vcvtpd2dq', 'vcvtpd2ps', +'vcvtph2ps', 'vcvtps2dq', 'vcvtps2pd', +'vcvtps2ph', 'vcvtsd2si', 'vcvtsd2ss', 'vcvtsi2sd', @@ -1053,66 +1055,66 @@ 'vpgatherdq', 'vpgatherqd', 'vpgatherqq', -'vfmadd132pd', -'vfmadd213pd', -'vfmadd231pd', 'vfmaddpd', +'vfmadd132pd', 'vfmadd132ps', -'vfmadd213ps', -'vfmadd231ps', 'vfmadd132sd', -'vfmadd213sd', -'vfmadd231sd', 'vfmadd132ss', +'vfmadd213pd', +'vfmadd213ps', +'vfmadd213sd', 'vfmadd213ss', +'vfmadd231pd', +'vfmadd231ps', +'vfmadd231sd', 'vfmadd231ss', 'vfmaddsub132pd', -'vfmaddsub213pd', -'vfmaddsub231pd', 'vfmaddsub132ps', +'vfmaddsub213pd', 'vfmaddsub213ps', +'vfmaddsub231pd', 'vfmaddsub231ps', -'vfmsubadd132pd', -'vfmsubadd213pd', -'vfmsubadd231pd', -'vfmsubadd132ps', -'vfmsubadd213ps', -'vfmsubadd231ps', 'vfmsub132pd', -'vfmsub213pd', -'vfmsub231pd', 'vfmsub132ps', -'vfmsub213ps', -'vfmsub231ps', 'vfmsub132sd', -'vfmsub213sd', -'vfmsub231sd', 'vfmsub132ss', +'vfmsub213pd', +'vfmsub213ps', +'vfmsub213sd', 'vfmsub213ss', +'vfmsub231pd', +'vfmsub231ps', +'vfmsub231sd', 'vfmsub231ss', +'vfmsubadd132pd', +'vfmsubadd132ps', +'vfmsubadd213pd', +'vfmsubadd213ps', +'vfmsubadd231pd', +'vfmsubadd231ps', 'vfnmadd132pd', -'vfnmadd213pd', -'vfnmadd231pd', 'vfnmadd132ps', -'vfnmadd213ps', -'vfnmadd231ps', 'vfnmadd132sd', -'vfnmadd213sd', -'vfnmadd231sd', 'vfnmadd132ss', +'vfnmadd213pd', +'vfnmadd213ps', +'vfnmadd213sd', 'vfnmadd213ss', +'vfnmadd231pd', +'vfnmadd231ps', +'vfnmadd231sd', 'vfnmadd231ss', 'vfnmsub132pd', -'vfnmsub213pd', -'vfnmsub231pd', 'vfnmsub132ps', -'vfnmsub213ps', -'vfnmsub231ps', 'vfnmsub132sd', -'vfnmsub213sd', -'vfnmsub231sd', 'vfnmsub132ss', +'vfnmsub213pd', +'vfnmsub213ps', +'vfnmsub213sd', 'vfnmsub213ss', +'vfnmsub231pd', +'vfnmsub231ps', +'vfnmsub231sd', 'vfnmsub231ss', 'xacquire', 'xrelease', @@ -1123,5 +1125,283 @@ 'rdrand', 'rdseed', 'xgetbv', -'prefetchwt1' +'prefetchwt1', +'kaddb', +'kaddd', +'kaddq', +'kaddw', +'kandb', +'kandd', +'kandnb', +'kandnd', +'kandnq', +'kandnw', +'kandq', +'kandw', +'kmovb', +'kmovd', +'kmovq', +'kmovw', +'knotb', +'knotd', +'knotq', +'knotw', +'korb', +'kord', +'korq', +'kortestb', +'kortestd', +'kortestq', +'kortestw', +'korw', +'kshiftlb', +'kshiftld', +'kshiftlq', +'kshiftlw', +'kshiftrb', +'kshiftrd', +'kshiftrq', +'kshiftrw', +'ktestb', +'ktestd', +'ktestq', +'ktestw', +'kunpckbw', +'kunpckdq', +'kunpckwd', +'kxnorb', +'kxnord', +'kxnorq', +'kxnorw', +'kxorb', +'kxord', +'kxorq', +'kxorw', +'valignd', +'valignq', +'vblendmpd', +'vblendmps', +'vbroadcastf32x2', +'vbroadcastf32x4', +'vbroadcastf32x8', +'vbroadcastf64x2', +'vbroadcastf64x4', +'vbroadcasti32x2', +'vbroadcasti32x4', +'vbroadcasti32x8', +'vbroadcasti64x2', +'vbroadcasti64x4', +'vcompresspd', +'vcompressps', +'vcvtpd2qq', +'vcvtpd2udq', +'vcvtpd2uqq', +'vcvtps2qq', +'vcvtps2udq', +'vcvtps2uqq', +'vcvtqq2pd', +'vcvtqq2ps', +'vcvtsd2usi', +'vcvtss2usi', +'vcvttpd2qq', +'vcvttpd2udq', +'vcvttpd2uqq', +'vcvttps2qq', +'vcvttps2udq', +'vcvttps2uqq', +'vcvttsd2usi', +'vcvttss2usi', +'vcvtudq2pd', +'vcvtudq2ps', +'vcvtuqq2pd', +'vcvtuqq2ps', +'vcvtusi2sd', +'vcvtusi2ss', +'vdbpsadbw', +'vexp2pd', +'vexp2ps', +'vexpandpd', +'vexpandps', +'vextractf32x4', +'vextractf32x8', +'vextractf64x2', +'vextractf64x4', +'vextracti32x4', +'vextracti32x8', +'vextracti64x2', +'vextracti64x4', +'vfixupimmpd', +'vfixupimmps', +'vfixupimmsd', +'vfixupimmss', +'vfpclasspd', +'vfpclassps', +'vfpclasssd', +'vfpclassss', +'vgetexppd', +'vgetexpps', +'vgetexpsd', +'vgetexpss', +'vgetmantpd', +'vgetmantps', +'vgetmantsd', +'vgetmantss', +'vinsertf32x4', +'vinsertf32x8', +'vinsertf64x2', +'vinsertf64x4', +'vinserti32x4', +'vinserti32x8', +'vinserti64x2', +'vinserti64x4', +'vmovdqa32', +'vmovdqa64', +'vmovdqu16', +'vmovdqu32', +'vmovdqu64', +'vmovdqu8', +'vpabsq', +'vpandd', +'vpandnd', +'vpandnq', +'vpandq', +'vpblendmb', +'vpblendmd', +'vpblendmq', +'vpblendmw', +'vpcmpb', +'vpcmpd', +'vpcmpq', +'vpcmpub', +'vpcmpud', +'vpcmpuq', +'vpcmpuw', +'vpcmpw', +'vpcompressd', +'vpcompressq', +'vpconflictd', +'vpconflictq', +'vpermb', +'vpermi2b', +'vpermi2d', +'vpermi2pd', +'vpermi2ps', +'vpermi2q', +'vpermi2w', +'vpermt2b', +'vpermt2d', +'vpermt2pd', +'vpermt2ps', +'vpermt2q', +'vpermt2w', +'vpermw', +'vpexpandd', +'vpexpandq', +'vplzcntd', +'vplzcntq', +'vpmadd52huq', +'vpmadd52luq', +'vpmaxsq', +'vpmaxuq', +'vpminsq', +'vpminuq', +'vpmovb2m', +'vpmovd2m', +'vpmovdb', +'vpmovdw', +'vpmovm2b', +'vpmovm2d', +'vpmovm2q', +'vpmovm2w', +'vpmovq2m', +'vpmovqb', +'vpmovqd', +'vpmovqw', +'vpmovsdb', +'vpmovsdw', +'vpmovsqb', +'vpmovsqd', +'vpmovsqw', +'vpmovswb', +'vpmovusdb', +'vpmovusdw', +'vpmovusqb', +'vpmovusqd', +'vpmovusqw', +'vpmovuswb', +'vpmovw2m', +'vpmovwb', +'vpmullq', +'vpmultishiftqb', +'vpord', +'vporq', +'vprold', +'vprolq', +'vprolvd', +'vprolvq', +'vprord', +'vprorq', +'vprorvd', +'vprorvq', +'vpscatterdd', +'vpscatterdq', +'vpscatterqd', +'vpscatterqq', +'vpsllvw', +'vpsraq', +'vpsravq', +'vpsravw', +'vpsrlvw', +'vpternlogd', +'vpternlogq', +'vptestmb', +'vptestmd', +'vptestmq', +'vptestmw', +'vptestnmb', +'vptestnmd', +'vptestnmq', +'vptestnmw', +'vpxord', +'vpxorq', +'vrangepd', +'vrangeps', +'vrangesd', +'vrangess', +'vrcp14pd', +'vrcp14ps', +'vrcp14sd', +'vrcp14ss', +'vrcp28pd', +'vrcp28ps', +'vrcp28sd', +'vrcp28ss', +'vreducepd', +'vreduceps', +'vreducesd', +'vreducess', +'vrndscalepd', +'vrndscaleps', +'vrndscalesd', +'vrndscaless', +'vrsqrt14pd', +'vrsqrt14ps', +'vrsqrt14sd', +'vrsqrt14ss', +'vrsqrt28pd', +'vrsqrt28ps', +'vrsqrt28sd', +'vrsqrt28ss', +'vscalefpd', +'vscalefps', +'vscalefsd', +'vscalefss', +'vscatterdpd', +'vscatterdps', +'vscatterqpd', +'vscatterqps', +'vshuff32x4', +'vshuff64x2', +'vshufi32x4', +'vshufi64x2' ); diff --git a/compiler/i386/i386atts.inc b/compiler/i386/i386atts.inc index 8b16a8fb89..4864a11240 100644 --- a/compiler/i386/i386atts.inc +++ b/compiler/i386/i386atts.inc @@ -787,6 +787,8 @@ attsufNONE, attsufNONE, attsufNONE, attsufNONE, +attsufNONE, +attsufNONE, attsufINT, attsufINT, attsufNONE, @@ -1123,5 +1125,283 @@ attsufNONE, attsufNONE, attsufNONE, attsufNONE, -attsufINT +attsufINT, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE ); diff --git a/compiler/i386/i386int.inc b/compiler/i386/i386int.inc index 0d5c3b02a8..397b6f4fc0 100644 --- a/compiler/i386/i386int.inc +++ b/compiler/i386/i386int.inc @@ -783,8 +783,10 @@ 'vcvtdq2ps', 'vcvtpd2dq', 'vcvtpd2ps', +'vcvtph2ps', 'vcvtps2dq', 'vcvtps2pd', +'vcvtps2ph', 'vcvtsd2si', 'vcvtsd2ss', 'vcvtsi2sd', @@ -1053,66 +1055,66 @@ 'vpgatherdq', 'vpgatherqd', 'vpgatherqq', -'vfmadd132pd', -'vfmadd213pd', -'vfmadd231pd', 'vfmaddpd', +'vfmadd132pd', 'vfmadd132ps', -'vfmadd213ps', -'vfmadd231ps', 'vfmadd132sd', -'vfmadd213sd', -'vfmadd231sd', 'vfmadd132ss', +'vfmadd213pd', +'vfmadd213ps', +'vfmadd213sd', 'vfmadd213ss', +'vfmadd231pd', +'vfmadd231ps', +'vfmadd231sd', 'vfmadd231ss', 'vfmaddsub132pd', -'vfmaddsub213pd', -'vfmaddsub231pd', 'vfmaddsub132ps', +'vfmaddsub213pd', 'vfmaddsub213ps', +'vfmaddsub231pd', 'vfmaddsub231ps', -'vfmsubadd132pd', -'vfmsubadd213pd', -'vfmsubadd231pd', -'vfmsubadd132ps', -'vfmsubadd213ps', -'vfmsubadd231ps', 'vfmsub132pd', -'vfmsub213pd', -'vfmsub231pd', 'vfmsub132ps', -'vfmsub213ps', -'vfmsub231ps', 'vfmsub132sd', -'vfmsub213sd', -'vfmsub231sd', 'vfmsub132ss', +'vfmsub213pd', +'vfmsub213ps', +'vfmsub213sd', 'vfmsub213ss', +'vfmsub231pd', +'vfmsub231ps', +'vfmsub231sd', 'vfmsub231ss', +'vfmsubadd132pd', +'vfmsubadd132ps', +'vfmsubadd213pd', +'vfmsubadd213ps', +'vfmsubadd231pd', +'vfmsubadd231ps', 'vfnmadd132pd', -'vfnmadd213pd', -'vfnmadd231pd', 'vfnmadd132ps', -'vfnmadd213ps', -'vfnmadd231ps', 'vfnmadd132sd', -'vfnmadd213sd', -'vfnmadd231sd', 'vfnmadd132ss', +'vfnmadd213pd', +'vfnmadd213ps', +'vfnmadd213sd', 'vfnmadd213ss', +'vfnmadd231pd', +'vfnmadd231ps', +'vfnmadd231sd', 'vfnmadd231ss', 'vfnmsub132pd', -'vfnmsub213pd', -'vfnmsub231pd', 'vfnmsub132ps', -'vfnmsub213ps', -'vfnmsub231ps', 'vfnmsub132sd', -'vfnmsub213sd', -'vfnmsub231sd', 'vfnmsub132ss', +'vfnmsub213pd', +'vfnmsub213ps', +'vfnmsub213sd', 'vfnmsub213ss', +'vfnmsub231pd', +'vfnmsub231ps', +'vfnmsub231sd', 'vfnmsub231ss', 'xacquire', 'xrelease', @@ -1123,5 +1125,283 @@ 'rdrand', 'rdseed', 'xgetbv', -'prefetchwt1' +'prefetchwt1', +'kaddb', +'kaddd', +'kaddq', +'kaddw', +'kandb', +'kandd', +'kandnb', +'kandnd', +'kandnq', +'kandnw', +'kandq', +'kandw', +'kmovb', +'kmovd', +'kmovq', +'kmovw', +'knotb', +'knotd', +'knotq', +'knotw', +'korb', +'kord', +'korq', +'kortestb', +'kortestd', +'kortestq', +'kortestw', +'korw', +'kshiftlb', +'kshiftld', +'kshiftlq', +'kshiftlw', +'kshiftrb', +'kshiftrd', +'kshiftrq', +'kshiftrw', +'ktestb', +'ktestd', +'ktestq', +'ktestw', +'kunpckbw', +'kunpckdq', +'kunpckwd', +'kxnorb', +'kxnord', +'kxnorq', +'kxnorw', +'kxorb', +'kxord', +'kxorq', +'kxorw', +'valignd', +'valignq', +'vblendmpd', +'vblendmps', +'vbroadcastf32x2', +'vbroadcastf32x4', +'vbroadcastf32x8', +'vbroadcastf64x2', +'vbroadcastf64x4', +'vbroadcasti32x2', +'vbroadcasti32x4', +'vbroadcasti32x8', +'vbroadcasti64x2', +'vbroadcasti64x4', +'vcompresspd', +'vcompressps', +'vcvtpd2qq', +'vcvtpd2udq', +'vcvtpd2uqq', +'vcvtps2qq', +'vcvtps2udq', +'vcvtps2uqq', +'vcvtqq2pd', +'vcvtqq2ps', +'vcvtsd2usi', +'vcvtss2usi', +'vcvttpd2qq', +'vcvttpd2udq', +'vcvttpd2uqq', +'vcvttps2qq', +'vcvttps2udq', +'vcvttps2uqq', +'vcvttsd2usi', +'vcvttss2usi', +'vcvtudq2pd', +'vcvtudq2ps', +'vcvtuqq2pd', +'vcvtuqq2ps', +'vcvtusi2sd', +'vcvtusi2ss', +'vdbpsadbw', +'vexp2pd', +'vexp2ps', +'vexpandpd', +'vexpandps', +'vextractf32x4', +'vextractf32x8', +'vextractf64x2', +'vextractf64x4', +'vextracti32x4', +'vextracti32x8', +'vextracti64x2', +'vextracti64x4', +'vfixupimmpd', +'vfixupimmps', +'vfixupimmsd', +'vfixupimmss', +'vfpclasspd', +'vfpclassps', +'vfpclasssd', +'vfpclassss', +'vgetexppd', +'vgetexpps', +'vgetexpsd', +'vgetexpss', +'vgetmantpd', +'vgetmantps', +'vgetmantsd', +'vgetmantss', +'vinsertf32x4', +'vinsertf32x8', +'vinsertf64x2', +'vinsertf64x4', +'vinserti32x4', +'vinserti32x8', +'vinserti64x2', +'vinserti64x4', +'vmovdqa32', +'vmovdqa64', +'vmovdqu16', +'vmovdqu32', +'vmovdqu64', +'vmovdqu8', +'vpabsq', +'vpandd', +'vpandnd', +'vpandnq', +'vpandq', +'vpblendmb', +'vpblendmd', +'vpblendmq', +'vpblendmw', +'vpcmpb', +'vpcmpd', +'vpcmpq', +'vpcmpub', +'vpcmpud', +'vpcmpuq', +'vpcmpuw', +'vpcmpw', +'vpcompressd', +'vpcompressq', +'vpconflictd', +'vpconflictq', +'vpermb', +'vpermi2b', +'vpermi2d', +'vpermi2pd', +'vpermi2ps', +'vpermi2q', +'vpermi2w', +'vpermt2b', +'vpermt2d', +'vpermt2pd', +'vpermt2ps', +'vpermt2q', +'vpermt2w', +'vpermw', +'vpexpandd', +'vpexpandq', +'vplzcntd', +'vplzcntq', +'vpmadd52huq', +'vpmadd52luq', +'vpmaxsq', +'vpmaxuq', +'vpminsq', +'vpminuq', +'vpmovb2m', +'vpmovd2m', +'vpmovdb', +'vpmovdw', +'vpmovm2b', +'vpmovm2d', +'vpmovm2q', +'vpmovm2w', +'vpmovq2m', +'vpmovqb', +'vpmovqd', +'vpmovqw', +'vpmovsdb', +'vpmovsdw', +'vpmovsqb', +'vpmovsqd', +'vpmovsqw', +'vpmovswb', +'vpmovusdb', +'vpmovusdw', +'vpmovusqb', +'vpmovusqd', +'vpmovusqw', +'vpmovuswb', +'vpmovw2m', +'vpmovwb', +'vpmullq', +'vpmultishiftqb', +'vpord', +'vporq', +'vprold', +'vprolq', +'vprolvd', +'vprolvq', +'vprord', +'vprorq', +'vprorvd', +'vprorvq', +'vpscatterdd', +'vpscatterdq', +'vpscatterqd', +'vpscatterqq', +'vpsllvw', +'vpsraq', +'vpsravq', +'vpsravw', +'vpsrlvw', +'vpternlogd', +'vpternlogq', +'vptestmb', +'vptestmd', +'vptestmq', +'vptestmw', +'vptestnmb', +'vptestnmd', +'vptestnmq', +'vptestnmw', +'vpxord', +'vpxorq', +'vrangepd', +'vrangeps', +'vrangesd', +'vrangess', +'vrcp14pd', +'vrcp14ps', +'vrcp14sd', +'vrcp14ss', +'vrcp28pd', +'vrcp28ps', +'vrcp28sd', +'vrcp28ss', +'vreducepd', +'vreduceps', +'vreducesd', +'vreducess', +'vrndscalepd', +'vrndscaleps', +'vrndscalesd', +'vrndscaless', +'vrsqrt14pd', +'vrsqrt14ps', +'vrsqrt14sd', +'vrsqrt14ss', +'vrsqrt28pd', +'vrsqrt28ps', +'vrsqrt28sd', +'vrsqrt28ss', +'vscalefpd', +'vscalefps', +'vscalefsd', +'vscalefss', +'vscatterdpd', +'vscatterdps', +'vscatterqpd', +'vscatterqps', +'vshuff32x4', +'vshuff64x2', +'vshufi32x4', +'vshufi64x2' ); diff --git a/compiler/i386/i386nop.inc b/compiler/i386/i386nop.inc index c0a0208994..f8ff92e9d2 100644 --- a/compiler/i386/i386nop.inc +++ b/compiler/i386/i386nop.inc @@ -1,2 +1,2 @@ { don't edit, this file is generated from x86ins.dat } -2129; +4053; diff --git a/compiler/i386/i386op.inc b/compiler/i386/i386op.inc index 5c5e4f19bd..a0dd87ca72 100644 --- a/compiler/i386/i386op.inc +++ b/compiler/i386/i386op.inc @@ -783,8 +783,10 @@ A_VCVTDQ2PD, A_VCVTDQ2PS, A_VCVTPD2DQ, A_VCVTPD2PS, +A_VCVTPH2PS, A_VCVTPS2DQ, A_VCVTPS2PD, +A_VCVTPS2PH, A_VCVTSD2SI, A_VCVTSD2SS, A_VCVTSI2SD, @@ -1053,66 +1055,66 @@ A_VPGATHERDD, A_VPGATHERDQ, A_VPGATHERQD, A_VPGATHERQQ, -A_VFMADD132PD, -A_VFMADD213PD, -A_VFMADD231PD, A_VFMADDPD, +A_VFMADD132PD, A_VFMADD132PS, -A_VFMADD213PS, -A_VFMADD231PS, A_VFMADD132SD, -A_VFMADD213SD, -A_VFMADD231SD, A_VFMADD132SS, +A_VFMADD213PD, +A_VFMADD213PS, +A_VFMADD213SD, A_VFMADD213SS, +A_VFMADD231PD, +A_VFMADD231PS, +A_VFMADD231SD, A_VFMADD231SS, A_VFMADDSUB132PD, -A_VFMADDSUB213PD, -A_VFMADDSUB231PD, A_VFMADDSUB132PS, +A_VFMADDSUB213PD, A_VFMADDSUB213PS, +A_VFMADDSUB231PD, A_VFMADDSUB231PS, -A_VFMSUBADD132PD, -A_VFMSUBADD213PD, -A_VFMSUBADD231PD, -A_VFMSUBADD132PS, -A_VFMSUBADD213PS, -A_VFMSUBADD231PS, A_VFMSUB132PD, -A_VFMSUB213PD, -A_VFMSUB231PD, A_VFMSUB132PS, -A_VFMSUB213PS, -A_VFMSUB231PS, A_VFMSUB132SD, -A_VFMSUB213SD, -A_VFMSUB231SD, A_VFMSUB132SS, +A_VFMSUB213PD, +A_VFMSUB213PS, +A_VFMSUB213SD, A_VFMSUB213SS, +A_VFMSUB231PD, +A_VFMSUB231PS, +A_VFMSUB231SD, A_VFMSUB231SS, +A_VFMSUBADD132PD, +A_VFMSUBADD132PS, +A_VFMSUBADD213PD, +A_VFMSUBADD213PS, +A_VFMSUBADD231PD, +A_VFMSUBADD231PS, A_VFNMADD132PD, -A_VFNMADD213PD, -A_VFNMADD231PD, A_VFNMADD132PS, -A_VFNMADD213PS, -A_VFNMADD231PS, A_VFNMADD132SD, -A_VFNMADD213SD, -A_VFNMADD231SD, A_VFNMADD132SS, +A_VFNMADD213PD, +A_VFNMADD213PS, +A_VFNMADD213SD, A_VFNMADD213SS, +A_VFNMADD231PD, +A_VFNMADD231PS, +A_VFNMADD231SD, A_VFNMADD231SS, A_VFNMSUB132PD, -A_VFNMSUB213PD, -A_VFNMSUB231PD, A_VFNMSUB132PS, -A_VFNMSUB213PS, -A_VFNMSUB231PS, A_VFNMSUB132SD, -A_VFNMSUB213SD, -A_VFNMSUB231SD, A_VFNMSUB132SS, +A_VFNMSUB213PD, +A_VFNMSUB213PS, +A_VFNMSUB213SD, A_VFNMSUB213SS, +A_VFNMSUB231PD, +A_VFNMSUB231PS, +A_VFNMSUB231SD, A_VFNMSUB231SS, A_XACQUIRE, A_XRELEASE, @@ -1123,5 +1125,283 @@ A_XTEST, A_RDRAND, A_RDSEED, A_XGETBV, -A_PREFETCHWT1 +A_PREFETCHWT1, +A_KADDB, +A_KADDD, +A_KADDQ, +A_KADDW, +A_KANDB, +A_KANDD, +A_KANDNB, +A_KANDND, +A_KANDNQ, +A_KANDNW, +A_KANDQ, +A_KANDW, +A_KMOVB, +A_KMOVD, +A_KMOVQ, +A_KMOVW, +A_KNOTB, +A_KNOTD, +A_KNOTQ, +A_KNOTW, +A_KORB, +A_KORD, +A_KORQ, +A_KORTESTB, +A_KORTESTD, +A_KORTESTQ, +A_KORTESTW, +A_KORW, +A_KSHIFTLB, +A_KSHIFTLD, +A_KSHIFTLQ, +A_KSHIFTLW, +A_KSHIFTRB, +A_KSHIFTRD, +A_KSHIFTRQ, +A_KSHIFTRW, +A_KTESTB, +A_KTESTD, +A_KTESTQ, +A_KTESTW, +A_KUNPCKBW, +A_KUNPCKDQ, +A_KUNPCKWD, +A_KXNORB, +A_KXNORD, +A_KXNORQ, +A_KXNORW, +A_KXORB, +A_KXORD, +A_KXORQ, +A_KXORW, +A_VALIGND, +A_VALIGNQ, +A_VBLENDMPD, +A_VBLENDMPS, +A_VBROADCASTF32X2, +A_VBROADCASTF32X4, +A_VBROADCASTF32X8, +A_VBROADCASTF64X2, +A_VBROADCASTF64X4, +A_VBROADCASTI32X2, +A_VBROADCASTI32X4, +A_VBROADCASTI32X8, +A_VBROADCASTI64X2, +A_VBROADCASTI64X4, +A_VCOMPRESSPD, +A_VCOMPRESSPS, +A_VCVTPD2QQ, +A_VCVTPD2UDQ, +A_VCVTPD2UQQ, +A_VCVTPS2QQ, +A_VCVTPS2UDQ, +A_VCVTPS2UQQ, +A_VCVTQQ2PD, +A_VCVTQQ2PS, +A_VCVTSD2USI, +A_VCVTSS2USI, +A_VCVTTPD2QQ, +A_VCVTTPD2UDQ, +A_VCVTTPD2UQQ, +A_VCVTTPS2QQ, +A_VCVTTPS2UDQ, +A_VCVTTPS2UQQ, +A_VCVTTSD2USI, +A_VCVTTSS2USI, +A_VCVTUDQ2PD, +A_VCVTUDQ2PS, +A_VCVTUQQ2PD, +A_VCVTUQQ2PS, +A_VCVTUSI2SD, +A_VCVTUSI2SS, +A_VDBPSADBW, +A_VEXP2PD, +A_VEXP2PS, +A_VEXPANDPD, +A_VEXPANDPS, +A_VEXTRACTF32X4, +A_VEXTRACTF32X8, +A_VEXTRACTF64X2, +A_VEXTRACTF64X4, +A_VEXTRACTI32X4, +A_VEXTRACTI32X8, +A_VEXTRACTI64X2, +A_VEXTRACTI64X4, +A_VFIXUPIMMPD, +A_VFIXUPIMMPS, +A_VFIXUPIMMSD, +A_VFIXUPIMMSS, +A_VFPCLASSPD, +A_VFPCLASSPS, +A_VFPCLASSSD, +A_VFPCLASSSS, +A_VGETEXPPD, +A_VGETEXPPS, +A_VGETEXPSD, +A_VGETEXPSS, +A_VGETMANTPD, +A_VGETMANTPS, +A_VGETMANTSD, +A_VGETMANTSS, +A_VINSERTF32X4, +A_VINSERTF32X8, +A_VINSERTF64X2, +A_VINSERTF64X4, +A_VINSERTI32X4, +A_VINSERTI32X8, +A_VINSERTI64X2, +A_VINSERTI64X4, +A_VMOVDQA32, +A_VMOVDQA64, +A_VMOVDQU16, +A_VMOVDQU32, +A_VMOVDQU64, +A_VMOVDQU8, +A_VPABSQ, +A_VPANDD, +A_VPANDND, +A_VPANDNQ, +A_VPANDQ, +A_VPBLENDMB, +A_VPBLENDMD, +A_VPBLENDMQ, +A_VPBLENDMW, +A_VPCMPB, +A_VPCMPD, +A_VPCMPQ, +A_VPCMPUB, +A_VPCMPUD, +A_VPCMPUQ, +A_VPCMPUW, +A_VPCMPW, +A_VPCOMPRESSD, +A_VPCOMPRESSQ, +A_VPCONFLICTD, +A_VPCONFLICTQ, +A_VPERMB, +A_VPERMI2B, +A_VPERMI2D, +A_VPERMI2PD, +A_VPERMI2PS, +A_VPERMI2Q, +A_VPERMI2W, +A_VPERMT2B, +A_VPERMT2D, +A_VPERMT2PD, +A_VPERMT2PS, +A_VPERMT2Q, +A_VPERMT2W, +A_VPERMW, +A_VPEXPANDD, +A_VPEXPANDQ, +A_VPLZCNTD, +A_VPLZCNTQ, +A_VPMADD52HUQ, +A_VPMADD52LUQ, +A_VPMAXSQ, +A_VPMAXUQ, +A_VPMINSQ, +A_VPMINUQ, +A_VPMOVB2M, +A_VPMOVD2M, +A_VPMOVDB, +A_VPMOVDW, +A_VPMOVM2B, +A_VPMOVM2D, +A_VPMOVM2Q, +A_VPMOVM2W, +A_VPMOVQ2M, +A_VPMOVQB, +A_VPMOVQD, +A_VPMOVQW, +A_VPMOVSDB, +A_VPMOVSDW, +A_VPMOVSQB, +A_VPMOVSQD, +A_VPMOVSQW, +A_VPMOVSWB, +A_VPMOVUSDB, +A_VPMOVUSDW, +A_VPMOVUSQB, +A_VPMOVUSQD, +A_VPMOVUSQW, +A_VPMOVUSWB, +A_VPMOVW2M, +A_VPMOVWB, +A_VPMULLQ, +A_VPMULTISHIFTQB, +A_VPORD, +A_VPORQ, +A_VPROLD, +A_VPROLQ, +A_VPROLVD, +A_VPROLVQ, +A_VPRORD, +A_VPRORQ, +A_VPRORVD, +A_VPRORVQ, +A_VPSCATTERDD, +A_VPSCATTERDQ, +A_VPSCATTERQD, +A_VPSCATTERQQ, +A_VPSLLVW, +A_VPSRAQ, +A_VPSRAVQ, +A_VPSRAVW, +A_VPSRLVW, +A_VPTERNLOGD, +A_VPTERNLOGQ, +A_VPTESTMB, +A_VPTESTMD, +A_VPTESTMQ, +A_VPTESTMW, +A_VPTESTNMB, +A_VPTESTNMD, +A_VPTESTNMQ, +A_VPTESTNMW, +A_VPXORD, +A_VPXORQ, +A_VRANGEPD, +A_VRANGEPS, +A_VRANGESD, +A_VRANGESS, +A_VRCP14PD, +A_VRCP14PS, +A_VRCP14SD, +A_VRCP14SS, +A_VRCP28PD, +A_VRCP28PS, +A_VRCP28SD, +A_VRCP28SS, +A_VREDUCEPD, +A_VREDUCEPS, +A_VREDUCESD, +A_VREDUCESS, +A_VRNDSCALEPD, +A_VRNDSCALEPS, +A_VRNDSCALESD, +A_VRNDSCALESS, +A_VRSQRT14PD, +A_VRSQRT14PS, +A_VRSQRT14SD, +A_VRSQRT14SS, +A_VRSQRT28PD, +A_VRSQRT28PS, +A_VRSQRT28SD, +A_VRSQRT28SS, +A_VSCALEFPD, +A_VSCALEFPS, +A_VSCALEFSD, +A_VSCALEFSS, +A_VSCATTERDPD, +A_VSCATTERDPS, +A_VSCATTERQPD, +A_VSCATTERQPS, +A_VSHUFF32X4, +A_VSHUFF64X2, +A_VSHUFI32X4, +A_VSHUFI64X2 ); diff --git a/compiler/i386/i386prop.inc b/compiler/i386/i386prop.inc index c91097744f..054c3f0b01 100644 --- a/compiler/i386/i386prop.inc +++ b/compiler/i386/i386prop.inc @@ -787,6 +787,8 @@ (Ch: [Ch_Wop2, Ch_Rop1]), (Ch: [Ch_Wop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), +(Ch: [Ch_Wop2, Ch_Rop1]), +(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), @@ -876,7 +878,7 @@ (Ch: [Ch_All]), (Ch: [Ch_All]), (Ch: [Ch_All]), -(Ch: [Ch_All]), +(Ch: [Ch_All, Ch_None]), (Ch: [Ch_All]), (Ch: [Ch_All]), (Ch: [Ch_All]), @@ -1123,5 +1125,283 @@ (Ch: [Ch_Wop1, Ch_WFlags]), (Ch: [Ch_Wop1, Ch_WFlags]), (Ch: [Ch_WEAX, Ch_WEDX, Ch_RECX]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), (Ch: [Ch_All]) ); diff --git a/compiler/i386/i386tab.inc b/compiler/i386/i386tab.inc index 0d499b0344..3d03de38f7 100644 --- a/compiler/i386/i386tab.inc +++ b/compiler/i386/i386tab.inc @@ -8732,57 +8732,127 @@ ( opcode : A_VADDPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VADDPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#88#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#88#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VADDPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VADDPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#88#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#88#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VADDSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VADDSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#88#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#88#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VADDSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VADDSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#88#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#88#61#80; flags : [if_avx,if_sandybridge] ), ( @@ -8817,29 +8887,29 @@ opcode : A_VAESDEC; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#222#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#222#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESDECLAST; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#223#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#223#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESENC; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#220#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#220#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESENCLAST; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#221#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#221#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESIMC; @@ -8858,58 +8928,170 @@ ( opcode : A_VANDNPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDNPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#85#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VANDNPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDNPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#85#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VANDPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#84#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VANDPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#84#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VBLENDPD; @@ -8977,46 +9159,74 @@ ( opcode : A_VBROADCASTSD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#25#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#234#241#242#244#249#1#25#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VBROADCASTSD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#25#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#244#249#1#25#72; flags : [if_avx2] ), ( - opcode : A_VBROADCASTSS; + opcode : A_VBROADCASTSD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#24#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#234#241#249#1#25#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VBROADCASTSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#25#72; + flags : [if_avx512] ), ( opcode : A_VBROADCASTSS; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#24#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#24#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VBROADCASTSS; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#24#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#24#72; flags : [if_avx2] ), ( opcode : A_VBROADCASTSS; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#24#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#24#72; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VBROADCASTSS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#24#72; flags : [if_avx2] ), ( + opcode : A_VBROADCASTSS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#233#241#249#1#24#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VBROADCASTSS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#24#72; + flags : [if_avx512] + ), + ( opcode : A_VCMPEQPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); @@ -9915,6 +10125,55 @@ ( opcode : A_VCMPPD; ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPPD; + ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); code : #241#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] @@ -9929,6 +10188,55 @@ ( opcode : A_VCMPPS; ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPPS; + ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); code : #242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] @@ -9943,28 +10251,56 @@ ( opcode : A_VCMPSD; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + optypes : (ot_kreg_m,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #220#232#234#248#1#194#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCMPSD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #220#232#234#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPSD; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); code : #220#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCMPSD; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); code : #220#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCMPSS; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + optypes : (ot_kreg_m,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #219#232#248#1#194#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCMPSS; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #219#232#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPSS; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); code : #219#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCMPSS; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); code : #219#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), @@ -9972,371 +10308,882 @@ opcode : A_VCOMISD; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#248#1#47#72; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#47#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VCOMISD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#47#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#234#241#242#248#1#47#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCOMISS; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #242#248#1#47#72; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#47#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VCOMISS; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#47#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#242#248#1#47#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #219#242#248#1#230#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #219#232#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_thv] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#242#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #219#242#244#248#1#230#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#248#1#230#72; + flags : [if_avx512,if_bcst2,if_thv] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none); - code : #219#242#244#248#1#230#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #219#232#242#244#248#1#230#72; + flags : [if_avx,if_sandybridge,if_thv] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#242#244#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#244#248#1#230#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #219#232#233#248#1#230#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #219#232#233#248#1#230#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#233#248#1#230#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( opcode : A_VCVTDQ2PS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#242#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VCVTDQ2PS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#242#244#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#248#1#91#72; + flags : [if_avx512] ), ( opcode : A_VCVTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #220#242#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #220#232#234#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #220#232#234#242#244#248#1#230#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#242#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none); - code : #220#242#244#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#248#1#230#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#244#248#1#230#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#234#242#244#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #220#232#233#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#233#234#248#1#230#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #220#232#233#234#248#1#230#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTPD2PS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#242#248#1#90#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#242#244#248#1#90#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPD2PS; ops : 2; - optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#90#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#90#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#90#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#90#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#90#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#19#72; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#19#72; + flags : [if_avx] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#19#72; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#19#72; + flags : [if_avx] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#19#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#19#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTPS2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#91#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#248#1#91#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPS2DQ; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#91#72; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#241#242#244#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#242#244#248#1#91#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#241#248#1#91#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTPS2PD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #242#248#1#90#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#242#248#1#90#72; + flags : [if_avx,if_sandybridge,if_thv] ), ( opcode : A_VCVTPS2PD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPS2PD; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #242#244#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#90#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#242#244#248#1#90#72; + flags : [if_avx,if_sandybridge,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#244#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#90#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#248#1#90#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#248#1#90#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#90#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#250#1#29#65#22; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#29#65#22; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_mem64_m,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#29#65#22; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#29#65#22; + flags : [if_avx] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#250#1#29#65#22; + flags : [if_avx] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#29#65#22; + flags : [if_avx512] + ), + ( opcode : A_VCVTSD2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #220#232#242#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTSD2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#45#72; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#242#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSD2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#243#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #220#232#234#242#243#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTSD2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #220#242#243#248#1#45#72; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#234#242#243#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSD2SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#90#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#90#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VCVTSD2SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#90#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#90#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSI2SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none); - code : #220#242#248#1#42#61#80; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none); + code : #220#232#242#248#1#42#61#80; flags : [if_avx,if_sandybridge,if_sd] ), ( + opcode : A_VCVTSI2SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #220#232#242#248#1#42#61#80; + flags : [if_avx,if_sandybridge,if_sd,if_t1s] + ), + ( opcode : A_VCVTSI2SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none); - code : #219#242#248#1#42#61#80; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none); + code : #219#232#242#248#1#42#61#80; flags : [if_avx,if_sandybridge,if_sd] ), ( - opcode : A_VCVTSS2SD; + opcode : A_VCVTSI2SS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#90#61#80; - flags : [if_avx,if_sandybridge] + code : #219#232#242#248#1#42#61#80; + flags : [if_avx,if_sandybridge,if_sd,if_t1s] ), ( opcode : A_VCVTSS2SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#90#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#90#61#80; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VCVTSS2SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #219#232#242#248#1#90#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSS2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #219#232#242#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTSS2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#45#72; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#242#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSS2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#243#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #219#232#234#242#243#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTSS2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #219#242#243#248#1#45#72; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#234#242#243#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#230#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_avx512,if_tfv] ), ( opcode : A_VCVTTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#242#244#248#1#230#72; + flags : [if_avx,if_sandybridge,if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_avx512] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#230#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#230#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#230#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#248#1#230#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTTPS2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #219#242#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#242#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VCVTTPS2DQ; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #219#242#244#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#242#244#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #219#232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #219#232#233#248#1#91#72; + flags : [if_avx512] ), ( opcode : A_VCVTTSD2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #220#232#242#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTTSD2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#44#72; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#242#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTSD2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#243#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #220#232#234#242#243#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTTSD2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #220#242#243#248#1#44#72; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#234#242#243#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTSS2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #219#232#242#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTTSS2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#44#72; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#242#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTSS2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#243#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #219#232#234#242#243#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTTSS2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #219#242#243#248#1#44#72; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#234#242#243#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VDIVPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VDIVPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#94#61#80; + flags : [if_avx512] ), ( opcode : A_VDIVPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VDIVPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#94#61#80; + flags : [if_avx512] ), ( opcode : A_VDIVSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VDIVSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#94#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#94#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VDIVSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VDIVSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#94#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#94#61#80; flags : [if_avx,if_sandybridge] ), ( @@ -10370,11 +11217,25 @@ ( opcode : A_VEXTRACTPS; ops : 3; - optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#23#65#22; + optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#23#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VEXTRACTPS; + ops : 3; + optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#23#65#22; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VEXTRACTPS; + ops : 3; + optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#23#65#22; + flags : [if_avx512] + ), + ( opcode : A_VHADDPD; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); @@ -10441,14 +11302,14 @@ opcode : A_VINSERTPS; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); - code : #241#242#250#1#33#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#33#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VINSERTPS; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); - code : #241#242#250#1#33#61#80#23; + code : #232#241#242#250#1#33#61#80#23; flags : [if_avx,if_sandybridge] ), ( @@ -10538,205 +11399,464 @@ ( opcode : A_VMAXPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMAXPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#234#241#248#1#95#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#95#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VMAXPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMAXPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#248#1#95#61#80; + flags : [if_avx512] ), ( opcode : A_VMAXSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMAXSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#95#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #220#232#234#242#248#1#95#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMAXSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMAXSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#95#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #219#232#242#248#1#95#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMINPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMINPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#234#241#248#1#93#61#80; + flags : [if_avx512] ), ( opcode : A_VMINPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMINPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#248#1#93#61#80; + flags : [if_avx512] ), ( opcode : A_VMINSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMINSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#93#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #220#232#234#242#248#1#93#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMINSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMINSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#93#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #219#232#242#248#1#93#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#40#72; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#41#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#242#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#41#65; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#40#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#242#244#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#41#65; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#40#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#41#65; + flags : [if_avx512] + ), + ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#40#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#41#65; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#41#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#242#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#40#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #242#244#248#1#41#65; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#242#244#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( - opcode : A_VMOVD; + opcode : A_VMOVAPS; ops : 2; - optypes : (ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none,ot_none); - code : #241#242#248#1#110#72; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#40#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#41#65; + flags : [if_avx512] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#40#72; + flags : [if_avx512] + ), + ( opcode : A_VMOVD; ops : 2; optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#126#65; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#126#65; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VMOVD; + ops : 2; + optypes : (ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none,ot_none); + code : #232#241#242#248#1#110#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVDDUP; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #220#242#244#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#242#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tmddup] ), ( opcode : A_VMOVDDUP; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#18#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#242#248#1#18#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVDDUP; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#234#242#244#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tmddup] + ), + ( + opcode : A_VMOVDDUP; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #220#232#233#234#248#1#18#72; + flags : [if_avx512,if_tmddup] ), ( opcode : A_VMOVDQA; @@ -10798,71 +11918,71 @@ opcode : A_VMOVHLPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #242#248#1#18#61#80; + code : #232#242#248#1#18#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVHPD; ops : 2; optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#23#65; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#23#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVHPD; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #241#242#248#1#22#61#80; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#22#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVHPS; - ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #242#248#1#22#61#80; - flags : [if_avx,if_sandybridge] + ops : 2; + optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#23#65; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVHPS; - ops : 2; - optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#23#65; - flags : [if_avx,if_sandybridge] + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#242#248#1#22#61#80; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVLHPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #242#248#1#22#61#80; + code : #232#242#248#1#22#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVLPD; ops : 2; optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#19#65; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#19#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVLPD; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #241#242#248#1#18#61#80; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#18#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVLPS; ops : 2; optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#19#65; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#19#65; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVLPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #242#248#1#18#61#80; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#18#61#80; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVMSKPD; @@ -10924,227 +12044,339 @@ opcode : A_VMOVNTDQ; ops : 2; optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#231#65; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#231#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTDQ; ops : 2; optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#231#65; - flags : [if_avx,if_sandybridge] + code : #232#241#242#244#248#1#231#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVNTDQ; + ops : 2; + optypes : (ot_memory or ot_bits512,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#248#1#231#65; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVNTDQA; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none); - code : #241#242#249#1#42#72; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#42#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTDQA; ops : 2; optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_none,ot_none); - code : #241#242#244#249#1#42#72; - flags : [if_avx2] + code : #232#241#242#244#249#1#42#72; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VMOVNTDQA; + ops : 2; + optypes : (ot_zmmreg,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#42#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVNTPD; + ops : 2; + optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPD; ops : 2; optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#43#65; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#244#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPD; ops : 2; + optypes : (ot_memory or ot_bits512,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#43#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVNTPS; + ops : 2; optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#43#65; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPS; ops : 2; - optypes : (ot_memory or ot_bits128,ot_ymmreg,ot_none,ot_none); - code : #242#244#248#1#43#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPS; ops : 2; - optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#43#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_memory or ot_bits512,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#43#65; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#219#248#1#126#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#214#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVQ; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #242#219#248#1#126#72; - flags : [if_avx,if_sandybridge] + code : #219#232#234#242#248#1#126#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVQ; ops : 2; optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#241#248#1#214#65; + code : #219#232#234#242#248#1#126#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVQ; ops : 2; - optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #242#241#248#1#214#65; + optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#214#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSD; - ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#16#61#80; - flags : [if_avx,if_sandybridge] + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#17#61#66; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #220#232#234#242#248#1#17#61#66; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSD; - ops : 2; - optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#17#65; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #220#232#234#242#248#1#16#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSHDUP; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #219#242#248#1#22#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#242#248#1#22#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVSHDUP; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #219#242#244#248#1#22#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#242#244#248#1#22#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVSHDUP; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#248#1#22#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVSLDUP; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #219#242#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#242#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVSLDUP; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #219#242#244#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#242#244#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVSLDUP; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#248#1#18#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVSS; - ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#16#61#80; - flags : [if_avx,if_sandybridge] + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSS; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#17#61#66; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #219#232#242#248#1#17#61#66; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSS; - ops : 2; - optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#17#65; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #219#232#242#248#1#16#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#17#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#16#72; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#17#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#17#65; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#242#244#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#248#1#16#72; + flags : [if_avx512,if_tfvm] + ), + ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#17#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#16#72; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#17#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #242#244#248#1#17#65; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#242#244#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#248#1#16#72; + flags : [if_avx512,if_tfvm] + ), + ( opcode : A_VMPSADBW; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); @@ -11161,303 +12393,653 @@ ( opcode : A_VMULPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMULPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#89#61#80; + flags : [if_avx512] ), ( opcode : A_VMULPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMULPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#89#61#80; + flags : [if_avx512] ), ( opcode : A_VMULSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMULSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#89#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#89#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMULSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMULSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#89#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#89#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VORPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#86#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#86#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VORPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#86#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VORPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#86#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#86#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPABSB; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#249#1#28#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#242#249#1#28#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPABSB; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#249#1#28#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#242#244#249#1#28#72; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPABSB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#28#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPABSD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#249#1#30#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#242#249#1#30#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPABSD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#249#1#30#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#30#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#242#244#249#1#30#72; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#30#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#30#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#30#72; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPABSW; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#249#1#29#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#242#249#1#29#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPABSW; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#249#1#29#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#242#244#249#1#29#72; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPABSW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#29#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPACKSSDW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#107#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#107#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPACKSSDW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#107#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#107#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#107#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#107#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#107#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#107#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPACKSSWB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#99#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#99#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPACKSSWB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#99#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#99#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPACKSSWB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#99#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPACKUSDW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#43#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#43#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPACKUSDW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#43#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#43#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#43#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#43#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#43#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#43#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPACKUSWB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#103#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#103#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPACKUSWB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#103#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#103#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPACKUSWB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#103#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#252#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#252#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#252#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#252#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#252#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#254#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#254#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPADDD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#254#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#254#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#254#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#254#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#254#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#254#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPADDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#212#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#212#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPADDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#212#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#212#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#212#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#212#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#212#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#212#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPADDSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#236#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#236#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#236#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#236#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#236#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#237#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#237#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#237#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#237#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#237#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDUSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#220#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#220#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDUSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#220#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#220#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDUSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#220#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDUSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#221#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#221#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDUSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#221#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#221#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDUSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#221#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#253#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#253#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#253#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#253#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#253#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPALIGNR; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #241#242#250#1#15#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#242#250#1#15#61#80#23; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPALIGNR; ops : 4; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); - code : #241#242#244#250#1#15#61#80#23; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#242#244#250#1#15#61#80#23; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPALIGNR; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#15#61#80#23; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPAND; @@ -11490,30 +13072,44 @@ ( opcode : A_VPAVGB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#224#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#224#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPAVGB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#224#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#224#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPAVGB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#224#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPAVGW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#227#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#227#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPAVGW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#227#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#227#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPAVGW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#227#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPBLENDVB; @@ -11547,8 +13143,43 @@ opcode : A_VPCLMULQDQ; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #241#242#250#1#68#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#68#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPCLMULQDQ; + ops : 4; + optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#68#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCLMULQDQ; + ops : 4; + optypes : (ot_zmmreg,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#68#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQB; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#116#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#116#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#116#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPCMPEQB; @@ -11567,6 +13198,48 @@ ( opcode : A_VPCMPEQD; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#118#61#80; flags : [if_avx,if_sandybridge] @@ -11581,6 +13254,48 @@ ( opcode : A_VPCMPEQQ; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#249#1#41#61#80; flags : [if_avx,if_sandybridge] @@ -11595,6 +13310,27 @@ ( opcode : A_VPCMPEQW; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQW; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#117#61#80; flags : [if_avx,if_sandybridge] @@ -11623,6 +13359,27 @@ ( opcode : A_VPCMPGTB; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#100#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#100#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#100#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTB; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#100#61#80; flags : [if_avx,if_sandybridge] @@ -11637,6 +13394,48 @@ ( opcode : A_VPCMPGTD; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#102#61#80; flags : [if_avx,if_sandybridge] @@ -11651,6 +13450,48 @@ ( opcode : A_VPCMPGTQ; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#249#1#55#61#80; flags : [if_avx,if_sandybridge] @@ -11665,6 +13506,27 @@ ( opcode : A_VPCMPGTW; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#101#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#101#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#101#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTW; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#101#61#80; flags : [if_avx,if_sandybridge] @@ -11700,127 +13562,267 @@ ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#13#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#249#1#13#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#5#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#13#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#250#1#5#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#250#1#5#72#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#13#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#5#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#249#1#13#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#13#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#244#250#1#5#72#22; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#5#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#13#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#13#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#5#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#5#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#12#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#12#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#4#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#12#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#250#1#4#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#4#72#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#12#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#12#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#12#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#250#1#4#72#22; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#12#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#12#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPEXTRB; + ops : 3; + optypes : (ot_memory or ot_bits8,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#20#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VPEXTRB; + ops : 3; + optypes : (ot_reg16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#20#65#22; + flags : [if_avx512] ), ( opcode : A_VPEXTRB; ops : 3; optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#20#65#22; + code : #232#241#242#250#1#20#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRB; ops : 3; optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#20#65#22; + code : #232#241#242#250#1#20#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRB; ops : 3; - optypes : (ot_memory or ot_bits8,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#20#65#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_reg8,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#20#65#22; + flags : [if_avx512] ), ( opcode : A_VPEXTRD; ops : 3; optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#22#65#22; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#22#65#22; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPEXTRQ; ops : 3; optypes : (ot_rm_gpr or ot_bits64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#243#250#1#22#65#22; + code : #232#234#241#242#243#250#1#22#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VPEXTRW; + ops : 3; + optypes : (ot_memory or ot_bits16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#21#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VPEXTRW; + ops : 3; + optypes : (ot_reg16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#21#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; - optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#197#72#22; + optypes : (ot_reg16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#197#72#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; - optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#197#72#22; + optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#197#72#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#21#65#22; + code : #232#241#242#250#1#21#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#21#65#22; + code : #232#241#242#250#1#21#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; - optypes : (ot_memory or ot_bits16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#21#65#22; + optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#197#72#22; flags : [if_avx,if_sandybridge] ), ( @@ -11918,239 +13920,421 @@ opcode : A_VPINSRB; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8); - code : #241#242#250#1#32#61#80#23; + code : #232#241#242#250#1#32#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPINSRB; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits8,ot_immediate or ot_bits8); - code : #241#242#250#1#32#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#32#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRD; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_immediate or ot_bits8); - code : #241#242#250#1#34#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#34#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRQ; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits64,ot_immediate or ot_bits8); - code : #241#242#243#250#1#34#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#243#250#1#34#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRW; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8); - code : #241#242#248#1#196#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits16,ot_immediate or ot_bits8); + code : #232#241#242#248#1#196#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRW; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits16,ot_immediate or ot_bits8); - code : #241#242#248#1#196#61#80#23; + optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8); + code : #232#241#242#248#1#196#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMADDUBSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#4#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#4#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMADDUBSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#4#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#4#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMADDUBSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#4#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMADDWD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#245#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#245#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMADDWD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#245#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#245#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMADDWD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#245#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#60#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#60#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#60#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#60#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#60#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#61#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#61#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMAXSD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#61#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#61#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMAXSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#238#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#238#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#238#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#238#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#238#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXUB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#222#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#222#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXUB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#222#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#222#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXUB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#222#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXUD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#63#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#63#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMAXUD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#63#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#63#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMAXUW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#62#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#62#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXUW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#62#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#62#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXUW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#62#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#56#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#56#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#56#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#56#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#56#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#57#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#57#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMINSD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#57#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#57#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMINSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#234#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#234#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#234#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#234#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#234#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINUB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#218#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#218#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINUB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#218#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#218#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINUB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#218#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINUD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#59#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#59#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMINUD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#59#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#59#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMINUW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#58#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#58#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINUW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#58#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#58#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINUW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#58#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMOVMSKB; @@ -12183,394 +14367,716 @@ ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#33#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#33#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#33#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#33#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#33#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#33#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#33#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#33#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#33#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#33#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#249#1#34#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#249#1#34#72; + flags : [if_avx,if_sandybridge,if_tovm] ), ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#34#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#34#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#34#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#34#72; + flags : [if_avx2,if_tovm] ), ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#34#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#34#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#34#72; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#34#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXBW; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#32#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#32#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVSXBW; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#32#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#32#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXBW; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#32#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#32#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVSXBW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#32#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#32#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#32#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXDQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#37#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#37#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVSXDQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#37#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#37#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXDQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#37#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#37#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVSXDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#37#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#37#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#37#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXWD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#35#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#35#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVSXWD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#35#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#35#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXWD; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#35#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#35#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVSXWD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#35#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#35#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#35#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#36#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#36#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#36#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#36#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#36#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#36#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#36#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#36#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#36#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#36#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#49#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#49#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#49#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#49#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#49#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#49#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#49#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#49#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#49#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVZXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#49#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#249#1#50#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#249#1#50#72; + flags : [if_avx,if_sandybridge,if_tovm] ), ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#50#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#50#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#50#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#50#72; + flags : [if_avx2,if_tovm] ), ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#50#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#50#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#50#72; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVZXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#50#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXBW; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#48#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#48#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVZXBW; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#48#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#48#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXBW; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#48#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#48#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVZXBW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#48#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#48#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVZXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#48#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXDQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#53#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#53#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVZXDQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#53#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#53#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXDQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#53#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#53#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVZXDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#53#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#53#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVZXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#53#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXWD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#51#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#51#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVZXWD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#51#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#51#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXWD; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#51#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#51#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVZXWD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#51#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#51#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVZXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#51#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#52#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#52#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#52#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#52#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#52#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#52#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#52#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#52#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#52#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVZXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#52#72; + flags : [if_avx512] + ), + ( opcode : A_VPMULDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#40#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#249#1#40#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMULDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#40#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#40#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#249#1#40#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#40#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#40#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#40#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMULHRSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#11#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#11#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULHRSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#11#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#11#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULHRSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#11#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULHUW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#228#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#228#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULHUW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#228#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#228#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULHUW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#228#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULHW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#229#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#229#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULHW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#229#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#229#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULHW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#229#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#64#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#64#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMULLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#64#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#64#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMULLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#213#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#213#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#213#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#213#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#213#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULUDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#244#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#244#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMULUDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#244#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#244#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#244#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#244#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#244#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#244#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPOR; @@ -12590,71 +15096,127 @@ opcode : A_VPSADBW; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#246#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#246#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSADBW; ops : 3; optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#246#61#80; - flags : [if_avx2] + code : #232#241#242#244#248#1#246#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSADBW; + ops : 3; + optypes : (ot_zmmreg,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#246#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSHUFB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#0#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#0#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSHUFB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#0#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#0#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSHUFB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#0#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSHUFD; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#112#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#112#72#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSHUFD; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#112#72#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#112#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#112#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#112#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#112#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#112#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSHUFHW; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #219#242#248#1#112#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #219#232#242#248#1#112#72#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSHUFHW; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #219#242#244#248#1#112#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #219#232#242#244#248#1#112#72#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSHUFHW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #219#232#233#248#1#112#72#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSHUFLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #220#242#248#1#112#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #220#232#242#248#1#112#72#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSHUFLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #220#242#244#248#1#112#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #220#232#242#244#248#1#112#72#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSHUFLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #220#232#233#248#1#112#72#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSIGNB; @@ -12701,366 +15263,730 @@ ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#114#60#142#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#114#60#142#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#242#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#114#60#142#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#242#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#242#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#114#60#142#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#242#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#242#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSLLDQ; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#143#22; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#115#60#143#22; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSLLDQ; ops : 3; optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#143#22; - flags : [if_avx2] + code : #232#241#242#244#248#1#115#60#143#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_zmmreg,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#243#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#243#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#142#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#248#1#115#60#142#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#243#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#142#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#244#248#1#243#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#244#248#1#115#60#142#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#234#241#248#1#243#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#113#60#142#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#241#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#241#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#113#60#142#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#113#60#142#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#241#61#80; + flags : [if_avx2,if_tmem128] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#241#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#113#60#142#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSLLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#241#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSLLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#113#60#142#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#114#60#140#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#114#60#140#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#226#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#114#60#140#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#226#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#226#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#114#60#140#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#226#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#113#60#140#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#113#60#140#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#225#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#225#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#113#60#140#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#113#60#140#22; + flags : [if_avx2,if_tfvm] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#225#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#225#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRAW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#225#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#113#60#140#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#114#60#138#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#114#60#138#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#210#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#114#60#138#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#210#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#210#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#210#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#114#60#138#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#210#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLDQ; + ops : 3; + optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#115#60#139#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLDQ; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#139#22; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#115#60#139#22; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VPSRLDQ; + ops : 3; + optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#115#60#139#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLDQ; ops : 3; optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#139#22; - flags : [if_avx2] + code : #232#241#242#244#248#1#115#60#139#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSRLDQ; + ops : 3; + optypes : (ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#115#60#139#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#138#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#211#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#211#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#248#1#115#60#138#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#138#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#211#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#244#248#1#115#60#138#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#244#248#1#211#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#234#241#248#1#211#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#113#60#138#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#113#60#138#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#209#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#209#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#113#60#138#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#113#60#138#22; + flags : [if_avx2,if_tfvm] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#209#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#209#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#209#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#113#60#138#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#248#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#248#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#248#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#248#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#248#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#250#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#250#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSUBD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#250#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#250#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#250#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#250#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#250#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#250#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSUBQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#251#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#251#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSUBQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#251#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#251#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#251#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#251#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#251#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#251#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSUBSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#232#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#232#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#232#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#232#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#232#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#233#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#233#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#233#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#233#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#233#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBUSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#216#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#216#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBUSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#216#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#216#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBUSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#216#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBUSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#217#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#217#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBUSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#217#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#217#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBUSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#217#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#249#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#249#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#249#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#249#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#249#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPTEST; @@ -13079,114 +16005,254 @@ ( opcode : A_VPUNPCKHBW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#104#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#104#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKHBW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#104#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#104#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKHBW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#104#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPUNPCKHDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#106#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#106#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKHDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#106#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#106#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#106#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#106#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#106#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#106#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKHQDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#109#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#109#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKHQDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#109#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#109#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#109#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#109#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#109#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#109#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKHWD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#105#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#105#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKHWD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#105#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#105#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKHWD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#105#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPUNPCKLBW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#96#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#96#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKLBW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#96#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#96#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKLBW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#96#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPUNPCKLDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#98#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#98#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKLDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#98#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#98#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#98#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#98#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#98#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#98#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKLQDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#108#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#108#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKLQDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#108#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#108#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#108#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#108#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#108#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#108#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKLWD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#97#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#97#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKLWD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#97#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#97#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKLWD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#97#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPXOR; @@ -13317,86 +16383,212 @@ ( opcode : A_VSHUFPD; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #241#242#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#242#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSHUFPD; ops : 4; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); - code : #241#242#244#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#242#244#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] ), ( opcode : A_VSHUFPS; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #242#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#242#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSHUFPS; ops : 4; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); - code : #242#244#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#242#244#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#244#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] ), ( opcode : A_VSQRTPD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#242#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSQRTPD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#242#244#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#81#72; + flags : [if_avx512] ), ( opcode : A_VSQRTPS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#242#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSQRTPS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#242#244#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#248#1#81#72; + flags : [if_avx512] ), ( opcode : A_VSQRTSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#81#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#81#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VSQRTSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#81#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#81#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSQRTSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#81#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#81#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VSQRTSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#81#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#81#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSTMXCSR; @@ -13408,58 +16600,128 @@ ( opcode : A_VSUBPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSUBPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VSUBPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSUBPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#92#61#80; + flags : [if_avx512] ), ( opcode : A_VSUBSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSUBSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSUBSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#92#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#92#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VSUBSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VTESTPD; @@ -13493,113 +16755,281 @@ opcode : A_VUCOMISD; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#248#1#46#72; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#46#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VUCOMISD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#46#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#234#241#242#248#1#46#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VUCOMISS; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #242#248#1#46#72; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#46#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VUCOMISS; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#46#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#242#248#1#46#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VUNPCKHPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKHPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#21#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VUNPCKHPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKHPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#21#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VUNPCKLPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKLPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#20#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VUNPCKLPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKLPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#20#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VXORPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VXORPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#87#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VXORPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VXORPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#87#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VZEROALL; @@ -13765,116 +17195,361 @@ ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#120#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits8,ot_none,ot_none); + code : #232#241#242#249#1#120#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#120#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#120#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits8,ot_none,ot_none); - code : #241#242#249#1#120#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg8,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits8,ot_none,ot_none); + code : #232#241#242#244#249#1#120#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits8,ot_none,ot_none); - code : #241#242#244#249#1#120#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#120#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg8,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits8,ot_none,ot_none); + code : #232#233#241#249#1#120#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg8,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#120#72; + flags : [if_avx512] + ), + ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#88#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#88#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#88#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#88#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#88#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#88#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#88#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#88#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#244#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#233#241#249#1#88#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#233#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#88#72; + flags : [if_avx512] + ), + ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#89#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#234#241#242#249#1#89#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#89#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#249#1#89#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#89#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#234#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#234#241#242#244#249#1#89#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#89#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#244#249#1#89#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#234#241#244#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#234#241#249#1#89#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#233#234#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#89#72; + flags : [if_avx512] + ), + ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#249#1#121#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#249#1#121#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#121#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#121#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#244#249#1#121#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#249#1#123#72; + flags : [if_avx512] ), ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#121#72; + optypes : (ot_xmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#244#249#1#121#72; + flags : [if_avx2,if_t1s] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#121#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#244#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#244#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#244#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#233#241#249#1#121#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#233#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#233#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#233#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#121#72; + flags : [if_avx512] + ), + ( opcode : A_VPERM2I128; ops : 4; optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); @@ -13884,30 +17559,177 @@ ( opcode : A_VPERMD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#54#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#54#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#243#244#250#1#1#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#243#244#250#1#1#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#243#244#250#1#1#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#1#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#1#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#1#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#22#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#22#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#243#244#250#1#0#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#243#244#250#1#0#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#0#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#0#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#0#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMASKMOVD; @@ -13968,88 +17790,249 @@ ( opcode : A_VPSLLVD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#71#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSLLVD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#71#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLVQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#243#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#71#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSLLVQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#243#244#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#71#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRAVD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#70#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#70#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSRAVD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#70#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#70#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLVD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#69#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSRLVD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#69#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLVQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#243#244#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#69#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSRLVQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#243#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#69#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VGATHERDPD; ops : 3; - optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); + optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); code : #241#242#243#249#1#146#62#72; flags : [if_avx2] ), ( opcode : A_VGATHERDPD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#234#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPD; ops : 3; - optypes : (ot_ymmreg,ot_xmem64,ot_ymmreg,ot_none); + optypes : (ot_ymmreg,ot_xmem32,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#146#62#72; flags : [if_avx2] ), ( + opcode : A_VGATHERDPD; + ops : 2; + optypes : (ot_ymmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#234#241#244#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPD; + ops : 2; + optypes : (ot_zmmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#233#234#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VGATHERDPS; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14058,12 +18041,33 @@ ), ( opcode : A_VGATHERDPS; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPS; ops : 3; optypes : (ot_ymmreg,ot_ymem32,ot_ymmreg,ot_none); code : #241#242#244#249#1#146#62#72; flags : [if_avx2] ), ( + opcode : A_VGATHERDPS; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPS; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VGATHERQPD; ops : 3; optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); @@ -14072,12 +18076,33 @@ ), ( opcode : A_VGATHERQPD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPD; ops : 3; optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#147#62#72; flags : [if_avx2] ), ( + opcode : A_VGATHERQPD; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem64,ot_none,ot_none); + code : #232#234#241#244#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPD; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VGATHERQPS; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14092,6 +18117,27 @@ flags : [if_avx2] ), ( + opcode : A_VGATHERQPS; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPS; + ops : 2; + optypes : (ot_xmmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPS; + ops : 2; + optypes : (ot_ymmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERDD; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14100,12 +18146,33 @@ ), ( opcode : A_VPGATHERDD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDD; ops : 3; optypes : (ot_ymmreg,ot_ymem32,ot_ymmreg,ot_none); code : #241#242#244#249#1#144#62#72; flags : [if_avx2] ), ( + opcode : A_VPGATHERDD; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDD; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERDQ; ops : 3; optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); @@ -14114,12 +18181,33 @@ ), ( opcode : A_VPGATHERDQ; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDQ; ops : 3; optypes : (ot_ymmreg,ot_xmem64,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#144#62#72; flags : [if_avx2] ), ( + opcode : A_VPGATHERDQ; + ops : 2; + optypes : (ot_ymmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDQ; + ops : 2; + optypes : (ot_zmmreg_m,ot_ymem64,ot_none,ot_none); + code : #232#233#234#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERQD; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14134,6 +18222,27 @@ flags : [if_avx2] ), ( + opcode : A_VPGATHERQD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQD; + ops : 2; + optypes : (ot_xmmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQD; + ops : 2; + optypes : (ot_ymmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERQQ; ops : 3; optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); @@ -14142,696 +18251,2145 @@ ), ( opcode : A_VPGATHERQQ; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQQ; ops : 3; optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#145#62#72; flags : [if_avx2] ), ( + opcode : A_VPGATHERQQ; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem64,ot_none,ot_none); + code : #232#234#241#244#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQQ; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFMADDPD; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg); + code : #241#242#250#1#105#61#80#247; + flags : [if_fma4] + ), + ( + opcode : A_VFMADDPD; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm); + code : #241#242#250#243#1#105#61#88#246; + flags : [if_fma4] + ), + ( opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#152#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#152#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#152#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD213PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#168#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#152#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADD213PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#168#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD231PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#184#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD231PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#184#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDPD; - ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg); - code : #241#242#250#1#105#61#80#247; - flags : [if_fma4] + opcode : A_VFMADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#152#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMADDPD; - ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm); - code : #241#242#250#243#1#105#61#88#246; - flags : [if_fma4] + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#152#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADD132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#152#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMADD132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#152#61#80; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#152#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#152#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#152#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#153#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#153#61#80; flags : [if_fma] ), ( - opcode : A_VFMADD213PS; + opcode : A_VFMADD132SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#168#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#153#61#80; flags : [if_fma] ), ( + opcode : A_VFMADD132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#153#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#168#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#168#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#168#61#80; + flags : [if_avx512] + ), + ( opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#168#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#168#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADD231PS; + opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#184#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD231PS; + opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#184#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#168#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADD132SD; + opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#153#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#168#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#169#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#169#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFMADD231SD; + opcode : A_VFMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#185#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#169#61#80; flags : [if_fma] ), ( - opcode : A_VFMADD132SS; + opcode : A_VFMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#153#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#169#61#80; flags : [if_fma] ), ( opcode : A_VFMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#169#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#169#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#184#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#184#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#185#61#80; flags : [if_fma] ), ( + opcode : A_VFMADD231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#185#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFMADD231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#185#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#185#61#80; flags : [if_fma] ), ( + opcode : A_VFMADD231SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#185#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#150#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB213PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#166#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#150#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADDSUB213PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#166#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#150#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB231PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#182#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB231PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#182#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#150#61#80; + flags : [if_avx512] ), ( opcode : A_VFMADDSUB132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#150#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADDSUB132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#150#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#150#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#166#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#166#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#166#61#80; + flags : [if_avx512] ), ( opcode : A_VFMADDSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#166#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#166#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADDSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#166#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB231PS; + opcode : A_VFMADDSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#182#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#166#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#166#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#182#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#182#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#182#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#182#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#182#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#182#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD132PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#151#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD132PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#151#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#182#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD213PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#167#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD213PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#167#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD231PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD231PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#182#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMSUBADD132PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#151#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#154#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD132PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#151#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD213PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#167#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#154#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD213PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#167#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#154#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD231PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#154#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMSUBADD231PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#154#61#80; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#154#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#154#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#154#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#155#61#80; flags : [if_fma] ), ( - opcode : A_VFMSUB132PD; + opcode : A_VFMSUB132SD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#154#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#155#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#155#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#155#61#80; flags : [if_fma] ), ( opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB231PD; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUB231PD; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB132PS; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#154#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#170#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMSUB132PS; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#154#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB231PS; + opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUB231PS; + opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB132SD; + opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#155#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#170#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMSUB213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#171#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#171#61#80; flags : [if_fma] ), ( - opcode : A_VFMSUB231SD; + opcode : A_VFMSUB213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#187#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#171#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFMSUB132SS; + opcode : A_VFMSUB213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#155#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#171#61#80; flags : [if_fma] ), ( opcode : A_VFMSUB213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#171#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#171#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#186#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#186#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#187#61#80; flags : [if_fma] ), ( + opcode : A_VFMSUB231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#187#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFMSUB231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#187#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#187#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB231SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#187#61#80; flags : [if_fma] ), ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#151#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#151#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#167#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#167#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#183#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#183#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#156#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#156#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#156#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMADD213PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#172#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#156#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMADD213PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#172#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#156#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMADD231PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#188#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#156#61#80; + flags : [if_avx512] ), ( - opcode : A_VFNMADD231PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#188#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFNMADD132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#156#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#156#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMADD132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#156#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#156#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#156#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#157#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#157#61#80; flags : [if_fma] ), ( - opcode : A_VFNMADD213PS; + opcode : A_VFNMADD132SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#172#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#157#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMADD132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#157#61#80; flags : [if_fma] ), ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#172#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#172#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#172#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#172#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#172#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMADD231PS; + opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#188#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMADD231PS; + opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#188#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#172#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMADD132SD; + opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#157#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#172#61#80; + flags : [if_avx512] ), ( opcode : A_VFNMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#173#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#173#61#80; flags : [if_fma] ), ( - opcode : A_VFNMADD231SD; + opcode : A_VFNMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#189#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#173#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFNMADD132SS; + opcode : A_VFNMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#157#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#173#61#80; flags : [if_fma] ), ( opcode : A_VFNMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#173#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#173#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#188#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#188#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #241#242#243#249#1#189#61#80; + flags : [if_fma] + ), + ( + opcode : A_VFNMADD231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#189#61#80; flags : [if_fma] ), ( opcode : A_VFNMADD231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); code : #241#242#249#1#189#61#80; flags : [if_fma] ), ( + opcode : A_VFNMADD231SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#189#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#158#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#158#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#158#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB213PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#174#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#158#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMSUB213PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#174#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#158#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB231PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#190#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB231PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#190#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#158#61#80; + flags : [if_avx512] ), ( opcode : A_VFNMSUB132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#158#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#158#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMSUB132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#158#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#158#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#158#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#159#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#159#61#80; flags : [if_fma] ), ( - opcode : A_VFNMSUB213PS; + opcode : A_VFNMSUB132SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#174#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#159#61#80; flags : [if_fma] ), ( + opcode : A_VFNMSUB132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#159#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#174#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#174#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#174#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB213SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#175#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB213SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#175#61#80; flags : [if_fma] ), ( - opcode : A_VFNMSUB231PS; + opcode : A_VFNMSUB213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#190#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#175#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB213SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#175#61#80; flags : [if_fma] ), ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#190#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#190#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#190#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#190#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#190#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMSUB132SD; + opcode : A_VFNMSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#159#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB213SD; + opcode : A_VFNMSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#175#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#190#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#190#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFNMSUB231SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#191#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#191#61#80; flags : [if_fma] ), ( - opcode : A_VFNMSUB132SS; + opcode : A_VFNMSUB231SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#159#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#191#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFNMSUB213SS; + opcode : A_VFNMSUB231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#175#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#191#61#80; flags : [if_fma] ), ( opcode : A_VFNMSUB231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#191#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#191#61#80; + flags : [if_fma,if_t1s] ), ( opcode : A_XACQUIRE; @@ -14902,5 +20460,7915 @@ optypes : (ot_memory,ot_none,ot_none,ot_none); code : #2#15#13#130; flags : [if_prefetchwt1] + ), + ( + opcode : A_KADDB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KADDD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KADDQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KADDW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDNB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDND; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDNQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDNW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits8,ot_none,ot_none); + code : #241#242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_kreg,ot_reg32,ot_none,ot_none); + code : #241#242#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_memory or ot_bits8,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_reg32,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits32,ot_none,ot_none); + code : #241#242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_kreg,ot_reg32,ot_none,ot_none); + code : #220#242#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_memory or ot_bits32,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_reg32,ot_kreg,ot_none,ot_none); + code : #220#242#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits64,ot_none,ot_none); + code : #242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_kreg,ot_reg64,ot_none,ot_none); + code : #220#242#243#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_memory or ot_bits64,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_reg64,ot_kreg,ot_none,ot_none); + code : #220#242#243#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits16,ot_none,ot_none); + code : #242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_kreg,ot_reg32,ot_none,ot_none); + code : #242#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_memory or ot_bits16,ot_kreg,ot_none,ot_none); + code : #242#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_reg32,ot_kreg,ot_none,ot_none); + code : #242#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KORB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KORD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KORQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#50#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#51#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#51#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#50#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#48#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#49#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#49#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#48#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KTESTB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KTESTD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KTESTQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KTESTW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KUNPCKBW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#75#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KUNPCKDQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#75#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KUNPCKWD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#75#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#25#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#244#249#1#25#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#25#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#25#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF32X4; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#244#249#1#26#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTF32X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#26#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTF32X8; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#27#72; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VBROADCASTF64X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#244#249#1#26#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF64X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#234#241#249#1#26#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF64X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#234#241#249#1#27#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#89#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#249#1#89#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#89#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#244#249#1#89#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#89#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#89#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI32X4; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#244#249#1#90#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTI32X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#90#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTI32X8; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#91#72; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VBROADCASTI64X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#244#249#1#90#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI64X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#234#241#249#1#90#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI64X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#234#241#249#1#91#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VCOMPRESSPD; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPD; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPD; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#138#65; + flags : [if_avx512] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#138#65; + flags : [if_avx512] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#138#65; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#244#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#248#1#121#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#244#248#1#121#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#244#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#248#1#121#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#121#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#121#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#121#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#123#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#123#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#123#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#123#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#123#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#123#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #232#233#241#248#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#121#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#244#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#121#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#121#72; + flags : [if_avx512,if_bcst16,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#121#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#121#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#121#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#121#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#121#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#121#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #232#233#241#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#234#244#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#244#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #219#232#233#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#233#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #219#232#233#234#248#1#230#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#248#1#91#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#248#1#91#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#244#248#1#91#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#244#248#1#91#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#248#1#91#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#248#1#91#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#248#1#121#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#248#1#121#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#248#1#121#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#234#248#1#121#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#248#1#120#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#244#248#1#120#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#244#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#248#1#120#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#122#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#122#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#122#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#241#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#120#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#120#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#120#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#120#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#120#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#120#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#241#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#248#1#120#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#248#1#120#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#248#1#120#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#234#248#1#120#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #219#232#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#248#1#122#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#244#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#244#248#1#122#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #219#232#233#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#233#248#1#122#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #219#232#233#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #220#232#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #220#232#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #220#232#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #220#232#233#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #220#232#233#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #220#232#233#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#234#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #219#232#233#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#233#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #219#232#233#234#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #220#232#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #220#232#234#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#248#1#122#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#244#248#1#122#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#234#244#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #220#232#233#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#233#234#248#1#122#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #220#232#233#234#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUSI2SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits64,ot_none); + code : #220#232#234#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCVTUSI2SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits32,ot_none); + code : #220#232#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCVTUSI2SS; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits64,ot_none); + code : #219#232#234#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCVTUSI2SS; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits32,ot_none); + code : #219#232#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VDBPSADBW; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#66#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VDBPSADBW; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#66#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VDBPSADBW; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#66#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VEXP2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#200#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXP2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#200#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#244#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#241#244#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#25#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#25#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF32X8; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#27#65#22; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VEXTRACTF32X8; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#27#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#25#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#25#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF64X4; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#27#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTF64X4; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#27#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#57#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#57#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI32X8; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#59#65#22; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VEXTRACTI32X8; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#59#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#57#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#57#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI64X4; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#59#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTI64X4; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#59#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#84#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#241#250#1#84#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#85#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFIXUPIMMSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#85#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#85#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFIXUPIMMSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#85#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#102#72#22; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#102#72#22; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#102#72#22; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#102#72#22; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#102#72#22; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#102#72#22; + flags : [if_avx512,if_bcst16,if_tfv] + ), + ( + opcode : A_VFPCLASSSD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#103#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VFPCLASSSD; + ops : 3; + optypes : (ot_kreg_m,ot_memory or ot_bits64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#103#72#22; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFPCLASSSS; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#103#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VFPCLASSSS; + ops : 3; + optypes : (ot_kreg_m,ot_memory or ot_bits32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#103#72#22; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#66#72; + flags : [if_avx512] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#66#72; + flags : [if_avx512] + ), + ( + opcode : A_VGETEXPSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#67#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETEXPSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#234#241#249#1#67#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VGETEXPSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#67#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETEXPSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#241#249#1#67#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#38#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#38#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#39#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETMANTSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#39#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#39#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETMANTSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#39#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VINSERTF32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#24#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTF32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#24#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTF32X8; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#26#61#80#23; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VINSERTF64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#24#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTF64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#24#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTF64X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#26#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTI32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#56#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTI32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#56#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTI32X8; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#58#61#80#23; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VINSERTI64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#56#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTI64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#56#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTI64X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#58#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #220#232#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#234#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#234#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #220#232#233#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #220#232#233#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#234#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#234#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #220#232#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #220#232#233#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #220#232#233#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPB; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPB; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPB; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUB; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUB; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUB; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUW; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUW; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUW; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPW; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPW; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPW; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2B; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2B; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2B; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2W; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2W; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2W; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2B; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2B; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2B; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2W; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2W; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2W; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#241#244#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#244#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMOVB2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVB2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVB2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVD2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVD2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVD2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#49#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#49#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#49#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#49#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#49#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#49#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#51#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#51#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#51#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#51#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#51#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#51#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2B; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2B; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#244#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2B; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2D; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2D; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#244#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2D; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2Q; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2Q; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#244#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2Q; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#234#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2W; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2W; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#244#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2W; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#234#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQ2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#234#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQ2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#234#244#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQ2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#234#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#50#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_mem32_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#50#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_mem64_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#50#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#50#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#50#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#50#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#53#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#53#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#53#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#53#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#53#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#53#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#52#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#52#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#52#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#52#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#52#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#52#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#33#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#33#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#33#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#33#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#33#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#33#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#35#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#35#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#35#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#35#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#35#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#35#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#34#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_mem32_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#34#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_mem64_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#34#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#34#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#34#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#34#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#37#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#37#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#37#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#37#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#37#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#37#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#36#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#36#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#36#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#36#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#36#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#36#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#32#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#32#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#32#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#32#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#32#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#32#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#17#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#17#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#17#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#19#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#19#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#19#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#19#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#19#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#19#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#18#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_mem32_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#18#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_mem64_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#18#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#18#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#18#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#18#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#21#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#21#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#21#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#21#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#21#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#21#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#20#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#20#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#20#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#20#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#20#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#20#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#16#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#16#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#16#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#16#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#16#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#16#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVW2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#234#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVW2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#234#244#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVW2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#234#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#48#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#48#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#48#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#48#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#48#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#48#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSCATTERDD; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDD; + ops : 2; + optypes : (ot_ymem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDD; + ops : 2; + optypes : (ot_zmem32_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDQ; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDQ; + ops : 2; + optypes : (ot_xmem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDQ; + ops : 2; + optypes : (ot_ymem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQD; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQD; + ops : 2; + optypes : (ot_ymem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQD; + ops : 2; + optypes : (ot_zmem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQQ; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQQ; + ops : 2; + optypes : (ot_ymem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQQ; + ops : 2; + optypes : (ot_zmem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSLLVW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#18#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSLLVW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#18#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSLLVW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#18#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#234#241#244#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#234#241#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#17#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRAVW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#17#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRAVW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#17#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRLVW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#16#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRLVW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#16#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRLVW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#16#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMB; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMW; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMB; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #219#232#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #219#232#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #219#232#233#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #219#232#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#234#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #219#232#234#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #219#232#233#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMW; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#234#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#234#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#234#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#80#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#241#250#1#80#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRANGESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#81#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRANGESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#81#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRANGESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#81#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRANGESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#81#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#77#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#234#241#249#1#77#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRCP14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#77#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#241#249#1#77#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#202#72; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#202#72; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#203#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#234#241#249#1#203#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#203#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#241#249#1#203#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#86#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#86#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#87#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VREDUCESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#87#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#87#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VREDUCESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#87#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#9#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#8#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#11#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRNDSCALESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#11#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#10#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRNDSCALESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#10#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#234#241#249#1#79#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#79#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#241#249#1#79#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#79#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#204#72; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#204#72; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#205#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#234#241#249#1#205#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#205#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#241#249#1#205#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#44#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#44#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#45#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCALEFSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#249#1#45#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#45#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCALEFSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#249#1#45#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCATTERDPD; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPD; + ops : 2; + optypes : (ot_xmem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPD; + ops : 2; + optypes : (ot_ymem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPS; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPS; + ops : 2; + optypes : (ot_ymem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPS; + ops : 2; + optypes : (ot_zmem32_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPD; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPD; + ops : 2; + optypes : (ot_ymem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPD; + ops : 2; + optypes : (ot_zmem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPS; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPS; + ops : 2; + optypes : (ot_ymem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPS; + ops : 2; + optypes : (ot_zmem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] ) ); diff --git a/compiler/i386/r386ari.inc b/compiler/i386/r386ari.inc index 72d54535fa..33afcdb0c2 100644 --- a/compiler/i386/r386ari.inc +++ b/compiler/i386/r386ari.inc @@ -43,6 +43,14 @@ 29, 30, 39, +98, +99, +100, +101, +102, +103, +104, +105, 66, 67, 68, @@ -88,4 +96,12 @@ 88, 89, 36, +90, +91, +92, +93, +94, +95, +96, +97, 0 diff --git a/compiler/i386/r386att.inc b/compiler/i386/r386att.inc index bceb36301f..926f64cd91 100644 --- a/compiler/i386/r386att.inc +++ b/compiler/i386/r386att.inc @@ -88,4 +88,20 @@ '%ymm4', '%ymm5', '%ymm6', -'%ymm7' +'%ymm7', +'%zmm0', +'%zmm1', +'%zmm2', +'%zmm3', +'%zmm4', +'%zmm5', +'%zmm6', +'%zmm7', +'%k0', +'%k1', +'%k2', +'%k3', +'%k4', +'%k5', +'%k6', +'%k7' diff --git a/compiler/i386/r386con.inc b/compiler/i386/r386con.inc index e20b199a27..b56b7dce1b 100644 --- a/compiler/i386/r386con.inc +++ b/compiler/i386/r386con.inc @@ -89,3 +89,19 @@ NR_YMM4 = tregister($040D0004); NR_YMM5 = tregister($040D0005); NR_YMM6 = tregister($040D0006); NR_YMM7 = tregister($040D0007); +NR_ZMM0 = tregister($040E0000); +NR_ZMM1 = tregister($040E0001); +NR_ZMM2 = tregister($040E0002); +NR_ZMM3 = tregister($040E0003); +NR_ZMM4 = tregister($040E0004); +NR_ZMM5 = tregister($040E0005); +NR_ZMM6 = tregister($040E0006); +NR_ZMM7 = tregister($040E0007); +NR_K0 = tregister($06000000); +NR_K1 = tregister($06000001); +NR_K2 = tregister($06000002); +NR_K3 = tregister($06000003); +NR_K4 = tregister($06000004); +NR_K5 = tregister($06000005); +NR_K6 = tregister($06000006); +NR_K7 = tregister($06000007); diff --git a/compiler/i386/r386dwrf.inc b/compiler/i386/r386dwrf.inc index 1eb67c19fe..f2000d17c2 100644 --- a/compiler/i386/r386dwrf.inc +++ b/compiler/i386/r386dwrf.inc @@ -88,4 +88,20 @@ 25, 26, 27, -28 +28, +21, +22, +23, +24, +25, +26, +27, +28, +118, +119, +120, +121, +122, +123, +124, +125 diff --git a/compiler/i386/r386int.inc b/compiler/i386/r386int.inc index 384ae00310..c87182aeb3 100644 --- a/compiler/i386/r386int.inc +++ b/compiler/i386/r386int.inc @@ -88,4 +88,20 @@ 'ymm4', 'ymm5', 'ymm6', -'ymm7' +'ymm7', +'zmm0', +'zmm1', +'zmm2', +'zmm3', +'zmm4', +'zmm5', +'zmm6', +'zmm7', +'k0', +'k1', +'k2', +'k3', +'k4', +'k5', +'k6', +'k7' diff --git a/compiler/i386/r386iri.inc b/compiler/i386/r386iri.inc index 2390d1bb14..ca5489c32b 100644 --- a/compiler/i386/r386iri.inc +++ b/compiler/i386/r386iri.inc @@ -44,6 +44,14 @@ 29, 30, 39, +98, +99, +100, +101, +102, +103, +104, +105, 66, 67, 68, @@ -88,4 +96,12 @@ 87, 88, 89, -36 +36, +90, +91, +92, +93, +94, +95, +96, +97 diff --git a/compiler/i386/r386nasm.inc b/compiler/i386/r386nasm.inc index 3e96da53e6..5c2de67a65 100644 --- a/compiler/i386/r386nasm.inc +++ b/compiler/i386/r386nasm.inc @@ -88,4 +88,20 @@ 'ymm4', 'ymm5', 'ymm6', -'ymm7' +'ymm7', +'zmm0', +'zmm1', +'zmm2', +'zmm3', +'zmm4', +'zmm5', +'zmm6', +'zmm7', +'k0', +'k1', +'k2', +'k3', +'k4', +'k5', +'k6', +'k7' diff --git a/compiler/i386/r386nor.inc b/compiler/i386/r386nor.inc index aa0fcb051c..f73584d2be 100644 --- a/compiler/i386/r386nor.inc +++ b/compiler/i386/r386nor.inc @@ -1,2 +1,2 @@ { don't edit, this file is generated from x86reg.dat } -90 +106 diff --git a/compiler/i386/r386nri.inc b/compiler/i386/r386nri.inc index 2390d1bb14..ca5489c32b 100644 --- a/compiler/i386/r386nri.inc +++ b/compiler/i386/r386nri.inc @@ -44,6 +44,14 @@ 29, 30, 39, +98, +99, +100, +101, +102, +103, +104, +105, 66, 67, 68, @@ -88,4 +96,12 @@ 87, 88, 89, -36 +36, +90, +91, +92, +93, +94, +95, +96, +97 diff --git a/compiler/i386/r386num.inc b/compiler/i386/r386num.inc index 2f0ce1bcb9..7a4f20dc66 100644 --- a/compiler/i386/r386num.inc +++ b/compiler/i386/r386num.inc @@ -88,4 +88,20 @@ tregister($040D0003), tregister($040D0004), tregister($040D0005), tregister($040D0006), -tregister($040D0007) +tregister($040D0007), +tregister($040E0000), +tregister($040E0001), +tregister($040E0002), +tregister($040E0003), +tregister($040E0004), +tregister($040E0005), +tregister($040E0006), +tregister($040E0007), +tregister($06000000), +tregister($06000001), +tregister($06000002), +tregister($06000003), +tregister($06000004), +tregister($06000005), +tregister($06000006), +tregister($06000007) diff --git a/compiler/i386/r386ot.inc b/compiler/i386/r386ot.inc index 95ffb8b8b9..be34ab5aa3 100644 --- a/compiler/i386/r386ot.inc +++ b/compiler/i386/r386ot.inc @@ -88,4 +88,20 @@ OT_YMMREG, OT_YMMREG, OT_YMMREG, OT_YMMREG, -OT_YMMREG +OT_YMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG diff --git a/compiler/i386/r386rni.inc b/compiler/i386/r386rni.inc index b800d564e9..94b86319f5 100644 --- a/compiler/i386/r386rni.inc +++ b/compiler/i386/r386rni.inc @@ -57,6 +57,14 @@ 87, 88, 89, +90, +91, +92, +93, +94, +95, +96, +97, 25, 26, 27, @@ -88,4 +96,12 @@ 37, 38, 39, -40 +40, +98, +99, +100, +101, +102, +103, +104, +105 diff --git a/compiler/i386/r386sri.inc b/compiler/i386/r386sri.inc index 2390d1bb14..ca5489c32b 100644 --- a/compiler/i386/r386sri.inc +++ b/compiler/i386/r386sri.inc @@ -44,6 +44,14 @@ 29, 30, 39, +98, +99, +100, +101, +102, +103, +104, +105, 66, 67, 68, @@ -88,4 +96,12 @@ 87, 88, 89, -36 +36, +90, +91, +92, +93, +94, +95, +96, +97 diff --git a/compiler/i386/r386stab.inc b/compiler/i386/r386stab.inc index e876c29894..0f4abdd30d 100644 --- a/compiler/i386/r386stab.inc +++ b/compiler/i386/r386stab.inc @@ -88,4 +88,20 @@ 25, 26, 27, -28 +28, +21, +22, +23, +24, +25, +26, +27, +28, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1 diff --git a/compiler/i386/r386std.inc b/compiler/i386/r386std.inc index 384ae00310..c87182aeb3 100644 --- a/compiler/i386/r386std.inc +++ b/compiler/i386/r386std.inc @@ -88,4 +88,20 @@ 'ymm4', 'ymm5', 'ymm6', -'ymm7' +'ymm7', +'zmm0', +'zmm1', +'zmm2', +'zmm3', +'zmm4', +'zmm5', +'zmm6', +'zmm7', +'k0', +'k1', +'k2', +'k3', +'k4', +'k5', +'k6', +'k7' diff --git a/compiler/i8086/i8086att.inc b/compiler/i8086/i8086att.inc index e4a558db7e..5be0bc64dc 100644 --- a/compiler/i8086/i8086att.inc +++ b/compiler/i8086/i8086att.inc @@ -783,8 +783,10 @@ 'vcvtdq2ps', 'vcvtpd2dq', 'vcvtpd2ps', +'vcvtph2ps', 'vcvtps2dq', 'vcvtps2pd', +'vcvtps2ph', 'vcvtsd2si', 'vcvtsd2ss', 'vcvtsi2sd', @@ -1067,66 +1069,66 @@ 'set1', 'sub4s', 'test1', -'vfmadd132pd', -'vfmadd213pd', -'vfmadd231pd', 'vfmaddpd', +'vfmadd132pd', 'vfmadd132ps', -'vfmadd213ps', -'vfmadd231ps', 'vfmadd132sd', -'vfmadd213sd', -'vfmadd231sd', 'vfmadd132ss', +'vfmadd213pd', +'vfmadd213ps', +'vfmadd213sd', 'vfmadd213ss', +'vfmadd231pd', +'vfmadd231ps', +'vfmadd231sd', 'vfmadd231ss', 'vfmaddsub132pd', -'vfmaddsub213pd', -'vfmaddsub231pd', 'vfmaddsub132ps', +'vfmaddsub213pd', 'vfmaddsub213ps', +'vfmaddsub231pd', 'vfmaddsub231ps', -'vfmsubadd132pd', -'vfmsubadd213pd', -'vfmsubadd231pd', -'vfmsubadd132ps', -'vfmsubadd213ps', -'vfmsubadd231ps', 'vfmsub132pd', -'vfmsub213pd', -'vfmsub231pd', 'vfmsub132ps', -'vfmsub213ps', -'vfmsub231ps', 'vfmsub132sd', -'vfmsub213sd', -'vfmsub231sd', 'vfmsub132ss', +'vfmsub213pd', +'vfmsub213ps', +'vfmsub213sd', 'vfmsub213ss', +'vfmsub231pd', +'vfmsub231ps', +'vfmsub231sd', 'vfmsub231ss', +'vfmsubadd132pd', +'vfmsubadd132ps', +'vfmsubadd213pd', +'vfmsubadd213ps', +'vfmsubadd231pd', +'vfmsubadd231ps', 'vfnmadd132pd', -'vfnmadd213pd', -'vfnmadd231pd', 'vfnmadd132ps', -'vfnmadd213ps', -'vfnmadd231ps', 'vfnmadd132sd', -'vfnmadd213sd', -'vfnmadd231sd', 'vfnmadd132ss', +'vfnmadd213pd', +'vfnmadd213ps', +'vfnmadd213sd', 'vfnmadd213ss', +'vfnmadd231pd', +'vfnmadd231ps', +'vfnmadd231sd', 'vfnmadd231ss', 'vfnmsub132pd', -'vfnmsub213pd', -'vfnmsub231pd', 'vfnmsub132ps', -'vfnmsub213ps', -'vfnmsub231ps', 'vfnmsub132sd', -'vfnmsub213sd', -'vfnmsub231sd', 'vfnmsub132ss', +'vfnmsub213pd', +'vfnmsub213ps', +'vfnmsub213sd', 'vfnmsub213ss', +'vfnmsub231pd', +'vfnmsub231ps', +'vfnmsub231sd', 'vfnmsub231ss', 'xacquire', 'xrelease', @@ -1137,5 +1139,283 @@ 'rdrand', 'rdseed', 'xgetbv', -'prefetchwt1' +'prefetchwt1', +'kaddb', +'kaddd', +'kaddq', +'kaddw', +'kandb', +'kandd', +'kandnb', +'kandnd', +'kandnq', +'kandnw', +'kandq', +'kandw', +'kmovb', +'kmovd', +'kmovq', +'kmovw', +'knotb', +'knotd', +'knotq', +'knotw', +'korb', +'kord', +'korq', +'kortestb', +'kortestd', +'kortestq', +'kortestw', +'korw', +'kshiftlb', +'kshiftld', +'kshiftlq', +'kshiftlw', +'kshiftrb', +'kshiftrd', +'kshiftrq', +'kshiftrw', +'ktestb', +'ktestd', +'ktestq', +'ktestw', +'kunpckbw', +'kunpckdq', +'kunpckwd', +'kxnorb', +'kxnord', +'kxnorq', +'kxnorw', +'kxorb', +'kxord', +'kxorq', +'kxorw', +'valignd', +'valignq', +'vblendmpd', +'vblendmps', +'vbroadcastf32x2', +'vbroadcastf32x4', +'vbroadcastf32x8', +'vbroadcastf64x2', +'vbroadcastf64x4', +'vbroadcasti32x2', +'vbroadcasti32x4', +'vbroadcasti32x8', +'vbroadcasti64x2', +'vbroadcasti64x4', +'vcompresspd', +'vcompressps', +'vcvtpd2qq', +'vcvtpd2udq', +'vcvtpd2uqq', +'vcvtps2qq', +'vcvtps2udq', +'vcvtps2uqq', +'vcvtqq2pd', +'vcvtqq2ps', +'vcvtsd2usi', +'vcvtss2usi', +'vcvttpd2qq', +'vcvttpd2udq', +'vcvttpd2uqq', +'vcvttps2qq', +'vcvttps2udq', +'vcvttps2uqq', +'vcvttsd2usi', +'vcvttss2usi', +'vcvtudq2pd', +'vcvtudq2ps', +'vcvtuqq2pd', +'vcvtuqq2ps', +'vcvtusi2sd', +'vcvtusi2ss', +'vdbpsadbw', +'vexp2pd', +'vexp2ps', +'vexpandpd', +'vexpandps', +'vextractf32x4', +'vextractf32x8', +'vextractf64x2', +'vextractf64x4', +'vextracti32x4', +'vextracti32x8', +'vextracti64x2', +'vextracti64x4', +'vfixupimmpd', +'vfixupimmps', +'vfixupimmsd', +'vfixupimmss', +'vfpclasspd', +'vfpclassps', +'vfpclasssd', +'vfpclassss', +'vgetexppd', +'vgetexpps', +'vgetexpsd', +'vgetexpss', +'vgetmantpd', +'vgetmantps', +'vgetmantsd', +'vgetmantss', +'vinsertf32x4', +'vinsertf32x8', +'vinsertf64x2', +'vinsertf64x4', +'vinserti32x4', +'vinserti32x8', +'vinserti64x2', +'vinserti64x4', +'vmovdqa32', +'vmovdqa64', +'vmovdqu16', +'vmovdqu32', +'vmovdqu64', +'vmovdqu8', +'vpabsq', +'vpandd', +'vpandnd', +'vpandnq', +'vpandq', +'vpblendmb', +'vpblendmd', +'vpblendmq', +'vpblendmw', +'vpcmpb', +'vpcmpd', +'vpcmpq', +'vpcmpub', +'vpcmpud', +'vpcmpuq', +'vpcmpuw', +'vpcmpw', +'vpcompressd', +'vpcompressq', +'vpconflictd', +'vpconflictq', +'vpermb', +'vpermi2b', +'vpermi2d', +'vpermi2pd', +'vpermi2ps', +'vpermi2q', +'vpermi2w', +'vpermt2b', +'vpermt2d', +'vpermt2pd', +'vpermt2ps', +'vpermt2q', +'vpermt2w', +'vpermw', +'vpexpandd', +'vpexpandq', +'vplzcntd', +'vplzcntq', +'vpmadd52huq', +'vpmadd52luq', +'vpmaxsq', +'vpmaxuq', +'vpminsq', +'vpminuq', +'vpmovb2m', +'vpmovd2m', +'vpmovdb', +'vpmovdw', +'vpmovm2b', +'vpmovm2d', +'vpmovm2q', +'vpmovm2w', +'vpmovq2m', +'vpmovqb', +'vpmovqd', +'vpmovqw', +'vpmovsdb', +'vpmovsdw', +'vpmovsqb', +'vpmovsqd', +'vpmovsqw', +'vpmovswb', +'vpmovusdb', +'vpmovusdw', +'vpmovusqb', +'vpmovusqd', +'vpmovusqw', +'vpmovuswb', +'vpmovw2m', +'vpmovwb', +'vpmullq', +'vpmultishiftqb', +'vpord', +'vporq', +'vprold', +'vprolq', +'vprolvd', +'vprolvq', +'vprord', +'vprorq', +'vprorvd', +'vprorvq', +'vpscatterdd', +'vpscatterdq', +'vpscatterqd', +'vpscatterqq', +'vpsllvw', +'vpsraq', +'vpsravq', +'vpsravw', +'vpsrlvw', +'vpternlogd', +'vpternlogq', +'vptestmb', +'vptestmd', +'vptestmq', +'vptestmw', +'vptestnmb', +'vptestnmd', +'vptestnmq', +'vptestnmw', +'vpxord', +'vpxorq', +'vrangepd', +'vrangeps', +'vrangesd', +'vrangess', +'vrcp14pd', +'vrcp14ps', +'vrcp14sd', +'vrcp14ss', +'vrcp28pd', +'vrcp28ps', +'vrcp28sd', +'vrcp28ss', +'vreducepd', +'vreduceps', +'vreducesd', +'vreducess', +'vrndscalepd', +'vrndscaleps', +'vrndscalesd', +'vrndscaless', +'vrsqrt14pd', +'vrsqrt14ps', +'vrsqrt14sd', +'vrsqrt14ss', +'vrsqrt28pd', +'vrsqrt28ps', +'vrsqrt28sd', +'vrsqrt28ss', +'vscalefpd', +'vscalefps', +'vscalefsd', +'vscalefss', +'vscatterdpd', +'vscatterdps', +'vscatterqpd', +'vscatterqps', +'vshuff32x4', +'vshuff64x2', +'vshufi32x4', +'vshufi64x2' ); diff --git a/compiler/i8086/i8086atts.inc b/compiler/i8086/i8086atts.inc index a385a22bfa..c9e9452c45 100644 --- a/compiler/i8086/i8086atts.inc +++ b/compiler/i8086/i8086atts.inc @@ -787,6 +787,8 @@ attsufNONE, attsufNONE, attsufNONE, attsufNONE, +attsufNONE, +attsufNONE, attsufINT, attsufINT, attsufNONE, @@ -1137,5 +1139,283 @@ attsufNONE, attsufNONE, attsufNONE, attsufNONE, -attsufINT +attsufINT, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE ); diff --git a/compiler/i8086/i8086int.inc b/compiler/i8086/i8086int.inc index 5c88388a9c..91bc0d0e01 100644 --- a/compiler/i8086/i8086int.inc +++ b/compiler/i8086/i8086int.inc @@ -783,8 +783,10 @@ 'vcvtdq2ps', 'vcvtpd2dq', 'vcvtpd2ps', +'vcvtph2ps', 'vcvtps2dq', 'vcvtps2pd', +'vcvtps2ph', 'vcvtsd2si', 'vcvtsd2ss', 'vcvtsi2sd', @@ -1067,66 +1069,66 @@ 'set1', 'sub4s', 'test1', -'vfmadd132pd', -'vfmadd213pd', -'vfmadd231pd', 'vfmaddpd', +'vfmadd132pd', 'vfmadd132ps', -'vfmadd213ps', -'vfmadd231ps', 'vfmadd132sd', -'vfmadd213sd', -'vfmadd231sd', 'vfmadd132ss', +'vfmadd213pd', +'vfmadd213ps', +'vfmadd213sd', 'vfmadd213ss', +'vfmadd231pd', +'vfmadd231ps', +'vfmadd231sd', 'vfmadd231ss', 'vfmaddsub132pd', -'vfmaddsub213pd', -'vfmaddsub231pd', 'vfmaddsub132ps', +'vfmaddsub213pd', 'vfmaddsub213ps', +'vfmaddsub231pd', 'vfmaddsub231ps', -'vfmsubadd132pd', -'vfmsubadd213pd', -'vfmsubadd231pd', -'vfmsubadd132ps', -'vfmsubadd213ps', -'vfmsubadd231ps', 'vfmsub132pd', -'vfmsub213pd', -'vfmsub231pd', 'vfmsub132ps', -'vfmsub213ps', -'vfmsub231ps', 'vfmsub132sd', -'vfmsub213sd', -'vfmsub231sd', 'vfmsub132ss', +'vfmsub213pd', +'vfmsub213ps', +'vfmsub213sd', 'vfmsub213ss', +'vfmsub231pd', +'vfmsub231ps', +'vfmsub231sd', 'vfmsub231ss', +'vfmsubadd132pd', +'vfmsubadd132ps', +'vfmsubadd213pd', +'vfmsubadd213ps', +'vfmsubadd231pd', +'vfmsubadd231ps', 'vfnmadd132pd', -'vfnmadd213pd', -'vfnmadd231pd', 'vfnmadd132ps', -'vfnmadd213ps', -'vfnmadd231ps', 'vfnmadd132sd', -'vfnmadd213sd', -'vfnmadd231sd', 'vfnmadd132ss', +'vfnmadd213pd', +'vfnmadd213ps', +'vfnmadd213sd', 'vfnmadd213ss', +'vfnmadd231pd', +'vfnmadd231ps', +'vfnmadd231sd', 'vfnmadd231ss', 'vfnmsub132pd', -'vfnmsub213pd', -'vfnmsub231pd', 'vfnmsub132ps', -'vfnmsub213ps', -'vfnmsub231ps', 'vfnmsub132sd', -'vfnmsub213sd', -'vfnmsub231sd', 'vfnmsub132ss', +'vfnmsub213pd', +'vfnmsub213ps', +'vfnmsub213sd', 'vfnmsub213ss', +'vfnmsub231pd', +'vfnmsub231ps', +'vfnmsub231sd', 'vfnmsub231ss', 'xacquire', 'xrelease', @@ -1137,5 +1139,283 @@ 'rdrand', 'rdseed', 'xgetbv', -'prefetchwt1' +'prefetchwt1', +'kaddb', +'kaddd', +'kaddq', +'kaddw', +'kandb', +'kandd', +'kandnb', +'kandnd', +'kandnq', +'kandnw', +'kandq', +'kandw', +'kmovb', +'kmovd', +'kmovq', +'kmovw', +'knotb', +'knotd', +'knotq', +'knotw', +'korb', +'kord', +'korq', +'kortestb', +'kortestd', +'kortestq', +'kortestw', +'korw', +'kshiftlb', +'kshiftld', +'kshiftlq', +'kshiftlw', +'kshiftrb', +'kshiftrd', +'kshiftrq', +'kshiftrw', +'ktestb', +'ktestd', +'ktestq', +'ktestw', +'kunpckbw', +'kunpckdq', +'kunpckwd', +'kxnorb', +'kxnord', +'kxnorq', +'kxnorw', +'kxorb', +'kxord', +'kxorq', +'kxorw', +'valignd', +'valignq', +'vblendmpd', +'vblendmps', +'vbroadcastf32x2', +'vbroadcastf32x4', +'vbroadcastf32x8', +'vbroadcastf64x2', +'vbroadcastf64x4', +'vbroadcasti32x2', +'vbroadcasti32x4', +'vbroadcasti32x8', +'vbroadcasti64x2', +'vbroadcasti64x4', +'vcompresspd', +'vcompressps', +'vcvtpd2qq', +'vcvtpd2udq', +'vcvtpd2uqq', +'vcvtps2qq', +'vcvtps2udq', +'vcvtps2uqq', +'vcvtqq2pd', +'vcvtqq2ps', +'vcvtsd2usi', +'vcvtss2usi', +'vcvttpd2qq', +'vcvttpd2udq', +'vcvttpd2uqq', +'vcvttps2qq', +'vcvttps2udq', +'vcvttps2uqq', +'vcvttsd2usi', +'vcvttss2usi', +'vcvtudq2pd', +'vcvtudq2ps', +'vcvtuqq2pd', +'vcvtuqq2ps', +'vcvtusi2sd', +'vcvtusi2ss', +'vdbpsadbw', +'vexp2pd', +'vexp2ps', +'vexpandpd', +'vexpandps', +'vextractf32x4', +'vextractf32x8', +'vextractf64x2', +'vextractf64x4', +'vextracti32x4', +'vextracti32x8', +'vextracti64x2', +'vextracti64x4', +'vfixupimmpd', +'vfixupimmps', +'vfixupimmsd', +'vfixupimmss', +'vfpclasspd', +'vfpclassps', +'vfpclasssd', +'vfpclassss', +'vgetexppd', +'vgetexpps', +'vgetexpsd', +'vgetexpss', +'vgetmantpd', +'vgetmantps', +'vgetmantsd', +'vgetmantss', +'vinsertf32x4', +'vinsertf32x8', +'vinsertf64x2', +'vinsertf64x4', +'vinserti32x4', +'vinserti32x8', +'vinserti64x2', +'vinserti64x4', +'vmovdqa32', +'vmovdqa64', +'vmovdqu16', +'vmovdqu32', +'vmovdqu64', +'vmovdqu8', +'vpabsq', +'vpandd', +'vpandnd', +'vpandnq', +'vpandq', +'vpblendmb', +'vpblendmd', +'vpblendmq', +'vpblendmw', +'vpcmpb', +'vpcmpd', +'vpcmpq', +'vpcmpub', +'vpcmpud', +'vpcmpuq', +'vpcmpuw', +'vpcmpw', +'vpcompressd', +'vpcompressq', +'vpconflictd', +'vpconflictq', +'vpermb', +'vpermi2b', +'vpermi2d', +'vpermi2pd', +'vpermi2ps', +'vpermi2q', +'vpermi2w', +'vpermt2b', +'vpermt2d', +'vpermt2pd', +'vpermt2ps', +'vpermt2q', +'vpermt2w', +'vpermw', +'vpexpandd', +'vpexpandq', +'vplzcntd', +'vplzcntq', +'vpmadd52huq', +'vpmadd52luq', +'vpmaxsq', +'vpmaxuq', +'vpminsq', +'vpminuq', +'vpmovb2m', +'vpmovd2m', +'vpmovdb', +'vpmovdw', +'vpmovm2b', +'vpmovm2d', +'vpmovm2q', +'vpmovm2w', +'vpmovq2m', +'vpmovqb', +'vpmovqd', +'vpmovqw', +'vpmovsdb', +'vpmovsdw', +'vpmovsqb', +'vpmovsqd', +'vpmovsqw', +'vpmovswb', +'vpmovusdb', +'vpmovusdw', +'vpmovusqb', +'vpmovusqd', +'vpmovusqw', +'vpmovuswb', +'vpmovw2m', +'vpmovwb', +'vpmullq', +'vpmultishiftqb', +'vpord', +'vporq', +'vprold', +'vprolq', +'vprolvd', +'vprolvq', +'vprord', +'vprorq', +'vprorvd', +'vprorvq', +'vpscatterdd', +'vpscatterdq', +'vpscatterqd', +'vpscatterqq', +'vpsllvw', +'vpsraq', +'vpsravq', +'vpsravw', +'vpsrlvw', +'vpternlogd', +'vpternlogq', +'vptestmb', +'vptestmd', +'vptestmq', +'vptestmw', +'vptestnmb', +'vptestnmd', +'vptestnmq', +'vptestnmw', +'vpxord', +'vpxorq', +'vrangepd', +'vrangeps', +'vrangesd', +'vrangess', +'vrcp14pd', +'vrcp14ps', +'vrcp14sd', +'vrcp14ss', +'vrcp28pd', +'vrcp28ps', +'vrcp28sd', +'vrcp28ss', +'vreducepd', +'vreduceps', +'vreducesd', +'vreducess', +'vrndscalepd', +'vrndscaleps', +'vrndscalesd', +'vrndscaless', +'vrsqrt14pd', +'vrsqrt14ps', +'vrsqrt14sd', +'vrsqrt14ss', +'vrsqrt28pd', +'vrsqrt28ps', +'vrsqrt28sd', +'vrsqrt28ss', +'vscalefpd', +'vscalefps', +'vscalefsd', +'vscalefss', +'vscatterdpd', +'vscatterdps', +'vscatterqpd', +'vscatterqps', +'vshuff32x4', +'vshuff64x2', +'vshufi32x4', +'vshufi64x2' ); diff --git a/compiler/i8086/i8086nop.inc b/compiler/i8086/i8086nop.inc index f28d4148bf..9aa9566158 100644 --- a/compiler/i8086/i8086nop.inc +++ b/compiler/i8086/i8086nop.inc @@ -1,2 +1,2 @@ { don't edit, this file is generated from x86ins.dat } -2161; +4085; diff --git a/compiler/i8086/i8086op.inc b/compiler/i8086/i8086op.inc index ffb3e99899..2b7c19d66f 100644 --- a/compiler/i8086/i8086op.inc +++ b/compiler/i8086/i8086op.inc @@ -783,8 +783,10 @@ A_VCVTDQ2PD, A_VCVTDQ2PS, A_VCVTPD2DQ, A_VCVTPD2PS, +A_VCVTPH2PS, A_VCVTPS2DQ, A_VCVTPS2PD, +A_VCVTPS2PH, A_VCVTSD2SI, A_VCVTSD2SS, A_VCVTSI2SD, @@ -1067,66 +1069,66 @@ A_ROR4, A_SET1, A_SUB4S, A_TEST1, -A_VFMADD132PD, -A_VFMADD213PD, -A_VFMADD231PD, A_VFMADDPD, +A_VFMADD132PD, A_VFMADD132PS, -A_VFMADD213PS, -A_VFMADD231PS, A_VFMADD132SD, -A_VFMADD213SD, -A_VFMADD231SD, A_VFMADD132SS, +A_VFMADD213PD, +A_VFMADD213PS, +A_VFMADD213SD, A_VFMADD213SS, +A_VFMADD231PD, +A_VFMADD231PS, +A_VFMADD231SD, A_VFMADD231SS, A_VFMADDSUB132PD, -A_VFMADDSUB213PD, -A_VFMADDSUB231PD, A_VFMADDSUB132PS, +A_VFMADDSUB213PD, A_VFMADDSUB213PS, +A_VFMADDSUB231PD, A_VFMADDSUB231PS, -A_VFMSUBADD132PD, -A_VFMSUBADD213PD, -A_VFMSUBADD231PD, -A_VFMSUBADD132PS, -A_VFMSUBADD213PS, -A_VFMSUBADD231PS, A_VFMSUB132PD, -A_VFMSUB213PD, -A_VFMSUB231PD, A_VFMSUB132PS, -A_VFMSUB213PS, -A_VFMSUB231PS, A_VFMSUB132SD, -A_VFMSUB213SD, -A_VFMSUB231SD, A_VFMSUB132SS, +A_VFMSUB213PD, +A_VFMSUB213PS, +A_VFMSUB213SD, A_VFMSUB213SS, +A_VFMSUB231PD, +A_VFMSUB231PS, +A_VFMSUB231SD, A_VFMSUB231SS, +A_VFMSUBADD132PD, +A_VFMSUBADD132PS, +A_VFMSUBADD213PD, +A_VFMSUBADD213PS, +A_VFMSUBADD231PD, +A_VFMSUBADD231PS, A_VFNMADD132PD, -A_VFNMADD213PD, -A_VFNMADD231PD, A_VFNMADD132PS, -A_VFNMADD213PS, -A_VFNMADD231PS, A_VFNMADD132SD, -A_VFNMADD213SD, -A_VFNMADD231SD, A_VFNMADD132SS, +A_VFNMADD213PD, +A_VFNMADD213PS, +A_VFNMADD213SD, A_VFNMADD213SS, +A_VFNMADD231PD, +A_VFNMADD231PS, +A_VFNMADD231SD, A_VFNMADD231SS, A_VFNMSUB132PD, -A_VFNMSUB213PD, -A_VFNMSUB231PD, A_VFNMSUB132PS, -A_VFNMSUB213PS, -A_VFNMSUB231PS, A_VFNMSUB132SD, -A_VFNMSUB213SD, -A_VFNMSUB231SD, A_VFNMSUB132SS, +A_VFNMSUB213PD, +A_VFNMSUB213PS, +A_VFNMSUB213SD, A_VFNMSUB213SS, +A_VFNMSUB231PD, +A_VFNMSUB231PS, +A_VFNMSUB231SD, A_VFNMSUB231SS, A_XACQUIRE, A_XRELEASE, @@ -1137,5 +1139,283 @@ A_XTEST, A_RDRAND, A_RDSEED, A_XGETBV, -A_PREFETCHWT1 +A_PREFETCHWT1, +A_KADDB, +A_KADDD, +A_KADDQ, +A_KADDW, +A_KANDB, +A_KANDD, +A_KANDNB, +A_KANDND, +A_KANDNQ, +A_KANDNW, +A_KANDQ, +A_KANDW, +A_KMOVB, +A_KMOVD, +A_KMOVQ, +A_KMOVW, +A_KNOTB, +A_KNOTD, +A_KNOTQ, +A_KNOTW, +A_KORB, +A_KORD, +A_KORQ, +A_KORTESTB, +A_KORTESTD, +A_KORTESTQ, +A_KORTESTW, +A_KORW, +A_KSHIFTLB, +A_KSHIFTLD, +A_KSHIFTLQ, +A_KSHIFTLW, +A_KSHIFTRB, +A_KSHIFTRD, +A_KSHIFTRQ, +A_KSHIFTRW, +A_KTESTB, +A_KTESTD, +A_KTESTQ, +A_KTESTW, +A_KUNPCKBW, +A_KUNPCKDQ, +A_KUNPCKWD, +A_KXNORB, +A_KXNORD, +A_KXNORQ, +A_KXNORW, +A_KXORB, +A_KXORD, +A_KXORQ, +A_KXORW, +A_VALIGND, +A_VALIGNQ, +A_VBLENDMPD, +A_VBLENDMPS, +A_VBROADCASTF32X2, +A_VBROADCASTF32X4, +A_VBROADCASTF32X8, +A_VBROADCASTF64X2, +A_VBROADCASTF64X4, +A_VBROADCASTI32X2, +A_VBROADCASTI32X4, +A_VBROADCASTI32X8, +A_VBROADCASTI64X2, +A_VBROADCASTI64X4, +A_VCOMPRESSPD, +A_VCOMPRESSPS, +A_VCVTPD2QQ, +A_VCVTPD2UDQ, +A_VCVTPD2UQQ, +A_VCVTPS2QQ, +A_VCVTPS2UDQ, +A_VCVTPS2UQQ, +A_VCVTQQ2PD, +A_VCVTQQ2PS, +A_VCVTSD2USI, +A_VCVTSS2USI, +A_VCVTTPD2QQ, +A_VCVTTPD2UDQ, +A_VCVTTPD2UQQ, +A_VCVTTPS2QQ, +A_VCVTTPS2UDQ, +A_VCVTTPS2UQQ, +A_VCVTTSD2USI, +A_VCVTTSS2USI, +A_VCVTUDQ2PD, +A_VCVTUDQ2PS, +A_VCVTUQQ2PD, +A_VCVTUQQ2PS, +A_VCVTUSI2SD, +A_VCVTUSI2SS, +A_VDBPSADBW, +A_VEXP2PD, +A_VEXP2PS, +A_VEXPANDPD, +A_VEXPANDPS, +A_VEXTRACTF32X4, +A_VEXTRACTF32X8, +A_VEXTRACTF64X2, +A_VEXTRACTF64X4, +A_VEXTRACTI32X4, +A_VEXTRACTI32X8, +A_VEXTRACTI64X2, +A_VEXTRACTI64X4, +A_VFIXUPIMMPD, +A_VFIXUPIMMPS, +A_VFIXUPIMMSD, +A_VFIXUPIMMSS, +A_VFPCLASSPD, +A_VFPCLASSPS, +A_VFPCLASSSD, +A_VFPCLASSSS, +A_VGETEXPPD, +A_VGETEXPPS, +A_VGETEXPSD, +A_VGETEXPSS, +A_VGETMANTPD, +A_VGETMANTPS, +A_VGETMANTSD, +A_VGETMANTSS, +A_VINSERTF32X4, +A_VINSERTF32X8, +A_VINSERTF64X2, +A_VINSERTF64X4, +A_VINSERTI32X4, +A_VINSERTI32X8, +A_VINSERTI64X2, +A_VINSERTI64X4, +A_VMOVDQA32, +A_VMOVDQA64, +A_VMOVDQU16, +A_VMOVDQU32, +A_VMOVDQU64, +A_VMOVDQU8, +A_VPABSQ, +A_VPANDD, +A_VPANDND, +A_VPANDNQ, +A_VPANDQ, +A_VPBLENDMB, +A_VPBLENDMD, +A_VPBLENDMQ, +A_VPBLENDMW, +A_VPCMPB, +A_VPCMPD, +A_VPCMPQ, +A_VPCMPUB, +A_VPCMPUD, +A_VPCMPUQ, +A_VPCMPUW, +A_VPCMPW, +A_VPCOMPRESSD, +A_VPCOMPRESSQ, +A_VPCONFLICTD, +A_VPCONFLICTQ, +A_VPERMB, +A_VPERMI2B, +A_VPERMI2D, +A_VPERMI2PD, +A_VPERMI2PS, +A_VPERMI2Q, +A_VPERMI2W, +A_VPERMT2B, +A_VPERMT2D, +A_VPERMT2PD, +A_VPERMT2PS, +A_VPERMT2Q, +A_VPERMT2W, +A_VPERMW, +A_VPEXPANDD, +A_VPEXPANDQ, +A_VPLZCNTD, +A_VPLZCNTQ, +A_VPMADD52HUQ, +A_VPMADD52LUQ, +A_VPMAXSQ, +A_VPMAXUQ, +A_VPMINSQ, +A_VPMINUQ, +A_VPMOVB2M, +A_VPMOVD2M, +A_VPMOVDB, +A_VPMOVDW, +A_VPMOVM2B, +A_VPMOVM2D, +A_VPMOVM2Q, +A_VPMOVM2W, +A_VPMOVQ2M, +A_VPMOVQB, +A_VPMOVQD, +A_VPMOVQW, +A_VPMOVSDB, +A_VPMOVSDW, +A_VPMOVSQB, +A_VPMOVSQD, +A_VPMOVSQW, +A_VPMOVSWB, +A_VPMOVUSDB, +A_VPMOVUSDW, +A_VPMOVUSQB, +A_VPMOVUSQD, +A_VPMOVUSQW, +A_VPMOVUSWB, +A_VPMOVW2M, +A_VPMOVWB, +A_VPMULLQ, +A_VPMULTISHIFTQB, +A_VPORD, +A_VPORQ, +A_VPROLD, +A_VPROLQ, +A_VPROLVD, +A_VPROLVQ, +A_VPRORD, +A_VPRORQ, +A_VPRORVD, +A_VPRORVQ, +A_VPSCATTERDD, +A_VPSCATTERDQ, +A_VPSCATTERQD, +A_VPSCATTERQQ, +A_VPSLLVW, +A_VPSRAQ, +A_VPSRAVQ, +A_VPSRAVW, +A_VPSRLVW, +A_VPTERNLOGD, +A_VPTERNLOGQ, +A_VPTESTMB, +A_VPTESTMD, +A_VPTESTMQ, +A_VPTESTMW, +A_VPTESTNMB, +A_VPTESTNMD, +A_VPTESTNMQ, +A_VPTESTNMW, +A_VPXORD, +A_VPXORQ, +A_VRANGEPD, +A_VRANGEPS, +A_VRANGESD, +A_VRANGESS, +A_VRCP14PD, +A_VRCP14PS, +A_VRCP14SD, +A_VRCP14SS, +A_VRCP28PD, +A_VRCP28PS, +A_VRCP28SD, +A_VRCP28SS, +A_VREDUCEPD, +A_VREDUCEPS, +A_VREDUCESD, +A_VREDUCESS, +A_VRNDSCALEPD, +A_VRNDSCALEPS, +A_VRNDSCALESD, +A_VRNDSCALESS, +A_VRSQRT14PD, +A_VRSQRT14PS, +A_VRSQRT14SD, +A_VRSQRT14SS, +A_VRSQRT28PD, +A_VRSQRT28PS, +A_VRSQRT28SD, +A_VRSQRT28SS, +A_VSCALEFPD, +A_VSCALEFPS, +A_VSCALEFSD, +A_VSCALEFSS, +A_VSCATTERDPD, +A_VSCATTERDPS, +A_VSCATTERQPD, +A_VSCATTERQPS, +A_VSHUFF32X4, +A_VSHUFF64X2, +A_VSHUFI32X4, +A_VSHUFI64X2 ); diff --git a/compiler/i8086/i8086prop.inc b/compiler/i8086/i8086prop.inc index e813e0155e..073d140269 100644 --- a/compiler/i8086/i8086prop.inc +++ b/compiler/i8086/i8086prop.inc @@ -787,6 +787,8 @@ (Ch: [Ch_Wop2, Ch_Rop1]), (Ch: [Ch_Wop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), +(Ch: [Ch_Wop2, Ch_Rop1]), +(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), @@ -876,7 +878,7 @@ (Ch: [Ch_All]), (Ch: [Ch_All]), (Ch: [Ch_All]), -(Ch: [Ch_All]), +(Ch: [Ch_All, Ch_None]), (Ch: [Ch_All]), (Ch: [Ch_All]), (Ch: [Ch_All]), @@ -1137,5 +1139,283 @@ (Ch: [Ch_Wop1, Ch_WFlags]), (Ch: [Ch_Wop1, Ch_WFlags]), (Ch: [Ch_WEAX, Ch_WEDX, Ch_RECX]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), (Ch: [Ch_All]) ); diff --git a/compiler/i8086/i8086tab.inc b/compiler/i8086/i8086tab.inc index 17cee9e248..f17b030ca8 100644 --- a/compiler/i8086/i8086tab.inc +++ b/compiler/i8086/i8086tab.inc @@ -8760,57 +8760,127 @@ ( opcode : A_VADDPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VADDPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#88#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#88#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VADDPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VADDPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#88#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#88#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VADDSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VADDSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#88#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#88#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VADDSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VADDSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#88#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#88#61#80; flags : [if_avx,if_sandybridge] ), ( @@ -8845,29 +8915,29 @@ opcode : A_VAESDEC; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#222#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#222#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESDECLAST; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#223#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#223#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESENC; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#220#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#220#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESENCLAST; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#221#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#221#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESIMC; @@ -8886,58 +8956,170 @@ ( opcode : A_VANDNPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDNPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#85#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VANDNPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDNPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#85#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VANDPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#84#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VANDPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#84#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VBLENDPD; @@ -9005,46 +9187,74 @@ ( opcode : A_VBROADCASTSD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#25#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#234#241#242#244#249#1#25#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VBROADCASTSD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#25#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#244#249#1#25#72; flags : [if_avx2] ), ( - opcode : A_VBROADCASTSS; + opcode : A_VBROADCASTSD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#24#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#234#241#249#1#25#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VBROADCASTSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#25#72; + flags : [if_avx512] ), ( opcode : A_VBROADCASTSS; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#24#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#24#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VBROADCASTSS; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#24#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#24#72; flags : [if_avx2] ), ( opcode : A_VBROADCASTSS; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#24#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#24#72; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VBROADCASTSS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#24#72; flags : [if_avx2] ), ( + opcode : A_VBROADCASTSS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#233#241#249#1#24#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VBROADCASTSS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#24#72; + flags : [if_avx512] + ), + ( opcode : A_VCMPEQPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); @@ -9943,6 +10153,55 @@ ( opcode : A_VCMPPD; ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPPD; + ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); code : #241#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] @@ -9957,6 +10216,55 @@ ( opcode : A_VCMPPS; ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPPS; + ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); code : #242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] @@ -9971,28 +10279,56 @@ ( opcode : A_VCMPSD; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + optypes : (ot_kreg_m,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #220#232#234#248#1#194#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCMPSD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #220#232#234#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPSD; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); code : #220#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCMPSD; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); code : #220#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCMPSS; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + optypes : (ot_kreg_m,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #219#232#248#1#194#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCMPSS; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #219#232#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPSS; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); code : #219#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCMPSS; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); code : #219#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), @@ -10000,371 +10336,882 @@ opcode : A_VCOMISD; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#248#1#47#72; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#47#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VCOMISD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#47#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#234#241#242#248#1#47#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCOMISS; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #242#248#1#47#72; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#47#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VCOMISS; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#47#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#242#248#1#47#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #219#242#248#1#230#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #219#232#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_thv] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#242#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #219#242#244#248#1#230#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#248#1#230#72; + flags : [if_avx512,if_bcst2,if_thv] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none); - code : #219#242#244#248#1#230#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #219#232#242#244#248#1#230#72; + flags : [if_avx,if_sandybridge,if_thv] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#242#244#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#244#248#1#230#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #219#232#233#248#1#230#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #219#232#233#248#1#230#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#233#248#1#230#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( opcode : A_VCVTDQ2PS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#242#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VCVTDQ2PS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#242#244#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#248#1#91#72; + flags : [if_avx512] ), ( opcode : A_VCVTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #220#242#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #220#232#234#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #220#232#234#242#244#248#1#230#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#242#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none); - code : #220#242#244#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#248#1#230#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#244#248#1#230#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#234#242#244#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #220#232#233#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#233#234#248#1#230#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #220#232#233#234#248#1#230#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTPD2PS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#242#248#1#90#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#242#244#248#1#90#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPD2PS; ops : 2; - optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#90#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#90#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#90#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#90#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#90#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#19#72; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#19#72; + flags : [if_avx] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#19#72; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#19#72; + flags : [if_avx] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#19#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#19#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTPS2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#91#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#248#1#91#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPS2DQ; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#91#72; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#241#242#244#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#242#244#248#1#91#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#241#248#1#91#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTPS2PD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #242#248#1#90#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#242#248#1#90#72; + flags : [if_avx,if_sandybridge,if_thv] ), ( opcode : A_VCVTPS2PD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPS2PD; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #242#244#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#90#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#242#244#248#1#90#72; + flags : [if_avx,if_sandybridge,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#244#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#90#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#248#1#90#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#248#1#90#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#90#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#250#1#29#65#22; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#29#65#22; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_mem64_m,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#29#65#22; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#29#65#22; + flags : [if_avx] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#250#1#29#65#22; + flags : [if_avx] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#29#65#22; + flags : [if_avx512] + ), + ( opcode : A_VCVTSD2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #220#232#242#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTSD2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#45#72; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#242#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSD2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#243#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #220#232#234#242#243#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTSD2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #220#242#243#248#1#45#72; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#234#242#243#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSD2SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#90#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#90#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VCVTSD2SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#90#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#90#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSI2SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none); - code : #220#242#248#1#42#61#80; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none); + code : #220#232#242#248#1#42#61#80; flags : [if_avx,if_sandybridge,if_sd] ), ( + opcode : A_VCVTSI2SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #220#232#242#248#1#42#61#80; + flags : [if_avx,if_sandybridge,if_sd,if_t1s] + ), + ( opcode : A_VCVTSI2SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none); - code : #219#242#248#1#42#61#80; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none); + code : #219#232#242#248#1#42#61#80; flags : [if_avx,if_sandybridge,if_sd] ), ( - opcode : A_VCVTSS2SD; + opcode : A_VCVTSI2SS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#90#61#80; - flags : [if_avx,if_sandybridge] + code : #219#232#242#248#1#42#61#80; + flags : [if_avx,if_sandybridge,if_sd,if_t1s] ), ( opcode : A_VCVTSS2SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#90#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#90#61#80; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VCVTSS2SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #219#232#242#248#1#90#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSS2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #219#232#242#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTSS2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#45#72; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#242#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSS2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#243#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #219#232#234#242#243#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTSS2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #219#242#243#248#1#45#72; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#234#242#243#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#230#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_avx512,if_tfv] ), ( opcode : A_VCVTTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#242#244#248#1#230#72; + flags : [if_avx,if_sandybridge,if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_avx512] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#230#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#230#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#230#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#248#1#230#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTTPS2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #219#242#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#242#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VCVTTPS2DQ; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #219#242#244#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#242#244#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #219#232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #219#232#233#248#1#91#72; + flags : [if_avx512] ), ( opcode : A_VCVTTSD2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #220#232#242#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTTSD2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#44#72; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#242#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTSD2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#243#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #220#232#234#242#243#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTTSD2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #220#242#243#248#1#44#72; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#234#242#243#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTSS2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #219#232#242#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTTSS2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#44#72; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#242#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTSS2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#243#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #219#232#234#242#243#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTTSS2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #219#242#243#248#1#44#72; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#234#242#243#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VDIVPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VDIVPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#94#61#80; + flags : [if_avx512] ), ( opcode : A_VDIVPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VDIVPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#94#61#80; + flags : [if_avx512] ), ( opcode : A_VDIVSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VDIVSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#94#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#94#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VDIVSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VDIVSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#94#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#94#61#80; flags : [if_avx,if_sandybridge] ), ( @@ -10398,11 +11245,25 @@ ( opcode : A_VEXTRACTPS; ops : 3; - optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#23#65#22; + optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#23#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VEXTRACTPS; + ops : 3; + optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#23#65#22; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VEXTRACTPS; + ops : 3; + optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#23#65#22; + flags : [if_avx512] + ), + ( opcode : A_VHADDPD; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); @@ -10469,14 +11330,14 @@ opcode : A_VINSERTPS; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); - code : #241#242#250#1#33#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#33#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VINSERTPS; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); - code : #241#242#250#1#33#61#80#23; + code : #232#241#242#250#1#33#61#80#23; flags : [if_avx,if_sandybridge] ), ( @@ -10566,205 +11427,464 @@ ( opcode : A_VMAXPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMAXPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#234#241#248#1#95#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#95#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VMAXPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMAXPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#248#1#95#61#80; + flags : [if_avx512] ), ( opcode : A_VMAXSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMAXSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#95#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #220#232#234#242#248#1#95#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMAXSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMAXSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#95#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #219#232#242#248#1#95#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMINPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMINPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#234#241#248#1#93#61#80; + flags : [if_avx512] ), ( opcode : A_VMINPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMINPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#248#1#93#61#80; + flags : [if_avx512] ), ( opcode : A_VMINSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMINSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#93#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #220#232#234#242#248#1#93#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMINSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMINSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#93#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #219#232#242#248#1#93#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#40#72; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#41#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#242#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#41#65; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#40#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#242#244#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#41#65; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#40#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#41#65; + flags : [if_avx512] + ), + ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#40#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#41#65; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#41#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#242#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#40#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #242#244#248#1#41#65; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#242#244#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( - opcode : A_VMOVD; + opcode : A_VMOVAPS; ops : 2; - optypes : (ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none,ot_none); - code : #241#242#248#1#110#72; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#40#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#41#65; + flags : [if_avx512] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#40#72; + flags : [if_avx512] + ), + ( opcode : A_VMOVD; ops : 2; optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#126#65; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#126#65; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VMOVD; + ops : 2; + optypes : (ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none,ot_none); + code : #232#241#242#248#1#110#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVDDUP; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #220#242#244#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#242#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tmddup] ), ( opcode : A_VMOVDDUP; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#18#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#242#248#1#18#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVDDUP; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#234#242#244#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tmddup] + ), + ( + opcode : A_VMOVDDUP; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #220#232#233#234#248#1#18#72; + flags : [if_avx512,if_tmddup] ), ( opcode : A_VMOVDQA; @@ -10826,71 +11946,71 @@ opcode : A_VMOVHLPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #242#248#1#18#61#80; + code : #232#242#248#1#18#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVHPD; ops : 2; optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#23#65; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#23#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVHPD; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #241#242#248#1#22#61#80; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#22#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVHPS; - ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #242#248#1#22#61#80; - flags : [if_avx,if_sandybridge] + ops : 2; + optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#23#65; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVHPS; - ops : 2; - optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#23#65; - flags : [if_avx,if_sandybridge] + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#242#248#1#22#61#80; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVLHPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #242#248#1#22#61#80; + code : #232#242#248#1#22#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVLPD; ops : 2; optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#19#65; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#19#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVLPD; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #241#242#248#1#18#61#80; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#18#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVLPS; ops : 2; optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#19#65; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#19#65; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVLPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #242#248#1#18#61#80; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#18#61#80; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVMSKPD; @@ -10952,227 +12072,339 @@ opcode : A_VMOVNTDQ; ops : 2; optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#231#65; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#231#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTDQ; ops : 2; optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#231#65; - flags : [if_avx,if_sandybridge] + code : #232#241#242#244#248#1#231#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVNTDQ; + ops : 2; + optypes : (ot_memory or ot_bits512,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#248#1#231#65; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVNTDQA; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none); - code : #241#242#249#1#42#72; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#42#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTDQA; ops : 2; optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_none,ot_none); - code : #241#242#244#249#1#42#72; - flags : [if_avx2] + code : #232#241#242#244#249#1#42#72; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VMOVNTDQA; + ops : 2; + optypes : (ot_zmmreg,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#42#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVNTPD; + ops : 2; + optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPD; ops : 2; optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#43#65; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#244#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPD; ops : 2; + optypes : (ot_memory or ot_bits512,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#43#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVNTPS; + ops : 2; optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#43#65; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPS; ops : 2; - optypes : (ot_memory or ot_bits128,ot_ymmreg,ot_none,ot_none); - code : #242#244#248#1#43#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPS; ops : 2; - optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#43#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_memory or ot_bits512,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#43#65; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#219#248#1#126#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#214#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVQ; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #242#219#248#1#126#72; - flags : [if_avx,if_sandybridge] + code : #219#232#234#242#248#1#126#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVQ; ops : 2; optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#241#248#1#214#65; + code : #219#232#234#242#248#1#126#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVQ; ops : 2; - optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #242#241#248#1#214#65; + optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#214#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSD; - ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#16#61#80; - flags : [if_avx,if_sandybridge] + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#17#61#66; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #220#232#234#242#248#1#17#61#66; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSD; - ops : 2; - optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#17#65; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #220#232#234#242#248#1#16#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSHDUP; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #219#242#248#1#22#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#242#248#1#22#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVSHDUP; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #219#242#244#248#1#22#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#242#244#248#1#22#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVSHDUP; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#248#1#22#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVSLDUP; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #219#242#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#242#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVSLDUP; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #219#242#244#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#242#244#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVSLDUP; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#248#1#18#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVSS; - ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#16#61#80; - flags : [if_avx,if_sandybridge] + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSS; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#17#61#66; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #219#232#242#248#1#17#61#66; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSS; - ops : 2; - optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#17#65; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #219#232#242#248#1#16#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#17#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#16#72; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#17#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#17#65; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#242#244#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#248#1#16#72; + flags : [if_avx512,if_tfvm] + ), + ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#17#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#16#72; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#17#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #242#244#248#1#17#65; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#242#244#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#248#1#16#72; + flags : [if_avx512,if_tfvm] + ), + ( opcode : A_VMPSADBW; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); @@ -11189,303 +12421,653 @@ ( opcode : A_VMULPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMULPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#89#61#80; + flags : [if_avx512] ), ( opcode : A_VMULPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMULPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#89#61#80; + flags : [if_avx512] ), ( opcode : A_VMULSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMULSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#89#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#89#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMULSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMULSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#89#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#89#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VORPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#86#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#86#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VORPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#86#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VORPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#86#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#86#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPABSB; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#249#1#28#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#242#249#1#28#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPABSB; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#249#1#28#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#242#244#249#1#28#72; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPABSB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#28#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPABSD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#249#1#30#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#242#249#1#30#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPABSD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#249#1#30#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#30#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#242#244#249#1#30#72; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#30#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#30#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#30#72; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPABSW; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#249#1#29#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#242#249#1#29#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPABSW; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#249#1#29#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#242#244#249#1#29#72; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPABSW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#29#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPACKSSDW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#107#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#107#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPACKSSDW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#107#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#107#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#107#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#107#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#107#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#107#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPACKSSWB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#99#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#99#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPACKSSWB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#99#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#99#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPACKSSWB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#99#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPACKUSDW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#43#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#43#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPACKUSDW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#43#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#43#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#43#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#43#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#43#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#43#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPACKUSWB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#103#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#103#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPACKUSWB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#103#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#103#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPACKUSWB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#103#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#252#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#252#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#252#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#252#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#252#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#254#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#254#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPADDD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#254#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#254#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#254#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#254#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#254#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#254#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPADDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#212#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#212#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPADDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#212#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#212#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#212#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#212#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#212#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#212#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPADDSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#236#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#236#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#236#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#236#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#236#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#237#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#237#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#237#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#237#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#237#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDUSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#220#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#220#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDUSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#220#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#220#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDUSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#220#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDUSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#221#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#221#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDUSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#221#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#221#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDUSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#221#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#253#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#253#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#253#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#253#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#253#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPALIGNR; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #241#242#250#1#15#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#242#250#1#15#61#80#23; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPALIGNR; ops : 4; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); - code : #241#242#244#250#1#15#61#80#23; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#242#244#250#1#15#61#80#23; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPALIGNR; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#15#61#80#23; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPAND; @@ -11518,30 +13100,44 @@ ( opcode : A_VPAVGB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#224#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#224#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPAVGB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#224#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#224#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPAVGB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#224#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPAVGW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#227#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#227#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPAVGW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#227#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#227#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPAVGW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#227#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPBLENDVB; @@ -11575,8 +13171,43 @@ opcode : A_VPCLMULQDQ; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #241#242#250#1#68#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#68#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPCLMULQDQ; + ops : 4; + optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#68#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCLMULQDQ; + ops : 4; + optypes : (ot_zmmreg,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#68#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQB; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#116#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#116#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#116#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPCMPEQB; @@ -11595,6 +13226,48 @@ ( opcode : A_VPCMPEQD; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#118#61#80; flags : [if_avx,if_sandybridge] @@ -11609,6 +13282,48 @@ ( opcode : A_VPCMPEQQ; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#249#1#41#61#80; flags : [if_avx,if_sandybridge] @@ -11623,6 +13338,27 @@ ( opcode : A_VPCMPEQW; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQW; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#117#61#80; flags : [if_avx,if_sandybridge] @@ -11651,6 +13387,27 @@ ( opcode : A_VPCMPGTB; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#100#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#100#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#100#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTB; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#100#61#80; flags : [if_avx,if_sandybridge] @@ -11665,6 +13422,48 @@ ( opcode : A_VPCMPGTD; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#102#61#80; flags : [if_avx,if_sandybridge] @@ -11679,6 +13478,48 @@ ( opcode : A_VPCMPGTQ; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#249#1#55#61#80; flags : [if_avx,if_sandybridge] @@ -11693,6 +13534,27 @@ ( opcode : A_VPCMPGTW; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#101#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#101#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#101#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTW; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#101#61#80; flags : [if_avx,if_sandybridge] @@ -11728,127 +13590,267 @@ ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#13#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#249#1#13#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#5#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#13#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#250#1#5#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#250#1#5#72#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#13#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#5#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#249#1#13#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#13#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#244#250#1#5#72#22; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#5#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#13#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#13#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#5#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#5#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#12#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#12#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#4#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#12#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#250#1#4#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#4#72#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#12#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#12#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#12#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#250#1#4#72#22; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#12#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#12#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPEXTRB; + ops : 3; + optypes : (ot_memory or ot_bits8,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#20#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VPEXTRB; + ops : 3; + optypes : (ot_reg16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#20#65#22; + flags : [if_avx512] ), ( opcode : A_VPEXTRB; ops : 3; optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#20#65#22; + code : #232#241#242#250#1#20#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRB; ops : 3; optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#20#65#22; + code : #232#241#242#250#1#20#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRB; ops : 3; - optypes : (ot_memory or ot_bits8,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#20#65#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_reg8,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#20#65#22; + flags : [if_avx512] ), ( opcode : A_VPEXTRD; ops : 3; optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#22#65#22; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#22#65#22; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPEXTRQ; ops : 3; optypes : (ot_rm_gpr or ot_bits64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#243#250#1#22#65#22; + code : #232#234#241#242#243#250#1#22#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VPEXTRW; + ops : 3; + optypes : (ot_memory or ot_bits16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#21#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VPEXTRW; + ops : 3; + optypes : (ot_reg16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#21#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; - optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#197#72#22; + optypes : (ot_reg16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#197#72#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; - optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#197#72#22; + optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#197#72#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#21#65#22; + code : #232#241#242#250#1#21#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#21#65#22; + code : #232#241#242#250#1#21#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; - optypes : (ot_memory or ot_bits16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#21#65#22; + optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#197#72#22; flags : [if_avx,if_sandybridge] ), ( @@ -11946,239 +13948,421 @@ opcode : A_VPINSRB; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8); - code : #241#242#250#1#32#61#80#23; + code : #232#241#242#250#1#32#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPINSRB; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits8,ot_immediate or ot_bits8); - code : #241#242#250#1#32#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#32#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRD; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_immediate or ot_bits8); - code : #241#242#250#1#34#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#34#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRQ; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits64,ot_immediate or ot_bits8); - code : #241#242#243#250#1#34#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#243#250#1#34#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRW; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8); - code : #241#242#248#1#196#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits16,ot_immediate or ot_bits8); + code : #232#241#242#248#1#196#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRW; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits16,ot_immediate or ot_bits8); - code : #241#242#248#1#196#61#80#23; + optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8); + code : #232#241#242#248#1#196#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMADDUBSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#4#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#4#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMADDUBSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#4#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#4#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMADDUBSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#4#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMADDWD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#245#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#245#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMADDWD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#245#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#245#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMADDWD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#245#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#60#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#60#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#60#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#60#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#60#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#61#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#61#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMAXSD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#61#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#61#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMAXSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#238#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#238#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#238#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#238#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#238#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXUB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#222#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#222#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXUB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#222#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#222#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXUB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#222#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXUD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#63#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#63#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMAXUD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#63#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#63#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMAXUW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#62#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#62#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXUW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#62#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#62#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXUW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#62#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#56#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#56#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#56#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#56#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#56#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#57#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#57#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMINSD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#57#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#57#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMINSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#234#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#234#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#234#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#234#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#234#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINUB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#218#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#218#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINUB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#218#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#218#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINUB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#218#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINUD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#59#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#59#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMINUD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#59#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#59#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMINUW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#58#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#58#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINUW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#58#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#58#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINUW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#58#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMOVMSKB; @@ -12211,394 +14395,716 @@ ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#33#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#33#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#33#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#33#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#33#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#33#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#33#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#33#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#33#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#33#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#249#1#34#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#249#1#34#72; + flags : [if_avx,if_sandybridge,if_tovm] ), ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#34#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#34#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#34#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#34#72; + flags : [if_avx2,if_tovm] ), ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#34#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#34#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#34#72; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#34#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXBW; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#32#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#32#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVSXBW; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#32#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#32#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXBW; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#32#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#32#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVSXBW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#32#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#32#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#32#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXDQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#37#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#37#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVSXDQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#37#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#37#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXDQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#37#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#37#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVSXDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#37#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#37#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#37#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXWD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#35#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#35#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVSXWD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#35#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#35#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXWD; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#35#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#35#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVSXWD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#35#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#35#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#35#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#36#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#36#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#36#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#36#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#36#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#36#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#36#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#36#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#36#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#36#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#49#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#49#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#49#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#49#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#49#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#49#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#49#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#49#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#49#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVZXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#49#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#249#1#50#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#249#1#50#72; + flags : [if_avx,if_sandybridge,if_tovm] ), ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#50#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#50#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#50#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#50#72; + flags : [if_avx2,if_tovm] ), ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#50#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#50#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#50#72; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVZXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#50#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXBW; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#48#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#48#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVZXBW; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#48#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#48#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXBW; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#48#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#48#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVZXBW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#48#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#48#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVZXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#48#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXDQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#53#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#53#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVZXDQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#53#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#53#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXDQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#53#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#53#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVZXDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#53#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#53#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVZXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#53#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXWD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#51#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#51#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVZXWD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#51#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#51#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXWD; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#51#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#51#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVZXWD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#51#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#51#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVZXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#51#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#52#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#52#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#52#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#52#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#52#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#52#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#52#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#52#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#52#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVZXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#52#72; + flags : [if_avx512] + ), + ( opcode : A_VPMULDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#40#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#249#1#40#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMULDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#40#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#40#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#249#1#40#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#40#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#40#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#40#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMULHRSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#11#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#11#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULHRSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#11#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#11#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULHRSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#11#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULHUW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#228#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#228#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULHUW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#228#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#228#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULHUW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#228#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULHW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#229#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#229#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULHW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#229#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#229#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULHW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#229#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#64#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#64#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMULLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#64#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#64#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMULLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#213#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#213#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#213#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#213#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#213#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULUDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#244#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#244#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMULUDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#244#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#244#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#244#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#244#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#244#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#244#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPOR; @@ -12618,71 +15124,127 @@ opcode : A_VPSADBW; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#246#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#246#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSADBW; ops : 3; optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#246#61#80; - flags : [if_avx2] + code : #232#241#242#244#248#1#246#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSADBW; + ops : 3; + optypes : (ot_zmmreg,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#246#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSHUFB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#0#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#0#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSHUFB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#0#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#0#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSHUFB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#0#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSHUFD; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#112#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#112#72#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSHUFD; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#112#72#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#112#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#112#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#112#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#112#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#112#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSHUFHW; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #219#242#248#1#112#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #219#232#242#248#1#112#72#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSHUFHW; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #219#242#244#248#1#112#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #219#232#242#244#248#1#112#72#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSHUFHW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #219#232#233#248#1#112#72#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSHUFLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #220#242#248#1#112#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #220#232#242#248#1#112#72#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSHUFLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #220#242#244#248#1#112#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #220#232#242#244#248#1#112#72#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSHUFLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #220#232#233#248#1#112#72#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSIGNB; @@ -12729,366 +15291,730 @@ ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#114#60#142#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#114#60#142#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#242#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#114#60#142#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#242#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#242#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#114#60#142#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#242#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#242#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSLLDQ; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#143#22; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#115#60#143#22; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSLLDQ; ops : 3; optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#143#22; - flags : [if_avx2] + code : #232#241#242#244#248#1#115#60#143#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_zmmreg,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#243#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#243#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#142#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#248#1#115#60#142#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#243#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#142#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#244#248#1#243#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#244#248#1#115#60#142#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#234#241#248#1#243#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#113#60#142#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#241#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#241#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#113#60#142#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#113#60#142#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#241#61#80; + flags : [if_avx2,if_tmem128] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#241#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#113#60#142#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSLLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#241#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSLLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#113#60#142#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#114#60#140#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#114#60#140#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#226#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#114#60#140#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#226#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#226#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#114#60#140#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#226#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#113#60#140#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#113#60#140#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#225#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#225#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#113#60#140#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#113#60#140#22; + flags : [if_avx2,if_tfvm] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#225#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#225#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRAW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#225#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#113#60#140#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#114#60#138#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#114#60#138#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#210#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#114#60#138#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#210#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#210#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#210#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#114#60#138#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#210#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLDQ; + ops : 3; + optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#115#60#139#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLDQ; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#139#22; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#115#60#139#22; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VPSRLDQ; + ops : 3; + optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#115#60#139#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLDQ; ops : 3; optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#139#22; - flags : [if_avx2] + code : #232#241#242#244#248#1#115#60#139#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSRLDQ; + ops : 3; + optypes : (ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#115#60#139#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#138#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#211#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#211#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#248#1#115#60#138#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#138#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#211#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#244#248#1#115#60#138#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#244#248#1#211#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#234#241#248#1#211#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#113#60#138#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#113#60#138#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#209#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#209#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#113#60#138#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#113#60#138#22; + flags : [if_avx2,if_tfvm] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#209#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#209#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#209#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#113#60#138#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#248#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#248#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#248#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#248#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#248#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#250#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#250#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSUBD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#250#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#250#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#250#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#250#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#250#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#250#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSUBQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#251#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#251#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSUBQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#251#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#251#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#251#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#251#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#251#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#251#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSUBSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#232#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#232#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#232#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#232#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#232#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#233#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#233#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#233#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#233#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#233#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBUSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#216#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#216#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBUSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#216#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#216#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBUSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#216#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBUSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#217#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#217#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBUSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#217#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#217#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBUSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#217#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#249#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#249#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#249#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#249#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#249#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPTEST; @@ -13107,114 +16033,254 @@ ( opcode : A_VPUNPCKHBW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#104#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#104#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKHBW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#104#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#104#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKHBW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#104#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPUNPCKHDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#106#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#106#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKHDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#106#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#106#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#106#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#106#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#106#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#106#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKHQDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#109#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#109#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKHQDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#109#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#109#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#109#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#109#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#109#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#109#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKHWD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#105#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#105#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKHWD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#105#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#105#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKHWD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#105#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPUNPCKLBW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#96#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#96#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKLBW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#96#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#96#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKLBW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#96#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPUNPCKLDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#98#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#98#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKLDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#98#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#98#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#98#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#98#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#98#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#98#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKLQDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#108#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#108#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKLQDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#108#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#108#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#108#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#108#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#108#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#108#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKLWD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#97#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#97#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKLWD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#97#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#97#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKLWD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#97#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPXOR; @@ -13345,86 +16411,212 @@ ( opcode : A_VSHUFPD; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #241#242#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#242#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSHUFPD; ops : 4; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); - code : #241#242#244#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#242#244#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] ), ( opcode : A_VSHUFPS; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #242#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#242#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSHUFPS; ops : 4; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); - code : #242#244#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#242#244#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#244#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] ), ( opcode : A_VSQRTPD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#242#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSQRTPD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#242#244#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#81#72; + flags : [if_avx512] ), ( opcode : A_VSQRTPS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#242#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSQRTPS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#242#244#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#248#1#81#72; + flags : [if_avx512] ), ( opcode : A_VSQRTSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#81#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#81#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VSQRTSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#81#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#81#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSQRTSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#81#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#81#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VSQRTSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#81#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#81#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSTMXCSR; @@ -13436,58 +16628,128 @@ ( opcode : A_VSUBPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSUBPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VSUBPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSUBPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#92#61#80; + flags : [if_avx512] ), ( opcode : A_VSUBSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSUBSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSUBSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#92#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#92#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VSUBSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VTESTPD; @@ -13521,113 +16783,281 @@ opcode : A_VUCOMISD; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#248#1#46#72; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#46#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VUCOMISD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#46#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#234#241#242#248#1#46#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VUCOMISS; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #242#248#1#46#72; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#46#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VUCOMISS; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#46#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#242#248#1#46#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VUNPCKHPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKHPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#21#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VUNPCKHPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKHPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#21#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VUNPCKLPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKLPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#20#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VUNPCKLPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKLPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#20#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VXORPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VXORPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#87#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VXORPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VXORPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#87#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VZEROALL; @@ -13793,116 +17223,361 @@ ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#120#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits8,ot_none,ot_none); + code : #232#241#242#249#1#120#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#120#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#120#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits8,ot_none,ot_none); - code : #241#242#249#1#120#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg8,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits8,ot_none,ot_none); + code : #232#241#242#244#249#1#120#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits8,ot_none,ot_none); - code : #241#242#244#249#1#120#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#120#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg8,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits8,ot_none,ot_none); + code : #232#233#241#249#1#120#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg8,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#120#72; + flags : [if_avx512] + ), + ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#88#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#88#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#88#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#88#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#88#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#88#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#88#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#88#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#244#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#233#241#249#1#88#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#233#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#88#72; + flags : [if_avx512] + ), + ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#89#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#234#241#242#249#1#89#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#89#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#249#1#89#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#89#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#234#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#234#241#242#244#249#1#89#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#89#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#244#249#1#89#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#234#241#244#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#234#241#249#1#89#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#233#234#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#89#72; + flags : [if_avx512] + ), + ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#249#1#121#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#249#1#121#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#121#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#121#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#244#249#1#121#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#249#1#123#72; + flags : [if_avx512] ), ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#121#72; + optypes : (ot_xmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#244#249#1#121#72; + flags : [if_avx2,if_t1s] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#121#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#244#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#244#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#244#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#233#241#249#1#121#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#233#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#233#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#233#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#121#72; + flags : [if_avx512] + ), + ( opcode : A_VPERM2I128; ops : 4; optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); @@ -13912,30 +17587,177 @@ ( opcode : A_VPERMD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#54#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#54#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#243#244#250#1#1#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#243#244#250#1#1#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#243#244#250#1#1#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#1#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#1#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#1#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#22#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#22#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#243#244#250#1#0#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#243#244#250#1#0#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#0#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#0#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#0#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMASKMOVD; @@ -13996,88 +17818,249 @@ ( opcode : A_VPSLLVD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#71#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSLLVD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#71#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLVQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#243#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#71#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSLLVQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#243#244#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#71#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRAVD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#70#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#70#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSRAVD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#70#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#70#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLVD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#69#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSRLVD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#69#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLVQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#243#244#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#69#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSRLVQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#243#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#69#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VGATHERDPD; ops : 3; - optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); + optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); code : #241#242#243#249#1#146#62#72; flags : [if_avx2] ), ( opcode : A_VGATHERDPD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#234#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPD; ops : 3; - optypes : (ot_ymmreg,ot_xmem64,ot_ymmreg,ot_none); + optypes : (ot_ymmreg,ot_xmem32,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#146#62#72; flags : [if_avx2] ), ( + opcode : A_VGATHERDPD; + ops : 2; + optypes : (ot_ymmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#234#241#244#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPD; + ops : 2; + optypes : (ot_zmmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#233#234#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VGATHERDPS; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14086,12 +18069,33 @@ ), ( opcode : A_VGATHERDPS; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPS; ops : 3; optypes : (ot_ymmreg,ot_ymem32,ot_ymmreg,ot_none); code : #241#242#244#249#1#146#62#72; flags : [if_avx2] ), ( + opcode : A_VGATHERDPS; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPS; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VGATHERQPD; ops : 3; optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); @@ -14100,12 +18104,33 @@ ), ( opcode : A_VGATHERQPD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPD; ops : 3; optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#147#62#72; flags : [if_avx2] ), ( + opcode : A_VGATHERQPD; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem64,ot_none,ot_none); + code : #232#234#241#244#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPD; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VGATHERQPS; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14120,6 +18145,27 @@ flags : [if_avx2] ), ( + opcode : A_VGATHERQPS; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPS; + ops : 2; + optypes : (ot_xmmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPS; + ops : 2; + optypes : (ot_ymmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERDD; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14128,12 +18174,33 @@ ), ( opcode : A_VPGATHERDD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDD; ops : 3; optypes : (ot_ymmreg,ot_ymem32,ot_ymmreg,ot_none); code : #241#242#244#249#1#144#62#72; flags : [if_avx2] ), ( + opcode : A_VPGATHERDD; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDD; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERDQ; ops : 3; optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); @@ -14142,12 +18209,33 @@ ), ( opcode : A_VPGATHERDQ; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDQ; ops : 3; optypes : (ot_ymmreg,ot_xmem64,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#144#62#72; flags : [if_avx2] ), ( + opcode : A_VPGATHERDQ; + ops : 2; + optypes : (ot_ymmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDQ; + ops : 2; + optypes : (ot_zmmreg_m,ot_ymem64,ot_none,ot_none); + code : #232#233#234#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERQD; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14162,6 +18250,27 @@ flags : [if_avx2] ), ( + opcode : A_VPGATHERQD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQD; + ops : 2; + optypes : (ot_xmmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQD; + ops : 2; + optypes : (ot_ymmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERQQ; ops : 3; optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); @@ -14170,12 +18279,33 @@ ), ( opcode : A_VPGATHERQQ; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQQ; ops : 3; optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#145#62#72; flags : [if_avx2] ), ( + opcode : A_VPGATHERQQ; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem64,ot_none,ot_none); + code : #232#234#241#244#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQQ; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_ADD4S; ops : 0; optypes : (ot_none,ot_none,ot_none,ot_none); @@ -14372,690 +18502,2118 @@ flags : [if_nec,if_sw,if_imm4,if_16bitonly] ), ( + opcode : A_VFMADDPD; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg); + code : #241#242#250#1#105#61#80#247; + flags : [if_fma4] + ), + ( + opcode : A_VFMADDPD; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm); + code : #241#242#250#243#1#105#61#88#246; + flags : [if_fma4] + ), + ( opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#152#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#152#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#152#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD213PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#168#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#152#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADD213PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#168#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD231PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#184#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD231PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#184#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDPD; - ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg); - code : #241#242#250#1#105#61#80#247; - flags : [if_fma4] + opcode : A_VFMADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#152#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMADDPD; - ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm); - code : #241#242#250#243#1#105#61#88#246; - flags : [if_fma4] + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#152#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADD132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#152#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMADD132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#152#61#80; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#152#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#152#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#152#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#153#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#153#61#80; flags : [if_fma] ), ( - opcode : A_VFMADD213PS; + opcode : A_VFMADD132SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#168#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#153#61#80; flags : [if_fma] ), ( + opcode : A_VFMADD132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#153#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#168#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#168#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#168#61#80; + flags : [if_avx512] + ), + ( opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#168#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#168#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADD231PS; + opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#184#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD231PS; + opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#184#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#168#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADD132SD; + opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#153#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#168#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#169#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#169#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFMADD231SD; + opcode : A_VFMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#185#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#169#61#80; flags : [if_fma] ), ( - opcode : A_VFMADD132SS; + opcode : A_VFMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#153#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#169#61#80; flags : [if_fma] ), ( opcode : A_VFMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#169#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#169#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#184#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#184#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#185#61#80; flags : [if_fma] ), ( + opcode : A_VFMADD231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#185#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFMADD231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#185#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#185#61#80; flags : [if_fma] ), ( + opcode : A_VFMADD231SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#185#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#150#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB213PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#166#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#150#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADDSUB213PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#166#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#150#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB231PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#182#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB231PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#182#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#150#61#80; + flags : [if_avx512] ), ( opcode : A_VFMADDSUB132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#150#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADDSUB132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#150#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#150#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#166#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#166#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#166#61#80; + flags : [if_avx512] ), ( opcode : A_VFMADDSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#166#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#166#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADDSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#166#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB231PS; + opcode : A_VFMADDSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#182#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#166#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#166#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#182#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#182#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#182#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#182#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#182#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#182#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD132PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#151#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD132PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#151#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#182#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD213PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#167#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD213PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#167#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD231PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD231PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#182#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMSUBADD132PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#151#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#154#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD132PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#151#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD213PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#167#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#154#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD213PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#167#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#154#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD231PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#154#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMSUBADD231PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#154#61#80; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#154#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#154#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#154#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#155#61#80; flags : [if_fma] ), ( - opcode : A_VFMSUB132PD; + opcode : A_VFMSUB132SD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#154#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#155#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#155#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#155#61#80; flags : [if_fma] ), ( opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB231PD; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUB231PD; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB132PS; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#154#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#170#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMSUB132PS; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#154#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB231PS; + opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUB231PS; + opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB132SD; + opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#155#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#170#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMSUB213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#171#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#171#61#80; flags : [if_fma] ), ( - opcode : A_VFMSUB231SD; + opcode : A_VFMSUB213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#187#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#171#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFMSUB132SS; + opcode : A_VFMSUB213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#155#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#171#61#80; flags : [if_fma] ), ( opcode : A_VFMSUB213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#171#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#171#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#186#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#186#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#187#61#80; flags : [if_fma] ), ( + opcode : A_VFMSUB231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#187#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFMSUB231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#187#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#187#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB231SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#187#61#80; flags : [if_fma] ), ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#151#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#151#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#167#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#167#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#183#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#183#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#156#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#156#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#156#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMADD213PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#172#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#156#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMADD213PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#172#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#156#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMADD231PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#188#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#156#61#80; + flags : [if_avx512] ), ( - opcode : A_VFNMADD231PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#188#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFNMADD132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#156#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#156#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMADD132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#156#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#156#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#156#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#157#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#157#61#80; flags : [if_fma] ), ( - opcode : A_VFNMADD213PS; + opcode : A_VFNMADD132SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#172#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#157#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMADD132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#157#61#80; flags : [if_fma] ), ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#172#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#172#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#172#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#172#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#172#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMADD231PS; + opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#188#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMADD231PS; + opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#188#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#172#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMADD132SD; + opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#157#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#172#61#80; + flags : [if_avx512] ), ( opcode : A_VFNMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#173#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#173#61#80; flags : [if_fma] ), ( - opcode : A_VFNMADD231SD; + opcode : A_VFNMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#189#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#173#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFNMADD132SS; + opcode : A_VFNMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#157#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#173#61#80; flags : [if_fma] ), ( opcode : A_VFNMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#173#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#173#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#188#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#188#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #241#242#243#249#1#189#61#80; + flags : [if_fma] + ), + ( + opcode : A_VFNMADD231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#189#61#80; flags : [if_fma] ), ( opcode : A_VFNMADD231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); code : #241#242#249#1#189#61#80; flags : [if_fma] ), ( + opcode : A_VFNMADD231SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#189#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#158#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#158#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#158#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB213PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#174#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#158#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMSUB213PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#174#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#158#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB231PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#190#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB231PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#190#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#158#61#80; + flags : [if_avx512] ), ( opcode : A_VFNMSUB132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#158#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#158#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMSUB132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#158#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#158#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#158#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#159#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#159#61#80; flags : [if_fma] ), ( - opcode : A_VFNMSUB213PS; + opcode : A_VFNMSUB132SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#174#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#159#61#80; flags : [if_fma] ), ( + opcode : A_VFNMSUB132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#159#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#174#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#174#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#174#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB213SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#175#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB213SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#175#61#80; flags : [if_fma] ), ( - opcode : A_VFNMSUB231PS; + opcode : A_VFNMSUB213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#190#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#175#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB213SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#175#61#80; flags : [if_fma] ), ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#190#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#190#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#190#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#190#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#190#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMSUB132SD; + opcode : A_VFNMSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#159#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB213SD; + opcode : A_VFNMSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#175#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#190#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#190#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFNMSUB231SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#191#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#191#61#80; flags : [if_fma] ), ( - opcode : A_VFNMSUB132SS; + opcode : A_VFNMSUB231SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#159#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#191#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFNMSUB213SS; + opcode : A_VFNMSUB231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#175#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#191#61#80; flags : [if_fma] ), ( opcode : A_VFNMSUB231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#191#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#191#61#80; + flags : [if_fma,if_t1s] ), ( opcode : A_XACQUIRE; @@ -15126,5 +20684,7915 @@ optypes : (ot_memory,ot_none,ot_none,ot_none); code : #2#15#13#130; flags : [if_prefetchwt1] + ), + ( + opcode : A_KADDB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KADDD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KADDQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KADDW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDNB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDND; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDNQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDNW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits8,ot_none,ot_none); + code : #241#242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_kreg,ot_reg32,ot_none,ot_none); + code : #241#242#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_memory or ot_bits8,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_reg32,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits32,ot_none,ot_none); + code : #241#242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_kreg,ot_reg32,ot_none,ot_none); + code : #220#242#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_memory or ot_bits32,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_reg32,ot_kreg,ot_none,ot_none); + code : #220#242#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits64,ot_none,ot_none); + code : #242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_kreg,ot_reg64,ot_none,ot_none); + code : #220#242#243#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_memory or ot_bits64,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_reg64,ot_kreg,ot_none,ot_none); + code : #220#242#243#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits16,ot_none,ot_none); + code : #242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_kreg,ot_reg32,ot_none,ot_none); + code : #242#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_memory or ot_bits16,ot_kreg,ot_none,ot_none); + code : #242#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_reg32,ot_kreg,ot_none,ot_none); + code : #242#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KORB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KORD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KORQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#50#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#51#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#51#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#50#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#48#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#49#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#49#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#48#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KTESTB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KTESTD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KTESTQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KTESTW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KUNPCKBW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#75#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KUNPCKDQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#75#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KUNPCKWD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#75#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#25#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#244#249#1#25#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#25#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#25#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF32X4; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#244#249#1#26#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTF32X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#26#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTF32X8; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#27#72; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VBROADCASTF64X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#244#249#1#26#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF64X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#234#241#249#1#26#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF64X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#234#241#249#1#27#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#89#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#249#1#89#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#89#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#244#249#1#89#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#89#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#89#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI32X4; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#244#249#1#90#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTI32X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#90#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTI32X8; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#91#72; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VBROADCASTI64X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#244#249#1#90#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI64X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#234#241#249#1#90#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI64X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#234#241#249#1#91#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VCOMPRESSPD; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPD; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPD; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#138#65; + flags : [if_avx512] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#138#65; + flags : [if_avx512] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#138#65; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#244#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#248#1#121#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#244#248#1#121#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#244#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#248#1#121#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#121#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#121#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#121#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#123#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#123#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#123#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#123#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#123#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#123#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #232#233#241#248#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#121#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#244#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#121#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#121#72; + flags : [if_avx512,if_bcst16,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#121#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#121#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#121#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#121#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#121#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#121#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #232#233#241#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#234#244#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#244#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #219#232#233#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#233#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #219#232#233#234#248#1#230#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#248#1#91#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#248#1#91#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#244#248#1#91#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#244#248#1#91#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#248#1#91#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#248#1#91#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#248#1#121#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#248#1#121#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#248#1#121#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#234#248#1#121#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#248#1#120#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#244#248#1#120#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#244#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#248#1#120#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#122#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#122#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#122#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#241#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#120#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#120#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#120#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#120#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#120#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#120#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#241#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#248#1#120#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#248#1#120#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#248#1#120#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#234#248#1#120#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #219#232#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#248#1#122#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#244#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#244#248#1#122#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #219#232#233#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#233#248#1#122#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #219#232#233#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #220#232#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #220#232#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #220#232#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #220#232#233#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #220#232#233#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #220#232#233#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#234#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #219#232#233#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#233#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #219#232#233#234#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #220#232#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #220#232#234#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#248#1#122#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#244#248#1#122#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#234#244#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #220#232#233#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#233#234#248#1#122#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #220#232#233#234#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUSI2SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits64,ot_none); + code : #220#232#234#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCVTUSI2SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits32,ot_none); + code : #220#232#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCVTUSI2SS; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits64,ot_none); + code : #219#232#234#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCVTUSI2SS; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits32,ot_none); + code : #219#232#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VDBPSADBW; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#66#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VDBPSADBW; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#66#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VDBPSADBW; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#66#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VEXP2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#200#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXP2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#200#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#244#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#241#244#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#25#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#25#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF32X8; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#27#65#22; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VEXTRACTF32X8; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#27#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#25#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#25#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF64X4; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#27#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTF64X4; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#27#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#57#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#57#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI32X8; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#59#65#22; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VEXTRACTI32X8; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#59#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#57#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#57#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI64X4; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#59#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTI64X4; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#59#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#84#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#241#250#1#84#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#85#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFIXUPIMMSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#85#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#85#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFIXUPIMMSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#85#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#102#72#22; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#102#72#22; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#102#72#22; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#102#72#22; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#102#72#22; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#102#72#22; + flags : [if_avx512,if_bcst16,if_tfv] + ), + ( + opcode : A_VFPCLASSSD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#103#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VFPCLASSSD; + ops : 3; + optypes : (ot_kreg_m,ot_memory or ot_bits64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#103#72#22; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFPCLASSSS; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#103#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VFPCLASSSS; + ops : 3; + optypes : (ot_kreg_m,ot_memory or ot_bits32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#103#72#22; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#66#72; + flags : [if_avx512] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#66#72; + flags : [if_avx512] + ), + ( + opcode : A_VGETEXPSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#67#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETEXPSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#234#241#249#1#67#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VGETEXPSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#67#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETEXPSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#241#249#1#67#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#38#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#38#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#39#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETMANTSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#39#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#39#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETMANTSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#39#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VINSERTF32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#24#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTF32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#24#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTF32X8; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#26#61#80#23; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VINSERTF64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#24#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTF64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#24#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTF64X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#26#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTI32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#56#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTI32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#56#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTI32X8; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#58#61#80#23; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VINSERTI64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#56#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTI64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#56#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTI64X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#58#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #220#232#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#234#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#234#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #220#232#233#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #220#232#233#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#234#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#234#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #220#232#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #220#232#233#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #220#232#233#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPB; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPB; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPB; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUB; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUB; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUB; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUW; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUW; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUW; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPW; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPW; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPW; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2B; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2B; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2B; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2W; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2W; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2W; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2B; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2B; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2B; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2W; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2W; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2W; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#241#244#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#244#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMOVB2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVB2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVB2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVD2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVD2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVD2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#49#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#49#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#49#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#49#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#49#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#49#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#51#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#51#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#51#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#51#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#51#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#51#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2B; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2B; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#244#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2B; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2D; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2D; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#244#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2D; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2Q; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2Q; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#244#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2Q; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#234#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2W; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2W; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#244#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2W; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#234#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQ2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#234#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQ2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#234#244#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQ2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#234#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#50#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_mem32_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#50#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_mem64_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#50#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#50#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#50#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#50#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#53#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#53#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#53#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#53#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#53#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#53#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#52#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#52#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#52#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#52#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#52#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#52#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#33#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#33#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#33#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#33#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#33#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#33#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#35#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#35#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#35#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#35#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#35#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#35#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#34#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_mem32_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#34#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_mem64_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#34#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#34#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#34#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#34#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#37#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#37#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#37#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#37#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#37#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#37#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#36#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#36#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#36#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#36#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#36#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#36#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#32#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#32#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#32#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#32#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#32#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#32#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#17#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#17#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#17#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#19#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#19#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#19#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#19#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#19#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#19#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#18#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_mem32_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#18#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_mem64_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#18#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#18#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#18#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#18#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#21#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#21#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#21#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#21#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#21#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#21#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#20#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#20#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#20#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#20#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#20#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#20#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#16#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#16#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#16#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#16#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#16#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#16#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVW2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#234#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVW2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#234#244#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVW2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#234#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#48#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#48#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#48#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#48#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#48#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#48#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSCATTERDD; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDD; + ops : 2; + optypes : (ot_ymem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDD; + ops : 2; + optypes : (ot_zmem32_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDQ; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDQ; + ops : 2; + optypes : (ot_xmem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDQ; + ops : 2; + optypes : (ot_ymem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQD; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQD; + ops : 2; + optypes : (ot_ymem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQD; + ops : 2; + optypes : (ot_zmem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQQ; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQQ; + ops : 2; + optypes : (ot_ymem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQQ; + ops : 2; + optypes : (ot_zmem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSLLVW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#18#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSLLVW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#18#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSLLVW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#18#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#234#241#244#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#234#241#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#17#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRAVW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#17#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRAVW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#17#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRLVW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#16#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRLVW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#16#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRLVW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#16#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMB; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMW; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMB; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #219#232#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #219#232#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #219#232#233#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #219#232#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#234#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #219#232#234#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #219#232#233#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMW; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#234#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#234#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#234#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#80#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#241#250#1#80#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRANGESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#81#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRANGESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#81#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRANGESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#81#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRANGESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#81#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#77#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#234#241#249#1#77#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRCP14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#77#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#241#249#1#77#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#202#72; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#202#72; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#203#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#234#241#249#1#203#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#203#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#241#249#1#203#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#86#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#86#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#87#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VREDUCESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#87#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#87#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VREDUCESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#87#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#9#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#8#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#11#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRNDSCALESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#11#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#10#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRNDSCALESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#10#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#234#241#249#1#79#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#79#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#241#249#1#79#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#79#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#204#72; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#204#72; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#205#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#234#241#249#1#205#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#205#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#241#249#1#205#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#44#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#44#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#45#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCALEFSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#249#1#45#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#45#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCALEFSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#249#1#45#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCATTERDPD; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPD; + ops : 2; + optypes : (ot_xmem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPD; + ops : 2; + optypes : (ot_ymem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPS; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPS; + ops : 2; + optypes : (ot_ymem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPS; + ops : 2; + optypes : (ot_zmem32_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPD; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPD; + ops : 2; + optypes : (ot_ymem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPD; + ops : 2; + optypes : (ot_zmem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPS; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPS; + ops : 2; + optypes : (ot_ymem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPS; + ops : 2; + optypes : (ot_zmem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] ) ); diff --git a/compiler/i8086/r8086ari.inc b/compiler/i8086/r8086ari.inc index 72d54535fa..33afcdb0c2 100644 --- a/compiler/i8086/r8086ari.inc +++ b/compiler/i8086/r8086ari.inc @@ -43,6 +43,14 @@ 29, 30, 39, +98, +99, +100, +101, +102, +103, +104, +105, 66, 67, 68, @@ -88,4 +96,12 @@ 88, 89, 36, +90, +91, +92, +93, +94, +95, +96, +97, 0 diff --git a/compiler/i8086/r8086att.inc b/compiler/i8086/r8086att.inc index bceb36301f..926f64cd91 100644 --- a/compiler/i8086/r8086att.inc +++ b/compiler/i8086/r8086att.inc @@ -88,4 +88,20 @@ '%ymm4', '%ymm5', '%ymm6', -'%ymm7' +'%ymm7', +'%zmm0', +'%zmm1', +'%zmm2', +'%zmm3', +'%zmm4', +'%zmm5', +'%zmm6', +'%zmm7', +'%k0', +'%k1', +'%k2', +'%k3', +'%k4', +'%k5', +'%k6', +'%k7' diff --git a/compiler/i8086/r8086con.inc b/compiler/i8086/r8086con.inc index e20b199a27..b56b7dce1b 100644 --- a/compiler/i8086/r8086con.inc +++ b/compiler/i8086/r8086con.inc @@ -89,3 +89,19 @@ NR_YMM4 = tregister($040D0004); NR_YMM5 = tregister($040D0005); NR_YMM6 = tregister($040D0006); NR_YMM7 = tregister($040D0007); +NR_ZMM0 = tregister($040E0000); +NR_ZMM1 = tregister($040E0001); +NR_ZMM2 = tregister($040E0002); +NR_ZMM3 = tregister($040E0003); +NR_ZMM4 = tregister($040E0004); +NR_ZMM5 = tregister($040E0005); +NR_ZMM6 = tregister($040E0006); +NR_ZMM7 = tregister($040E0007); +NR_K0 = tregister($06000000); +NR_K1 = tregister($06000001); +NR_K2 = tregister($06000002); +NR_K3 = tregister($06000003); +NR_K4 = tregister($06000004); +NR_K5 = tregister($06000005); +NR_K6 = tregister($06000006); +NR_K7 = tregister($06000007); diff --git a/compiler/i8086/r8086dwrf.inc b/compiler/i8086/r8086dwrf.inc index 95d7c93afd..63bf3ea79d 100644 --- a/compiler/i8086/r8086dwrf.inc +++ b/compiler/i8086/r8086dwrf.inc @@ -88,4 +88,20 @@ -1, -1, -1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, -1 diff --git a/compiler/i8086/r8086int.inc b/compiler/i8086/r8086int.inc index 384ae00310..c87182aeb3 100644 --- a/compiler/i8086/r8086int.inc +++ b/compiler/i8086/r8086int.inc @@ -88,4 +88,20 @@ 'ymm4', 'ymm5', 'ymm6', -'ymm7' +'ymm7', +'zmm0', +'zmm1', +'zmm2', +'zmm3', +'zmm4', +'zmm5', +'zmm6', +'zmm7', +'k0', +'k1', +'k2', +'k3', +'k4', +'k5', +'k6', +'k7' diff --git a/compiler/i8086/r8086iri.inc b/compiler/i8086/r8086iri.inc index 2390d1bb14..ca5489c32b 100644 --- a/compiler/i8086/r8086iri.inc +++ b/compiler/i8086/r8086iri.inc @@ -44,6 +44,14 @@ 29, 30, 39, +98, +99, +100, +101, +102, +103, +104, +105, 66, 67, 68, @@ -88,4 +96,12 @@ 87, 88, 89, -36 +36, +90, +91, +92, +93, +94, +95, +96, +97 diff --git a/compiler/i8086/r8086nasm.inc b/compiler/i8086/r8086nasm.inc index 3e96da53e6..5c2de67a65 100644 --- a/compiler/i8086/r8086nasm.inc +++ b/compiler/i8086/r8086nasm.inc @@ -88,4 +88,20 @@ 'ymm4', 'ymm5', 'ymm6', -'ymm7' +'ymm7', +'zmm0', +'zmm1', +'zmm2', +'zmm3', +'zmm4', +'zmm5', +'zmm6', +'zmm7', +'k0', +'k1', +'k2', +'k3', +'k4', +'k5', +'k6', +'k7' diff --git a/compiler/i8086/r8086nor.inc b/compiler/i8086/r8086nor.inc index aa0fcb051c..f73584d2be 100644 --- a/compiler/i8086/r8086nor.inc +++ b/compiler/i8086/r8086nor.inc @@ -1,2 +1,2 @@ { don't edit, this file is generated from x86reg.dat } -90 +106 diff --git a/compiler/i8086/r8086nri.inc b/compiler/i8086/r8086nri.inc index 2390d1bb14..ca5489c32b 100644 --- a/compiler/i8086/r8086nri.inc +++ b/compiler/i8086/r8086nri.inc @@ -44,6 +44,14 @@ 29, 30, 39, +98, +99, +100, +101, +102, +103, +104, +105, 66, 67, 68, @@ -88,4 +96,12 @@ 87, 88, 89, -36 +36, +90, +91, +92, +93, +94, +95, +96, +97 diff --git a/compiler/i8086/r8086num.inc b/compiler/i8086/r8086num.inc index 2f0ce1bcb9..7a4f20dc66 100644 --- a/compiler/i8086/r8086num.inc +++ b/compiler/i8086/r8086num.inc @@ -88,4 +88,20 @@ tregister($040D0003), tregister($040D0004), tregister($040D0005), tregister($040D0006), -tregister($040D0007) +tregister($040D0007), +tregister($040E0000), +tregister($040E0001), +tregister($040E0002), +tregister($040E0003), +tregister($040E0004), +tregister($040E0005), +tregister($040E0006), +tregister($040E0007), +tregister($06000000), +tregister($06000001), +tregister($06000002), +tregister($06000003), +tregister($06000004), +tregister($06000005), +tregister($06000006), +tregister($06000007) diff --git a/compiler/i8086/r8086ot.inc b/compiler/i8086/r8086ot.inc index 95ffb8b8b9..be34ab5aa3 100644 --- a/compiler/i8086/r8086ot.inc +++ b/compiler/i8086/r8086ot.inc @@ -88,4 +88,20 @@ OT_YMMREG, OT_YMMREG, OT_YMMREG, OT_YMMREG, -OT_YMMREG +OT_YMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG diff --git a/compiler/i8086/r8086rni.inc b/compiler/i8086/r8086rni.inc index b800d564e9..94b86319f5 100644 --- a/compiler/i8086/r8086rni.inc +++ b/compiler/i8086/r8086rni.inc @@ -57,6 +57,14 @@ 87, 88, 89, +90, +91, +92, +93, +94, +95, +96, +97, 25, 26, 27, @@ -88,4 +96,12 @@ 37, 38, 39, -40 +40, +98, +99, +100, +101, +102, +103, +104, +105 diff --git a/compiler/i8086/r8086sri.inc b/compiler/i8086/r8086sri.inc index 2390d1bb14..ca5489c32b 100644 --- a/compiler/i8086/r8086sri.inc +++ b/compiler/i8086/r8086sri.inc @@ -44,6 +44,14 @@ 29, 30, 39, +98, +99, +100, +101, +102, +103, +104, +105, 66, 67, 68, @@ -88,4 +96,12 @@ 87, 88, 89, -36 +36, +90, +91, +92, +93, +94, +95, +96, +97 diff --git a/compiler/i8086/r8086stab.inc b/compiler/i8086/r8086stab.inc index e876c29894..0f4abdd30d 100644 --- a/compiler/i8086/r8086stab.inc +++ b/compiler/i8086/r8086stab.inc @@ -88,4 +88,20 @@ 25, 26, 27, -28 +28, +21, +22, +23, +24, +25, +26, +27, +28, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1 diff --git a/compiler/i8086/r8086std.inc b/compiler/i8086/r8086std.inc index 384ae00310..c87182aeb3 100644 --- a/compiler/i8086/r8086std.inc +++ b/compiler/i8086/r8086std.inc @@ -88,4 +88,20 @@ 'ymm4', 'ymm5', 'ymm6', -'ymm7' +'ymm7', +'zmm0', +'zmm1', +'zmm2', +'zmm3', +'zmm4', +'zmm5', +'zmm6', +'zmm7', +'k0', +'k1', +'k2', +'k3', +'k4', +'k5', +'k6', +'k7' diff --git a/compiler/msg/errore.msg b/compiler/msg/errore.msg index 00eefc2382..42ab8860ed 100644 --- a/compiler/msg/errore.msg +++ b/compiler/msg/errore.msg @@ -2872,6 +2872,7 @@ asmr_e_local_label_cannot_be_declared_public=07138_E_Local label $1 cannot be de asmr_e_multiple_segment_overrides=07139_E_Cannot use multiple segment overrides asmr_w_multiple_segment_overrides=07140_W_Multiple segment overrides (only the last one will take effect) asmr_w_segment_override_ignored_in_64bit_mode=07141_W_Segment base $1 will be generated, but is ignored by the CPU in 64-bit mode +asmr_e_mismatch_broadcasting_elements=07142_E_Mismatch broadcasting elements (expected: {$1} found: {$2}) # # Assembler/binary writers # diff --git a/compiler/msgidx.inc b/compiler/msgidx.inc index b703ce0ecc..dce6a958ef 100644 --- a/compiler/msgidx.inc +++ b/compiler/msgidx.inc @@ -838,6 +838,7 @@ const asmr_e_multiple_segment_overrides=07139; asmr_w_multiple_segment_overrides=07140; asmr_w_segment_override_ignored_in_64bit_mode=07141; + asmr_e_mismatch_broadcasting_elements=07142; asmw_f_too_many_asm_files=08000; asmw_f_assembler_output_not_supported=08001; asmw_f_comp_not_supported=08002; @@ -1112,9 +1113,9 @@ const option_info=11024; option_help_pages=11025; - MsgTxtSize = 83509; + MsgTxtSize = 83577; MsgIdxMax : array[1..20] of longint=( - 28,106,352,126,99,61,142,34,221,68, + 28,106,352,126,99,61,143,34,221,68, 62,20,30,1,1,1,1,1,1,1 ); diff --git a/compiler/msgtxt.inc b/compiler/msgtxt.inc index 2e5f71890d..1a838cefee 100644 --- a/compiler/msgtxt.inc +++ b/compiler/msgtxt.inc @@ -1,8 +1,8 @@ const msgtxt_codepage=20127; {$ifdef Delphi} -const msgtxt : array[0..000347] of string[240]=( +const msgtxt : array[0..000348] of string[240]=( {$else Delphi} -const msgtxt : array[0..000347,1..240] of char=( +const msgtxt : array[0..000348,1..240] of char=( {$endif Delphi} '01000_T_Compiler: $1'#000+ '01001_D_Compiler OS: $1'#000+ @@ -1033,339 +1033,339 @@ const msgtxt : array[0..000347,1..240] of char=( 'ct)'#000+ '07141_W_Segment base $1 will be generated, but is ignored by the CPU i'+ 'n 64-bit mode'#000+ - '08000_F_Too many assembler files'#000+ + '07142_E_Mismatch broadcasting elements (expected: {$1} found: {$2})'#000+ + '08000_F_Too many assemb','ler files'#000+ '08001_F_Selected assembler output not supported'#000+ - '08002_F_Co','mp not supported'#000+ + '08002_F_Comp not supported'#000+ '08003_F_Direct not support for binary writers'#000+ '08004_E_Allocating of data is only allowed in bss section'#000+ '08005_F_No binary writer selected'#000+ - '08006_E_Asm: Opcode $1 not in table'#000+ - '08007_E_Asm: $1 invalid combination of opcode and',' operands'#000+ + '08006_E_Asm: Opco','de $1 not in table'#000+ + '08007_E_Asm: $1 invalid combination of opcode and operands'#000+ '08008_E_Asm: 16 Bit references not supported'#000+ '08009_E_Asm: Invalid effective address'#000+ '08010_E_Asm: Immediate or reference expected'#000+ - '08011_E_Asm: $1 value exceeds bounds $2'#000+ + '08011_E_Asm: $1 value exceeds bou','nds $2'#000+ '08012_E_Asm: Short jump is out of range $1'#000+ - '08013_E_Asm: Undef','ined label $1'#000+ + '08013_E_Asm: Undefined label $1'#000+ '08014_E_Asm: Comp type not supported for this target'#000+ '08015_E_Asm: Extended type not supported for this target'#000+ '08016_E_Asm: Duplicate label $1'#000+ - '08017_E_Asm: Redefined label $1'#000+ + '08017_E_Asm: Red','efined label $1'#000+ '08018_E_Asm: First defined here'#000+ - '08019_E_Asm: Invalid',' register $1'#000+ + '08019_E_Asm: Invalid register $1'#000+ '08020_E_Asm: 16 or 32 Bit references not supported'#000+ '08021_E_Asm: 64 Bit operands not supported'#000+ - '08022_E_Asm: AH,BH,CH or DH cannot be used in an instruction requiring'+ - ' REX prefix'#000+ + '08022_E_Asm: AH,BH,CH or DH cannot be used in an instruction requ','iri'+ + 'ng REX prefix'#000+ '08023_E_Missing .seh_endprologue directive'#000+ - '08024_E_','Function prologue exceeds 255 bytes'#000+ + '08024_E_Function prologue exceeds 255 bytes'#000+ '08025_E_.seh_handlerdata directive without preceding .seh_handler'#000+ '08026_F_Relocation count for section $1 exceeds 65535'#000+ - '08027_N_Change of bind type of symbol $1 from $2 to $3 after use'#000+ - '08028_H_Change of b','ind type of symbol $1 from $2 to $3 after use'#000+ + '08027_N_Change o','f bind type of symbol $1 from $2 to $3 after use'#000+ + '08028_H_Change of bind type of symbol $1 from $2 to $3 after use'#000+ '08029_E_Asm: 32 Bit references not supported'#000+ '08030_F_Code segment too large'#000+ '08031_F_Data segment too large'#000+ - '08032_E_Instruction not supported by the selected instruction set'#000+ - '08033_E_Asm: conditio','nal branch destination is out of range'#000+ + '08032_E_Instruction',' not supported by the selected instruction set'#000+ + '08033_E_Asm: conditional branch destination is out of range'#000+ '09000_W_Source operating system redefined'#000+ '09001_I_Assembling (pipe) $1'#000+ '09002_E_Can'#039't create assembler file: $1'#000+ - '09003_E_Can'#039't create object file: $1 (error code: $2)'#000+ - '09004_E_Can'#039't create archive file: $','1'#000+ + '09003_E_Can'#039't create o','bject file: $1 (error code: $2)'#000+ + '09004_E_Can'#039't create archive file: $1'#000+ '09005_E_Assembler $1 not found, switching to external assembling'#000+ '09006_T_Using assembler: $1'#000+ '09007_E_Error while assembling exitcode $1'#000+ - '09008_E_Can'#039't call the assembler, error $1 switching to external a'+ - 'ssembling'#000+ + '09008_E_Can'#039't call the assembler, ','error $1 switching to external'+ + ' assembling'#000+ '09009_I_Assembling $1'#000+ - '0901','0_I_Assembling with smartlinking $1'#000+ + '09010_I_Assembling with smartlinking $1'#000+ '09011_W_Object $1 not found, Linking may fail !'#000+ '09012_W_Library $1 not found, Linking may fail !'#000+ '09013_E_Error while linking'#000+ - '09014_E_Can'#039't call the linker, switching to external linking'#000+ - '09015_I_Linking $1',#000+ + '09014_E_Can',#039't call the linker, switching to external linking'#000+ + '09015_I_Linking $1'#000+ '09016_E_Util $1 not found, switching to external linking'#000+ '09017_T_Using util $1'#000+ '09018_E_Creation of Executables not supported'#000+ - '09019_E_Creation of Dynamic/Shared Libraries not supported'#000+ + '09019_E_Creation of Dynamic/Shared Libraries n','ot supported'#000+ '09035_E_Creation of Static Libraries not supported'#000+ - '0902','0_I_Closing script $1'#000+ + '09020_I_Closing script $1'#000+ '09021_E_Resource compiler "$1" not found, switching to external mode'#000+ '09022_I_Compiling resource $1'#000+ - '09023_T_Unit $1 cannot be statically linked, switching to smart linkin'+ - 'g'#000+ - '09024_T_Unit $1 cannot be smart linked, switchi','ng to static linking'#000+ + '09023_T_Unit $1 cannot be statically linked, switch','ing to smart link'+ + 'ing'#000+ + '09024_T_Unit $1 cannot be smart linked, switching to static linking'#000+ '09025_T_Unit $1 cannot be shared linked, switching to static linking'#000+ '09026_E_Unit $1 cannot be smart or static linked'#000+ - '09027_E_Unit $1 cannot be shared or static linked'#000+ - '09028_D_Calling resource compiler "$1" with "$2" as',' command line'#000+ + '09027_E_Unit $1 cannot be shared ','or static linked'#000+ + '09028_D_Calling resource compiler "$1" with "$2" as command line'#000+ '09029_E_Error while compiling resources'#000+ '09030_E_Can'#039't call the resource compiler "$1", switching to extern'+ 'al mode'#000+ '09031_E_Can'#039't open resource file "$1"'#000+ - '09032_E_Can'#039't write resource file "$1"'#000+ - '09033_N_File "$1" not found for bac','kquoted cat command'#000+ + '09032_','E_Can'#039't write resource file "$1"'#000+ + '09033_N_File "$1" not found for backquoted cat command'#000+ '09034_W_"$1" not found, this will probably cause a linking failure'#000+ '09128_F_Can'#039't post process executable $1'#000+ '09129_F_Can'#039't open executable $1'#000+ - '09130_X_Size of Code: $1 bytes'#000+ + '09130_X_Siz','e of Code: $1 bytes'#000+ '09131_X_Size of initialized data: $1 bytes'#000+ - '09132','_X_Size of uninitialized data: $1 bytes'#000+ + '09132_X_Size of uninitialized data: $1 bytes'#000+ '09133_X_Stack space reserved: $1 bytes'#000+ '09134_X_Stack space committed: $1 bytes'#000+ - '09200_F_Executable image size is too big for $1 target.'#000+ - '09201_W_Object file "$1" contains 32-bit absolute relocation to s','ymb'+ - 'ol "$2".'#000+ + '09200_F_Executable image size is too big for $1 targe','t.'#000+ + '09201_W_Object file "$1" contains 32-bit absolute relocation to symbol'+ + ' "$2".'#000+ '09202_E_Program segment too large (exceeds 64k by $1 bytes)'#000+ '09203_E_Code segment "$1" too large (exceeds 64k by $2 bytes)'#000+ - '09204_E_Data segment "$1" too large (exceeds 64k by $2 bytes)'#000+ - '09205_E_Segment "$1" too large (exceeds 64k ','by $2 bytes)'#000+ + '09204_E_Data segment "$1" too large (e','xceeds 64k by $2 bytes)'#000+ + '09205_E_Segment "$1" too large (exceeds 64k by $2 bytes)'#000+ '09206_E_Group "$1" too large (exceeds 64k by $2 bytes)'#000+ '09207_E_Cannot create a .COM file, because the program contains segmen'+ 't relocations'#000+ - '09208_W_Program "$1" uses experimental CheckPointer option'#000+ - '09209_E_Multiple defined symb','ol "$1"'#000+ + '09208_W_Program "$1"',' uses experimental CheckPointer option'#000+ + '09209_E_Multiple defined symbol "$1"'#000+ '09210_E_COMDAT selection mode $1 not supported (section: "$1")'#000+ '09211_E_Associative section expected for COMDAT section "$1"'#000+ - '09212_E_COMDAT section selection mode doesn'#039't match for section "$'+ - '1" and symbol "$2"'#000+ - '09213_E_Associative COM','DAT section for section "$1" not found'#000+ + '09212_E_COMDAT section selection mode do','esn'#039't match for section '+ + '"$1" and symbol "$2"'#000+ + '09213_E_Associative COMDAT section for section "$1" not found'#000+ '09214_D_Discarding duplicate symbol "$1" due to COMDAT selection mode'#000+ - '09215_D_Discarding duplicate symbol "$1" with same size due to COMDAT '+ - 'selection mode'#000+ - '09216_D_Discarding duplicate symbol "$1" with ','same content due to CO'+ - 'MDAT selection mode'#000+ + '09215_D_Discarding duplicate symbol "$1" with same size due to ','COMDA'+ + 'T selection mode'#000+ + '09216_D_Discarding duplicate symbol "$1" with same content due to COMD'+ + 'AT selection mode'#000+ '09217_D_Replacing duplicate symbol "$1" with smaller size due to COMDA'+ 'T selection mode'#000+ - '09218_E_Size of duplicate COMDAT symbol "$1" differs'#000+ + '09218_E_Size of duplicate COMDAT symbol "$1','" differs'#000+ '09219_E_Content of duplicate COMDAT symbol "$1" differs'#000+ - '09','220_E_COMDAT selection mode for symbol "$1" differs'#000+ + '09220_E_COMDAT selection mode for symbol "$1" differs'#000+ '10000_T_Unitsearch: $1'#000+ '10001_T_PPU Loading $1'#000+ '10002_U_PPU Name: $1'#000+ '10003_U_PPU Flags: $1'#000+ '10004_U_PPU Crc: $1'#000+ - '10005_U_PPU Time: $1'#000+ + '10005_U_PPU',' Time: $1'#000+ '10006_U_PPU File too short'#000+ - '10007_U_PPU Invalid Header (no ','PPU at the begin)'#000+ + '10007_U_PPU Invalid Header (no PPU at the begin)'#000+ '10008_U_PPU Invalid Version $1'#000+ '10009_U_PPU is compiled for another processor'#000+ '10010_U_PPU is compiled for another target'#000+ '10011_U_PPU Source: $1'#000+ - '10012_U_Writing $1'#000+ + '10012_U_Wri','ting $1'#000+ '10013_F_Can'#039't Write PPU-File'#000+ - '10014_F_Error reading PPU-File'#000, + '10014_F_Error reading PPU-File'#000+ '10015_F_Unexpected end of PPU-File'#000+ '10016_F_Invalid PPU-File entry: $1'#000+ '10017_F_PPU Dbx count problem'#000+ '10018_E_Illegal unit name: $1 (expecting $2)'#000+ '10019_F_Too much units'#000+ - '10020_F_Circular unit reference between $1 and $2'#000+ - '10021_F_Can'#039't compile ','unit $1, no sources available'#000+ + '1002','0_F_Circular unit reference between $1 and $2'#000+ + '10021_F_Can'#039't compile unit $1, no sources available'#000+ '10022_F_Can'#039't find unit $1 used by $2'#000+ '10023_W_Unit $1 was not found but $2 exists'#000+ '10024_F_Unit $1 searched but $2 found'#000+ - '10025_W_Compiling the system unit requires the -Us switch'#000+ - '10026_F_There were $1 errors com','piling module, stopping'#000+ + '10025_W_Compiling the ','system unit requires the -Us switch'#000+ + '10026_F_There were $1 errors compiling module, stopping'#000+ '10027_U_Load from $1 ($2) unit $3'#000+ '10028_U_Recompiling $1, checksum changed for $2'#000+ '10029_U_Recompiling $1, source found only'#000+ - '10030_U_Recompiling unit, static lib is older than ppufile'#000+ - '10031_U_Recompiling unit, shared ','lib is older than ppufile'#000+ + '10030_U_Recompiling unit',', static lib is older than ppufile'#000+ + '10031_U_Recompiling unit, shared lib is older than ppufile'#000+ '10032_U_Recompiling unit, obj and asm are older than ppufile'#000+ '10033_U_Recompiling unit, obj is older than asm'#000+ '10034_U_Parsing interface of $1'#000+ - '10035_U_Parsing implementation of $1'#000+ + '10035','_U_Parsing implementation of $1'#000+ '10036_U_Second load for unit $1'#000+ - '1003','7_U_PPU Check file $1 time $2'#000+ + '10037_U_PPU Check file $1 time $2'#000+ '10040_W_Can'#039't recompile unit $1, but found modified include files'#000+ '10041_U_File $1 is newer than the one used for creating PPU file $2'#000+ - '10042_U_Trying to use a unit which was compiled with a different FPU m'+ - 'ode'#000+ - '10','043_U_Loading interface units from $1'#000+ + '10042_U_','Trying to use a unit which was compiled with a different FPU'+ + ' mode'#000+ + '10043_U_Loading interface units from $1'#000+ '10044_U_Loading implementation units from $1'#000+ '10045_U_Interface CRC changed for unit $1'#000+ - '10046_U_Implementation CRC changed for unit $1'#000+ + '10046_U_Implementation CRC changed for unit $1'#000, '10047_U_Finished compiling unit $1'#000+ - '10048_U_Adding dependency: $1 dep','ends on $2'#000+ + '10048_U_Adding dependency: $1 depends on $2'#000+ '10049_U_No reload, is caller: $1'#000+ '10050_U_No reload, already in second compile: $1'#000+ '10051_U_Flag for reload: $1'#000+ '10052_U_Forced reloading'#000+ - '10053_U_Previous state of $1: $2'#000+ + '10053_U_Previous state of ','$1: $2'#000+ '10054_U_Already compiling $1, setting second compile'#000+ - '10055_U_','Loading unit $1'#000+ + '10055_U_Loading unit $1'#000+ '10056_U_Finished loading unit $1'#000+ '10057_U_Registering new unit $1'#000+ '10058_U_Re-resolving unit $1'#000+ - '10059_U_Skipping re-resolving unit $1, still loading used units'#000+ + '10059_U_Skipping re-resolving unit $1, still loading used unit','s'#000+ '10060_U_Unloading resource unit $1 (not needed)'#000+ - '10061_E_Unit $1 wa','s compiled using a different whole program optimiz'+ - 'ation feedback input ($2, $3); recompile it without wpo or use the sam'+ - 'e wpo feedback input file for this compilation invocation'#000+ - '10062_U_Indirect interface (objects/classes) CRC changed for u','nit $1'+ - #000+ + '10061_E_Unit $1 was compiled using a different whole program optimizat'+ + 'ion feedback input ($2, $3); recompile it without wpo or use the same '+ + 'wpo feedback input file for this compilation invoc','ation'#000+ + '10062_U_Indirect interface (objects/classes) CRC changed for unit $1'#000+ '10063_U_PPU is compiled for another i8086 memory model'#000+ '10064_U_Loading unit $1 from package $2'#000+ - '10065_F_Internal type "$1" was not found. Check if you use the correct'+ + '10065_F_Internal type "$1" was not found. Check if you use the correct', ' run time library.'#000+ - '10066_F_Internal type "$1" does not look as expec','ted. Check if you u'+ - 'se the correct run time library.'#000+ + '10066_F_Internal type "$1" does not look as expected. Check if you use'+ + ' the correct run time library.'#000+ '10067_U_Skipping unit, PPU and compiler have to be both compiled with '+ 'or without LLVM support'#000+ - '11000_O_$1 [options] <inputfile> [options]'#000+ - '11001_W_Only one source file supported, changing so','urce file to comp'+ - 'ile from "$1" into "$2"'#000+ + '11000_O_$1 [options] <inpu','tfile> [options]'#000+ + '11001_W_Only one source file supported, changing source file to compil'+ + 'e from "$1" into "$2"'#000+ '11002_W_DEF file can be created only for OS/2'#000+ '11003_E_Nested response files are not supported'#000+ - '11004_F_No source file name in command line'#000+ + '11004_F_No source file name in comman','d line'#000+ '11005_N_No option inside $1 config file'#000+ - '11006_E_Illegal param','eter: $1'#000+ + '11006_E_Illegal parameter: $1'#000+ '11007_H_-? writes help pages'#000+ '11008_F_Too many config files nested'#000+ '11009_F_Unable to open file $1'#000+ '11010_D_Reading further options from $1'#000+ - '11011_W_Target is already set to: $1'#000+ - '11012_W_Shared libs not supported on DOS platform, revert','ing to stat'+ - 'ic'#000+ + '11011_W_Target is already ','set to: $1'#000+ + '11012_W_Shared libs not supported on DOS platform, reverting to static'+ + #000+ '11013_F_In options file $1 at line $2 too many #IF(N)DEFs encountered'#000+ '11014_F_In options file $1 at line $2 unexpected #ENDIFs encountered'#000+ - '11015_F_Open conditional at the end of the options file'#000+ - '11016_W_Debug information gener','ation is not supported by this execut'+ - 'able'#000+ + '11015_F_Open condit','ional at the end of the options file'#000+ + '11016_W_Debug information generation is not supported by this executab'+ + 'le'#000+ '11017_H_Try recompiling with -dGDB'#000+ '11018_W_You are using the obsolete switch $1'#000+ - '11019_W_You are using the obsolete switch $1, please use $2'#000+ - '11020_N_Switching assembler to default source writing asse','mbler'#000+ + '11019_W_You are using the obsolete switch $1, plea','se use $2'#000+ + '11020_N_Switching assembler to default source writing assembler'#000+ '11021_W_Assembler output selected "$1" is not compatible with "$2"'#000+ '11022_W_"$1" assembler use forced'#000+ '11026_T_Reading options from file $1'#000+ - '11027_T_Reading options from environment $1'#000+ + '11027_T_Reading options from',' environment $1'#000+ '11028_D_Handling option "$1"'#000+ - '11029_O_*** press enter',' ***'#000+ + '11029_O_*** press enter ***'#000+ '11030_H_Start of reading config file $1'#000+ '11031_H_End of reading config file $1'#000+ '11032_D_Interpreting option "$1"'#000+ '11036_D_Interpreting firstpass option "$1"'#000+ - '11033_D_Interpreting file option "$1"'#000+ + '11033_D_Inter','preting file option "$1"'#000+ '11034_D_Reading config file "$1"'#000+ - '11035_D_Fo','und source file name "$1"'#000+ + '11035_D_Found source file name "$1"'#000+ '11039_E_Unknown codepage "$1"'#000+ '11040_F_Config file $1 is a directory'#000+ '11041_W_Assembler output selected "$1" cannot generate debug info, deb'+ - 'ugging disabled'#000+ - '11042_W_Use of ppc386.cfg is deprecated, please use fpc.cfg ','instead'#000+ + 'ugging d','isabled'#000+ + '11042_W_Use of ppc386.cfg is deprecated, please use fpc.cfg instead'#000+ '11043_F_In options file $1 at line $2 #ELSE directive without #IF(N)DE'+ 'F found'#000+ '11044_F_Option "$1" is not, or not yet, supported on the current targe'+ 't platform'#000+ - '11045_F_The feature "$1" is not, or not yet, supported on the selected'+ - ' ta','rget platform'#000+ + '11045','_F_The feature "$1" is not, or not yet, supported on the select'+ + 'ed target platform'#000+ '11046_N_DWARF debug information cannot be used with smart linking on t'+ 'his target, switching to static linking'#000+ - '11047_W_Option "$1" is ignored for the current target platform.'#000+ - '11048_W_Disabling external debug information because',' it is unsupport'+ - 'ed for the selected target/debug format combination.'#000+ + '11047_W_Option "$1" is ignored for the current t','arget platform.'#000+ + '11048_W_Disabling external debug information because it is unsupported'+ + ' for the selected target/debug format combination.'#000+ '11049_N_DWARF debug information cannot be used with smart linking with'+ - ' external assembler, disabling static library creation.'#000+ - '11050_E_Invalid value for MACOSX_DEPLOYMENT_T','ARGET environment varia'+ - 'ble: $1'#000+ + ' external assembler, disabling st','atic library creation.'#000+ + '11050_E_Invalid value for MACOSX_DEPLOYMENT_TARGET environment variabl'+ + 'e: $1'#000+ '11051_E_Invalid value for IPHONEOS_DEPLOYMENT_TARGET environment varia'+ 'ble: $1'#000+ - '11052_E_You must use a FPU type of VFPV2, VFPV3 or VFPV3_D16 when usin'+ - 'g the EABIHF ABI target'#000+ - '11053_W_The selected debug format is ','not supported on the current ta'+ - 'rget, not changing the current setting'#000+ + '11052_E_You must use a FPU type of VFPV2, VFPV3 or VFPV3_D16 wh','en us'+ + 'ing the EABIHF ABI target'#000+ + '11053_W_The selected debug format is not supported on the current targ'+ + 'et, not changing the current setting'#000+ '11054_E_Argument to "$1" is missing'#000+ '11055_E_Malformed parameter: $1'#000+ - '11056_W_Smart linking requires external linker'#000+ - '11057_E_Creating .COM files is not supported in the cur','rent memory m'+ - 'odel. Only the tiny memory model supports making .COM files.'#000+ + '11056_W_Smart linking requires ext','ernal linker'#000+ + '11057_E_Creating .COM files is not supported in the current memory mod'+ + 'el. Only the tiny memory model supports making .COM files.'#000+ '11058_W_Experimental CheckPointer option not enabled because it is inc'+ - 'omptatible with -Ur option.'#000+ - '11059_E_Unsupported target architecture -P$1, invoke the "fpc" compi','l'+ - 'er driver instead.'#000+ + 'omptatible with -Ur option.'#000, + '11059_E_Unsupported target architecture -P$1, invoke the "fpc" compile'+ + 'r driver instead.'#000+ '11060_E_Feature switches are only supported while compiling the system'+ ' unit.'#000+ '11061_N_The selected debug format is not supported by the internal lin'+ - 'ker, switching to external linking'#000+ - '12000_F_Cannot open whole program opti','mization feedback file "$1"'#000+ + 'ker, ','switching to external linking'#000+ + '12000_F_Cannot open whole program optimization feedback file "$1"'#000+ '12001_D_Processing whole program optimization information in wpo feedb'+ 'ack file "$1"'#000+ - '12002_D_Finished processing the whole program optimization information'+ - ' in wpo feedback file "$1"'#000+ - '12003_E_Expected section header',', but got "$2" at line $1 of wpo feed'+ - 'back file'#000+ + '12002_D_Finished processing the whole program optimization i','nformati'+ + 'on in wpo feedback file "$1"'#000+ + '12003_E_Expected section header, but got "$2" at line $1 of wpo feedba'+ + 'ck file'#000+ '12004_W_No handler registered for whole program optimization section "'+ '$2" at line $1 of wpo feedback file, ignoring'#000+ - '12005_D_Found whole program optimization section "$1" with information'+ - ' about ','"$2"'#000+ + '12005_D_F','ound whole program optimization section "$1" with informati'+ + 'on about "$2"'#000+ '12006_F_The selected whole program optimizations require a previously '+ 'generated feedback file (use -Fw to specify)'#000+ - '12007_E_No collected information necessary to perform "$1" whole progr'+ - 'am optimization found'#000+ - '12008_F_Specify a whole prog','ram optimization feedback file to store '+ - 'the generated info in (using -FW)'#000+ + '12007_E_No collected information necessary to perfor','m "$1" whole pro'+ + 'gram optimization found'#000+ + '12008_F_Specify a whole program optimization feedback file to store th'+ + 'e generated info in (using -FW)'#000+ '12009_E_Not generating any whole program optimization information, yet'+ - ' a feedback file was specified (using -FW)'#000+ - '12010_E_Not performing any whole program optimization','s, yet an input'+ - ' feedback file was specified (using -Fw)'#000+ + ' a feedback file was specifi','ed (using -FW)'#000+ + '12010_E_Not performing any whole program optimizations, yet an input f'+ + 'eedback file was specified (using -Fw)'#000+ '12011_D_Skipping whole program optimization section "$1", because not '+ 'needed by the requested optimizations'#000+ - '12012_W_Overriding previously read information for "$1" from feedback '+ - 'input ','file using information in section "$2"'#000+ + '12012_W_','Overriding previously read information for "$1" from feedbac'+ + 'k input file using information in section "$2"'#000+ '12013_E_Cannot extract symbol liveness information from program when s'+ 'tripping symbols, use -Xs-'#000+ - '12014_E_Cannot extract symbol liveness information from program when w'+ - 'hen not linking'#000+ - '12015_F_Cannot fin','d "$1" or "$2" to extract symbol liveness informat'+ - 'ion from linked program'#000+ + '12014_E_Cannot extract symbol livene','ss information from program when'+ + ' when not linking'#000+ + '12015_F_Cannot find "$1" or "$2" to extract symbol liveness informatio'+ + 'n from linked program'#000+ '12016_E_Error during reading symbol liveness information produced by "'+ '$1"'#000+ - '12017_F_Error executing "$1" (exitcode: $2) to extract symbol informat'+ - 'ion from linked progra','m'#000+ + '12017_F_Error executing ','"$1" (exitcode: $2) to extract symbol inform'+ + 'ation from linked program'#000+ '12018_E_Collection of symbol liveness information can only help when u'+ 'sing smart linking, use -CX -XX'#000+ - '12019_E_Cannot create specified whole program optimisation feedback fi'+ - 'le "$1"'#000+ + '12019_E_Cannot create specified whole program optimisation feedback ','f'+ + 'ile "$1"'#000+ '13001_F_Can'#039't find package $1'#000+ - '13002_U_PCP file for package',' $1 found'#000+ + '13002_U_PCP file for package $1 found'#000+ '13003_E_Duplicate package $1'#000+ '13004_E_Unit $1 can not be part of a package'#000+ '13005_N_Unit $1 is implicitely imported into package $2'#000+ - '13006_F_Failed to create PCP file $2 for package $1'#000+ + '13006_F_Failed to create PCP fil','e $2 for package $1'#000+ '13007_F_Failed to read PCP file for package $1'#000+ - '1','3008_T_PCP loading $1'#000+ + '13008_T_PCP loading $1'#000+ '13009_U_PCP Name: $1'#000+ '13010_U_PCP Flags: $1'#000+ '13011_U_PCP Crc: $1'#000+ '13012_U_PCP Time: $1'#000+ '13013_U_PCP File too short'#000+ - '13014_U_PCP Invalid Header (no PCP at the begin)'#000+ + '13014_U_PCP Invalid Header (no PCP at t','he begin)'#000+ '13015_U_PCP Invalid Version $1'#000+ - '13016_U_PCP is compiled for',' another processor'#000+ + '13016_U_PCP is compiled for another processor'#000+ '13017_U_PCP is compiled for another target'#000+ '13018_U_Writing $1'#000+ '13019_F_Can'#039't Write PCP-File'#000+ '13020_F_Error reading PCP-File'#000+ - '13021_F_Unexpected end of PCP-File'#000+ + '13021_F_Unexpected end of PCP-F','ile'#000+ '13022_F_Invalid PCP-File entry: $1'#000+ - '13023_U_Trying to use a unit ','which was compiled with a different FPU'+ - ' mode'#000+ + '13023_U_Trying to use a unit which was compiled with a different FPU m'+ + 'ode'#000+ '13024_T_Packagesearch: $1'#000+ '13025_U_Required package $1'#000+ '13026_U_Contained unit $1'#000+ - '13027_E_Unit $1 is already contained in package $2'#000+ - '13028_W_Unit $1 is imported from indirectly required package $2'#000, + '13027_E_Unit $1 is already contained in package',' $2'#000+ + '13028_W_Unit $1 is imported from indirectly required package $2'#000+ '13029_U_PPL filename $1'#000+ '11023_Free Pascal Compiler version $FPCFULLVERSION [$FPCDATE] for $FPC'+ 'CPU'#010+ 'Copyright (c) 1993-2019 by Florian Klaempfl and others'#000+ - '11024_Free Pascal Compiler version $FPCVERSION'#010+ + '11024_Free Pascal C','ompiler version $FPCVERSION'#010+ #010+ 'Compiler date : $FPCDATE'#010+ - 'Compiler ','CPU target: $FPCCPU'#010+ + 'Compiler CPU target: $FPCCPU'#010+ #010+ 'Supported targets (targets marked with '#039'{*}'#039' are under develop'+ 'ment):'#010+ @@ -1374,10 +1374,10 @@ const msgtxt : array[0..000347,1..240] of char=( 'Supported CPU instruction sets:'#010+ ' $INSTRUCTIONSETS'#010+ #010+ - 'Supported FPU instruction sets:'#010+ + 'Supported FPU in','struction sets:'#010+ ' $FPUINSTRUCTIONSETS'#010+ #010+ - 'Supported inline assembler mo','des:'#010+ + 'Supported inline assembler modes:'#010+ ' $ASMMODES'#010+ #010+ 'Recognized compiler and RTL features:'#010+ @@ -1389,353 +1389,351 @@ const msgtxt : array[0..000347,1..240] of char=( 'Supported Optimizations:'#010+ ' $OPTIMIZATIONS'#010+ #010+ - 'Supported Whole Program Optimizations:'#010+ + 'Supported Whole Pro','gram Optimizations:'#010+ ' All'#010+ ' $WPOPTIMIZATIONS'#010+ #010+ - 'Supported Microcontrol','ler types:$\n $CONTROLLERTYPES$\n'#010+ + 'Supported Microcontroller types:$\n $CONTROLLERTYPES$\n'#010+ 'This program comes under the GNU General Public Licence'#010+ 'For more information read COPYING.v2'#010+ #010+ 'Please report bugs in our bug tracker on:'#010+ - ' http://bugs.freepascal.org'#010+ - #010+ - 'More information may be ','found on our WWW pages (including directions'+ + ' ',' http://bugs.freepascal.org'#010+ #010+ + 'More information may be found on our WWW pages (including directions'#010+ 'for mailing lists useful for asking questions or discussing potential'#010+ 'new features, etc.):'#010+ - ' http://www.freepascal.org'#000+ - '11025_F*0*_Only options valid for the default or selected pla','tform a'+ - 're listed.'#010+ + ' http://www.freepasc','al.org'#000+ + '11025_F*0*_Only options valid for the default or selected platform are'+ + ' listed.'#010+ '**0*_Put + after a boolean switch option to enable it, - to disable it'+ '.'#010+ '**1@<x>_Read compiler options from <x> in addition to the default fpc.'+ 'cfg'#010+ - '**1a_The compiler does not delete the generated assembler file'#010+ - '**2a5_Don'#039't g','enerate Big Obj COFF files for GNU Binutils older t'+ - 'han 2.25 (Windows, NativeNT)'#010+ + '**1a_The',' compiler does not delete the generated assembler file'#010+ + '**2a5_Don'#039't generate Big Obj COFF files for GNU Binutils older tha'+ + 'n 2.25 (Windows, NativeNT)'#010+ '**2al_List sourcecode lines in assembler file'#010+ - '**2an_List node info in assembler file (-dEXTDEBUG compiler)'#010+ - '**2ao_Add an extra option to external assembler call ','(ignored for in'+ - 'ternal)'#010+ + '**2an_List node info in assembler file (-dEXTD','EBUG compiler)'#010+ + '**2ao_Add an extra option to external assembler call (ignored for inte'+ + 'rnal)'#010+ '*L2ap_Use pipes instead of creating temporary assembler files'#010+ '**2ar_List register allocation/release info in assembler file'#010+ - '**2at_List temp allocation/release info in assembler file'#010+ + '**2at_List temp allocatio','n/release info in assembler file'#010+ '**1A<x>_Output format:'#010+ - '**2Adefault_','Use default assembler'#010+ + '**2Adefault_Use default assembler'#010+ '3*2Aas_Assemble using GNU AS'#010+ '3*2Amacho_Mach-O (Darwin, Intel 32 bit) using internal writer'#010+ '8*2Anasm_Assemble using Nasm'#010+ - '8*2Anasmobj_Assemble using Nasm'#010+ + '8*2Anasmobj_Assemble using Nas','m'#010+ '3*2Anasm_Assemble using Nasm'#010+ - '3*2Anasmcoff_COFF (Go32v2) file using',' Nasm'#010+ + '3*2Anasmcoff_COFF (Go32v2) file using Nasm'#010+ '3*2Anasmelf_ELF32 (Linux) file using Nasm'#010+ '3*2Anasmwin32_Win32 object file using Nasm'#010+ '3*2Anasmwdosx_Win32/WDOSX object file using Nasm'#010+ - '3*2Anasmdarwin_macho32 object file using Nasm (experimental)'#010+ + '3*2Anasmdarwin_macho32 object fi','le using Nasm (experimental)'#010+ '3*2Awasm_Obj file using Wasm (Watcom)'#010+ - '3','*2Anasmobj_Obj file using Nasm'#010+ + '3*2Anasmobj_Obj file using Nasm'#010+ '3*2Amasm_Obj file using Masm (Microsoft)'#010+ '3*2Atasm_Obj file using Tasm (Borland)'#010+ '3*2Aelf_ELF (Linux) using internal writer'#010+ - '3*2Acoff_COFF (Go32v2) using internal writer'#010+ - '3*2Apecoff_PE-COFF (Win32) using internal ','writer'#010+ + '3*2Acoff_COFF (Go32','v2) using internal writer'#010+ + '3*2Apecoff_PE-COFF (Win32) using internal writer'#010+ '3*2Ayasm_Assemble using Yasm (experimental)'#010+ '4*2Aas_Assemble using GNU AS'#010+ '4*2Agas_Assemble using GNU GAS'#010+ '4*2Agas-darwin_Assemble darwin Mach-O64 using GNU GAS'#010+ - '4*2Amasm_Win64 object file using ml64 (Microsoft)'#010+ - '4*2Apecoff_PE-COFF (Win64',') using internal writer'#010+ + '4*2Amas','m_Win64 object file using ml64 (Microsoft)'#010+ + '4*2Apecoff_PE-COFF (Win64) using internal writer'#010+ '4*2Aelf_ELF (Linux-64bit) using internal writer'#010+ '4*2Ayasm_Assemble using Yasm (experimental)'#010+ '4*2Anasm_Assemble using Nasm (experimental)'#010+ - '4*2Anasmwin64_Assemble Win64 object file using Nasm (experimental)'#010+ - '4*2Anasmelf_A','ssemble Linux-64bit object file using Nasm (experimenta'+ - 'l)'#010+ + '4*2Anasmwin6','4_Assemble Win64 object file using Nasm (experimental)'#010+ + '4*2Anasmelf_Assemble Linux-64bit object file using Nasm (experimental)'+ + #010+ '4*2Anasmdarwin_Assemble darwin macho64 object file using Nasm (experim'+ 'ental)'#010+ '6*2Aas_Unix o-file using GNU AS'#010+ - '6*2Agas_GNU Motorola assembler'#010+ + '6*2Ag','as_GNU Motorola assembler'#010+ '6*2Amit_MIT Syntax (old GAS)'#010+ - '6*2Amot_Stand','ard Motorola assembler'#010+ + '6*2Amot_Standard Motorola assembler'#010+ 'A*2Aas_Assemble using GNU AS'#010+ 'P*2Aas_Assemble using GNU AS'#010+ 'S*2Aas_Assemble using GNU AS'#010+ '**1b_Generate browser info'#010+ '**2bl_Generate local symbol info'#010+ - '**1B_Build all modules'#010+ + '**','1B_Build all modules'#010+ '**1C<x>_Code generation options:'#010+ - '**2C3_Turn on ','ieee error checking for constants'#010+ + '**2C3_Turn on ieee error checking for constants'#010+ '**2Ca<x>_Select ABI; see fpc -i or fpc -ia for possible values'#010+ '**2Cb_Generate code for a big-endian variant of the target architectur'+ 'e'#010+ - '**2Cc<x>_Set default calling convention to <x>'#010+ - '**2CD_Create also dynami','c library (not supported)'#010+ + '**2','Cc<x>_Set default calling convention to <x>'#010+ + '**2CD_Create also dynamic library (not supported)'#010+ '**2Ce_Compilation with emulated floating point opcodes'#010+ '**2CE_Generate FPU code which can raise exceptions'#010+ - '**2Cf<x>_Select fpu instruction set to use; see fpc -i or fpc -if for '+ - 'possible values'#010+ - '**2CF<x>_Minimal float','ing point constant precision (default, 32, 64)'+ - #010+ + '**2Cf<x>_Select fpu instruction set to u','se; see fpc -i or fpc -if fo'+ + 'r possible values'#010+ + '**2CF<x>_Minimal floating point constant precision (default, 32, 64)'#010+ '**2Cg_Generate PIC code'#010+ '**2Ch<n>[,m]_<n> bytes min heap size (between 1023 and 67107840) and o'+ 'ptionally [m] max heap size'#010+ - '**2Ci_IO-checking'#010+ - 'A*2CI<x>_Select instruction set on ARM: ARM or THUMB'#010, + '**2','Ci_IO-checking'#010+ + 'A*2CI<x>_Select instruction set on ARM: ARM or THUMB'#010+ 'L*2CL<x>_LLVM code generation options'#010+ 'L*3CLflto_Enable Link-time optimisation (needed both when compiling un'+ 'its and programs/libraries)'#010+ - 'L*3CLfltonosystem_Disable LTO for the system unit (needed with at leas'+ - 't Xcode 10.2 and earlier due to li','nker bugs)'#010+ + 'L*3CLfltonosystem_Disable LTO for th','e system unit (needed with at le'+ + 'ast Xcode 10.2 and earlier due to linker bugs)'#010+ 'L*3CLv<x>_LLVM target version: 3.3, 3.4, .., Xcode-6.4, .., Xcode-10.1'+ ', 7.0, 8.0'#010+ '**2Cn_Omit linking stage'#010+ 'P*2CN_Generate nil-pointer checks (AIX-only)'#010+ - '**2Co_Check overflow of integer operations'#010+ - '**2CO_Check for possible overflow o','f integer operations'#010+ + '**2Co_Chec','k overflow of integer operations'#010+ + '**2CO_Check for possible overflow of integer operations'#010+ '**2Cp<x>_Select instruction set; see fpc -i or fpc -ic for possible va'+ 'lues'#010+ '**2CP<x>=<y>_ packing settings'#010+ - '**3CPPACKSET=<y>_ <y> set allocation: 0, 1 or DEFAULT or NORMAL, 2, 4 '+ - 'and 8'#010+ - '**3CPPACKENUM=<y>_ <y> enum packing: ','0, 1, 2 and 4 or DEFAULT or NOR'+ - 'MAL'#010+ + '**3CPPACKSET=<y>_ <y> set allocation: 0, 1 or',' DEFAULT or NORMAL, 2, '+ + '4 and 8'#010+ + '**3CPPACKENUM=<y>_ <y> enum packing: 0, 1, 2 and 4 or DEFAULT or NORMA'+ + 'L'#010+ '**3CPPACKRECORD=<y>_ <y> record packing: 0 or DEFAULT or NORMAL, 1, 2,'+ ' 4, 8, 16 and 32'#010+ '**2Cr_Range checking'#010+ - '**2CR_Verify object method call validity'#010+ + '**2CR_Verify object method ca','ll validity'#010+ '**2Cs<n>_Set stack checking size to <n>'#010+ - '**2Ct_Stack chec','king (for testing only, see manual)'#010+ + '**2Ct_Stack checking (for testing only, see manual)'#010+ '8*2CT<x>_Target-specific code generation options'#010+ '3*2CT<x>_Target-specific code generation options'#010+ - '4*2CT<x>_Target-specific code generation options'#010+ + '4*2CT<x>_Target-specific code generati','on options'#010+ 'p*2CT<x>_Target-specific code generation options'#010+ - 'P*2CT<x>','_Target-specific code generation options'#010+ + 'P*2CT<x>_Target-specific code generation options'#010+ 'J*2CT<x>_Target-specific code generation options'#010+ 'A*2CT<x>_Target-specific code generation options'#010+ - 'p*3CTsmalltoc_ Generate smaller TOCs at the expense of execution speed'+ - ' (AIX)'#010+ - 'P*3CTsmalltoc_ Generate ','smaller TOCs at the expense of execution spe'+ + 'p*3CTsmalltoc_ Generate smaller T','OCs at the expense of execution spe'+ 'ed (AIX)'#010+ + 'P*3CTsmalltoc_ Generate smaller TOCs at the expense of execution speed'+ + ' (AIX)'#010+ 'J*3CTautogetterprefix=X_ Automatically create getters for properties '+ 'with prefix X (empty string disables)'#010+ - 'J*3CTautosetterprefix=X_ Automatically create setters for properties '+ - 'with pref','ix X (empty string disables)'#010+ + 'J*3CTautose','tterprefix=X_ Automatically create setters for propertie'+ + 's with prefix X (empty string disables)'#010+ '8*3CTcld_ Emit a CLD instruction before using the x86 '+ 'string instructions'#010+ - '3*3CTcld_ Emit a CLD instruction before using the x86 '+ - 'string instructions'#010+ - '4*3CTcld_ Emit ','a CLD instruction before using the x8'+ + '3*3CTcld_ Emit a CLD instruction befo','re using the x8'+ '6 string instructions'#010+ + '4*3CTcld_ Emit a CLD instruction before using the x86 '+ + 'string instructions'#010+ '8*3CTfarprocspushoddbp_ Increment BP before pushing it in the pr'+ 'ologue of far functions'#010+ - 'J*3CTcompactintarrayinit_ Generate smaller (but potentially slower) co'+ - 'de for initializi','ng integer array constants'#010+ + 'J*3CTcompactintarra','yinit_ Generate smaller (but potentially slower) '+ + 'code for initializing integer array constants'#010+ 'J*3CTenumfieldinit_ Initialize enumeration fields in constructor'+ 's to enumtype(0), after calling inherited constructors'#010+ - 'J*3CTinitlocals_ Initialize local variables that trigger a JV'+ - 'M bytecode verific','ation error if used uninitialized (slows down code'+ + 'J*3CTinitlocals_ ',' Initialize local variables that trigger a '+ + 'JVM bytecode verification error if used uninitialized (slows down code'+ ')'#010+ 'J*3CTlowercaseprocstart_ Lowercase the first character of procedure/f'+ 'unction/method names'#010+ - 'A*3CTthumbinterworking_ Generate Thumb interworking-safe code if possi'+ - 'ble'#010+ - 'J*2Cv_Var/out parameter',' copy-out checking'#010+ + 'A*3CTthumbinterworking_ Gener','ate Thumb interworking-safe code if pos'+ + 'sible'#010+ + 'J*2Cv_Var/out parameter copy-out checking'#010+ '**2CX_Create also smartlinked library'#010+ '**1d<x>_Defines the symbol <x>'#010+ '**1D_Generate a DEF file'#010+ '**2Dd<x>_Set description to <x>'#010+ - '**2Dv<x>_Set DLL version to <x>'#010+ + '**2Dv<x>_Set DLL version to',' <x>'#010+ '*O2Dw_PM application'#010+ '**1e<x>_Set path to executable'#010+ - '**1E_Same a','s -Cn'#010+ + '**1E_Same as -Cn'#010+ '**1fPIC_Same as -Cg'#010+ '**1F<x>_Set file names and paths:'#010+ '**2Fa<x>[,y]_(for a program) load units <x> and [y] before uses is par'+ 'sed'#010+ '**2Fc<x>_Set input codepage to <x>'#010+ - '**2FC<x>_Set RC compiler binary name to <x>'#010+ - '**2Fd_Disable the compiler'#039,'s internal directory cache'#010+ + '**2','FC<x>_Set RC compiler binary name to <x>'#010+ + '**2Fd_Disable the compiler'#039's internal directory cache'#010+ '**2FD<x>_Set the directory where to search for compiler utilities'#010+ '**2Fe<x>_Redirect error output to <x>'#010+ - '**2Ff<x>_Add <x> to framework path (Darwin only)'#010+ + '**2Ff<x>_Add <x> to framework path (Darwi','n only)'#010+ '**2FE<x>_Set exe/unit output path to <x>'#010+ - '**2Fi<x>_Add <x> to',' include path'#010+ + '**2Fi<x>_Add <x> to include path'#010+ '**2Fl<x>_Add <x> to library path'#010+ '**2FL<x>_Use <x> as dynamic linker'#010+ '**2Fm<x>_Load unicode conversion table from <x>.txt in the compiler di'+ 'r'#010+ - '**2FM<x>_Set the directory where to search for unicode binary files'#010+ - '**2FN<x>_Add <x> t','o list of default unit scopes (namespaces)'#010+ + '**2FM<x>_Set the d','irectory where to search for unicode binary files'#010+ + '**2FN<x>_Add <x> to list of default unit scopes (namespaces)'#010+ '**2Fo<x>_Add <x> to object path'#010+ '**2Fr<x>_Load error message file <x>'#010+ '**2FR<x>_Set resource (.res) linker to <x>'#010+ - '**2Fu<x>_Add <x> to unit path'#010+ + '**2Fu<x>_Add <x> ','to unit path'#010+ '**2FU<x>_Set unit output path to <x>, overrides -FE'#010+ - '**2','FW<x>_Store generated whole-program optimization feedback in <x>'#010+ + '**2FW<x>_Store generated whole-program optimization feedback in <x>'#010+ '**2Fw<x>_Load previously stored whole-program optimization feedback fr'+ 'om <x>'#010+ - '*g1g_Generate debug information (default format for target)'#010+ - '*g2gc_Generate checks for pointers (ex','perimental, only available on '+ - 'some targets, might generate false positive)'#010+ + '*g1g_Generate debug informatio','n (default format for target)'#010+ + '*g2gc_Generate checks for pointers (experimental, only available on so'+ + 'me targets, might generate false positive)'#010+ '*g2gh_Use heaptrace unit (for memory leak/corruption debugging)'#010+ - '*g2gl_Use line info unit (show more info with backtraces)'#010+ - '*g2gm_Generate Microsoft CodeView debug inf','ormation (experimental)'#010+ + '*g2gl_Use line info unit (show mo','re info with backtraces)'#010+ + '*g2gm_Generate Microsoft CodeView debug information (experimental)'#010+ '*g2go<x>_Set debug information options'#010+ '*g3godwarfsets_ Enable DWARF '#039'set'#039' type debug information (bre'+ 'aks gdb < 6.5)'#010+ - '*g3gostabsabsincludes_ Store absolute/full include file paths in Stabs'+ - #010+ - '*g3godwarfmethodclassprefix_ ','Prefix method names in DWARF with class'+ - ' name'#010+ + '*g3gostabsabsincludes_ Store abs','olute/full include file paths in Sta'+ + 'bs'#010+ + '*g3godwarfmethodclassprefix_ Prefix method names in DWARF with class n'+ + 'ame'#010+ '*g3godwarfcpp_ Simulate C++ debug information in DWARF'#010+ '*g3godwarfomflinnum_ Generate line number information in OMF LINNUM re'+ - 'cords in MS LINK format in addition to the DWARF debug information (Op', - 'en Watcom Debugger/Linker compatibility)'#010+ + 'co','rds in MS LINK format in addition to the DWARF debug information ('+ + 'Open Watcom Debugger/Linker compatibility)'#010+ '*g2gp_Preserve case in stabs symbol names'#010+ '*g2gs_Generate Stabs debug information'#010+ - '*g2gt_Trash local variables (to detect uninitialized uses; multiple '#039+ - 't'#039' changes the trashing value)'#010+ - '*g2gv_Generates pr','ograms traceable with Valgrind'#010+ + '*g2gt_Trash local variables (to detect uninitializ','ed uses; multiple '+ + #039't'#039' changes the trashing value)'#010+ + '*g2gv_Generates programs traceable with Valgrind'#010+ '*g2gw_Generate DWARFv2 debug information (same as -gw2)'#010+ '*g2gw2_Generate DWARFv2 debug information'#010+ '*g2gw3_Generate DWARFv3 debug information'#010+ - '*g2gw4_Generate DWARFv4 debug information (experimental)'#010+ - '**1i_Informa','tion'#010+ + '*','g2gw4_Generate DWARFv4 debug information (experimental)'#010+ + '**1i_Information'#010+ '**2iD_Return compiler date'#010+ '**2iSO_Return compiler OS'#010+ '**2iSP_Return compiler host processor'#010+ '**2iTO_Return target OS'#010+ '**2iTP_Return target processor'#010+ - '**2iV_Return short compiler version'#010+ + '**2iV_Return short co','mpiler version'#010+ '**2iW_Return full compiler version'#010+ - '**2ia_Return list ','of supported ABI targets'#010+ + '**2ia_Return list of supported ABI targets'#010+ '**2ic_Return list of supported CPU instruction sets'#010+ '**2if_Return list of supported FPU instruction sets'#010+ - '**2ii_Return list of supported inline assembler modes'#010+ + '**2ii_Return list of supported inline assem','bler modes'#010+ '**2io_Return list of supported optimizations'#010+ - '**2ir_Return',' list of recognized compiler and RTL features'#010+ + '**2ir_Return list of recognized compiler and RTL features'#010+ '**2it_Return list of supported targets'#010+ '**2iu_Return list of supported microcontroller types'#010+ - '**2iw_Return list of supported whole program optimizations'#010+ + '**2iw_Return list of supported who','le program optimizations'#010+ '**1I<x>_Add <x> to include path'#010+ - '**1k<x>_Pas','s <x> to the linker'#010+ + '**1k<x>_Pass <x> to the linker'#010+ '**1l_Write logo'#010+ '**1M<x>_Set language mode to <x>'#010+ '**2Mfpc_Free Pascal dialect (default)'#010+ '**2Mobjfpc_FPC mode with Object Pascal support'#010+ - '**2Mdelphi_Delphi 7 compatibility mode'#010+ + '**2Mdelphi_Delphi ','7 compatibility mode'#010+ '**2Mtp_TP/BP 7.0 compatibility mode'#010+ - '**2Mmacpas_','Macintosh Pascal dialects compatibility mode'#010+ + '**2Mmacpas_Macintosh Pascal dialects compatibility mode'#010+ '**2Miso_ISO 7185 mode'#010+ '**2Mextendedpascal_ISO 10206 mode'#010+ '**2Mdelphiunicode_Delphi 2009 and later compatibility mode'#010+ - '**1n_Do not read the default config files'#010+ - '**1o<x>_Change the name of the executa','ble produced to <x>'#010+ + '**1n_Do not ','read the default config files'#010+ + '**1o<x>_Change the name of the executable produced to <x>'#010+ '**1O<x>_Optimizations:'#010+ '**2O-_Disable optimizations'#010+ '**2O1_Level 1 optimizations (quick and debugger friendly)'#010+ - '**2O2_Level 2 optimizations (-O1 + quick optimizations)'#010+ - '**2O3_Level 3 optimizations (-O2 + slow optimizations)'#010, + '**2O2_Level 2 optimizations (-O1 + quick op','timizations)'#010+ + '**2O3_Level 3 optimizations (-O2 + slow optimizations)'#010+ '**2O4_Level 4 optimizations (-O3 + optimizations which might have unex'+ 'pected side effects)'#010+ '**2Oa<x>=<y>_Set alignment'#010+ - '**2Oo[NO]<x>_Enable or disable optimizations; see fpc -i or fpc -io fo'+ - 'r possible values'#010+ - '**2Op<x>_Set target cpu for optimi','zing; see fpc -i or fpc -ic for po'+ - 'ssible values'#010+ + '**2Oo[NO]<x>_Enable or disable optimizations; see fpc ','-i or fpc -io '+ + 'for possible values'#010+ + '**2Op<x>_Set target cpu for optimizing; see fpc -i or fpc -ic for poss'+ + 'ible values'#010+ '**2OW<x>_Generate whole-program optimization feedback for optimization'+ ' <x>; see fpc -i or fpc -iw for possible values'#010+ - '**2Ow<x>_Perform whole-program optimization <x>; see fpc -i or fpc -iw'+ - ' for',' possible values'#010+ + '**2Ow<','x>_Perform whole-program optimization <x>; see fpc -i or fpc -'+ + 'iw for possible values'#010+ '**2Os_Optimize for size rather than speed'#010+ '**1pg_Generate profile code for gprof (defines FPC_PROFILE)'#010+ 'F*1P<x>_Target CPU / compiler related options:'#010+ - 'F*2PB_Show default compiler binary'#010+ + 'F*2PB_','Show default compiler binary'#010+ 'F*2PP_Show default target cpu'#010+ - 'F*2P<x>_S','et target CPU (aarch64,arm,avr,i386,i8086,jvm,m68k,mips,mip'+ - 'sel,powerpc,powerpc64,sparc,x86_64)'#010+ + 'F*2P<x>_Set target CPU (aarch64,arm,avr,i386,i8086,jvm,m68k,mips,mipse'+ + 'l,powerpc,powerpc64,sparc,x86_64)'#010+ '**1R<x>_Assembler reading style:'#010+ - '**2Rdefault_Use default assembler for target'#010+ + '**2Rdefault_Use default assembler for target',#010+ '3*2Ratt_Read AT&T style assembler'#010+ - '3*2Rintel_Read Intel style assemb','ler'#010+ + '3*2Rintel_Read Intel style assembler'#010+ '4*2Ratt_Read AT&T style assembler'#010+ '4*2Rintel_Read Intel style assembler'#010+ '8*2Ratt_Read AT&T style assembler'#010+ '8*2Rintel_Read Intel style assembler'#010+ - '6*2RMOT_Read Motorola style assembler'#010+ + '6*2RMOT_Read Motorola styl','e assembler'#010+ '**1S<x>_Syntax options:'#010+ '**2S2_Same as -Mobjfpc'#010+ - '**2Sc_Sup','port operators like C (*=,+=,/= and -=)'#010+ + '**2Sc_Support operators like C (*=,+=,/= and -=)'#010+ '**2Sa_Turn on assertions'#010+ '**2Sd_Same as -Mdelphi'#010+ '**2Se<x>_Error options. <x> is a combination of the following:'#010+ - '**3*_<n> : Compiler halts after the <n> errors (default is 1)'#010+ - '**3*_w : Compiler also halt','s after warnings'#010+ + '**3*_<n> : Compiler h','alts after the <n> errors (default is 1)'#010+ + '**3*_w : Compiler also halts after warnings'#010+ '**3*_n : Compiler also halts after notes'#010+ '**3*_h : Compiler also halts after hints'#010+ '**2Sf_Enable certain features in compiler and RTL; see fpc -i or fpc -'+ - 'ir for possible values)'#010+ - '**2Sg_Enable LABEL and GOTO (default in -Mtp an','d -Mdelphi)'#010+ + 'ir ','for possible values)'#010+ + '**2Sg_Enable LABEL and GOTO (default in -Mtp and -Mdelphi)'#010+ '**2Sh_Use reference counted strings (ansistring by default) instead of'+ ' shortstrings'#010+ '**2Si_Turn on inlining of procedures/functions declared as "inline"'#010+ - '**2Sj_Allows typed constants to be writeable (default in all modes)'#010+ - '**2Sk_Lo','ad fpcylix unit'#010+ + '**2Sj_Al','lows typed constants to be writeable (default in all modes)'#010+ + '**2Sk_Load fpcylix unit'#010+ '**2SI<x>_Set interface style to <x>'#010+ '**3SIcom_COM compatible interface (default)'#010+ '**3SIcorba_CORBA compatible interface'#010+ '**2Sm_Support macros like C (global)'#010+ - '**2So_Same as -Mtp'#010+ + '*','*2So_Same as -Mtp'#010+ '**2Sr_Transparent file names in ISO mode'#010+ - '**2Ss_Con','structor name must be init (destructor must be done)'#010+ + '**2Ss_Constructor name must be init (destructor must be done)'#010+ '**2Sv_Support vector processing (use CPU vector extensions if availabl'+ 'e)'#010+ - '**2Sx_Enable exception keywords (default in Delphi/ObjFPC modes)'#010+ - '**2Sy_@<pointer> returns a typed pointer, same as',' $T+'#010+ + '**2Sx_Enable exception keywords (default in De','lphi/ObjFPC modes)'#010+ + '**2Sy_@<pointer> returns a typed pointer, same as $T+'#010+ '**1s_Do not call assembler and linker'#010+ '**2sh_Generate script to link on host'#010+ '**2st_Generate script to link on target'#010+ - '**2sr_Skip register allocation phase (use with -alr)'#010+ + '**2sr_Skip register allocation phase (use with -alr',')'#010+ '**1T<x>_Target operating system:'#010+ '3*2Tandroid_Android'#010+ - '3*2Taros_AROS',#010+ + '3*2Taros_AROS'#010+ '3*2Tbeos_BeOS'#010+ '3*2Tdarwin_Darwin/Mac OS X'#010+ '3*2Tembedded_Embedded'#010+ '3*2Temx_OS/2 via EMX (including EMX/RSX extender)'#010+ '3*2Tfreebsd_FreeBSD'#010+ - '3*2Tgo32v2_Version 2 of DJ Delorie DOS extender'#010+ + '3*2Tgo32v2_Version 2 of DJ Delorie DOS',' extender'#010+ '3*2Thaiku_Haiku'#010+ - '3*2Tiphonesim_iPhoneSimulator from iOS SDK',' 3.2+ (older versions: -Td'+ - 'arwin)'#010+ + '3*2Tiphonesim_iPhoneSimulator from iOS SDK 3.2+ (older versions: -Tdar'+ + 'win)'#010+ '3*2Tlinux_Linux'#010+ '3*2Tnativent_Native NT API (experimental)'#010+ '3*2Tnetbsd_NetBSD'#010+ '3*2Tnetware_Novell Netware Module (clib)'#010+ - '3*2Tnetwlibc_Novell Netware Module (libc)'#010+ + '3*2Tnetwlibc_Novell Ne','tware Module (libc)'#010+ '3*2Topenbsd_OpenBSD'#010+ '3*2Tos2_OS/2 / eComStation'#010+ - '3','*2Tsymbian_Symbian OS'#010+ + '3*2Tsymbian_Symbian OS'#010+ '3*2Tsolaris_Solaris'#010+ '3*2Twatcom_Watcom compatible DOS extender'#010+ '3*2Twdosx_WDOSX DOS extender'#010+ '3*2Twin32_Windows 32 Bit'#010+ '3*2Twince_Windows CE'#010+ - '4*2Taros_AROS'#010+ + '4*2Taros_AROS',#010+ '4*2Tdarwin_Darwin/Mac OS X'#010+ '4*2Tdragonfly_DragonFly BSD'#010+ - '4*2Tembedded','_Embedded'#010+ + '4*2Tembedded_Embedded'#010+ '4*2Tfreebsd_FreeBSD'#010+ '4*2Tiphonesim_iPhoneSimulator'#010+ '4*2Tlinux_Linux'#010+ '4*2Tnetbsd_NetBSD'#010+ '4*2Topenbsd_OpenBSD'#010+ '4*2Tsolaris_Solaris'#010+ - '4*2Twin64_Win64 (64 bit Windows systems)'#010+ + '4*2Twin64_Win64 (64 bit Windows system','s)'#010+ '6*2Tamiga_Commodore Amiga'#010+ '6*2Tatari_Atari ST/STe/TT'#010+ - '6*2Tembedded_','Embedded'#010+ + '6*2Tembedded_Embedded'#010+ '6*2Tlinux_Linux'#010+ '6*2Tnetbsd_NetBSD'#010+ '6*2Tmacos_Mac OS'#010+ @@ -1743,10 +1741,10 @@ const msgtxt : array[0..000347,1..240] of char=( '8*2Tembedded_Embedded'#010+ '8*2Tmsdos_MS-DOS (and compatible)'#010+ '8*2Twin16_Windows 16 Bit'#010+ - 'A*2Tandroid_Android'#010+ + 'A*2Tandroid_A','ndroid'#010+ 'A*2Taros_AROS'#010+ 'A*2Tdarwin_Darwin/iPhoneOS/iOS'#010+ - 'A*2Tembedded_Emb','edded'#010+ + 'A*2Tembedded_Embedded'#010+ 'A*2Tgba_Game Boy Advance'#010+ 'A*2Tlinux_Linux'#010+ 'A*2Tnds_Nintendo DS'#010+ @@ -1755,11 +1753,11 @@ const msgtxt : array[0..000347,1..240] of char=( 'A*2Tsymbian_Symbian'#010+ 'A*2Twince_Windows CE'#010+ 'a*2Tdarwin_Darwin/iOS'#010+ - 'a*2Tlinux_Linux'#010+ + 'a*2Tli','nux_Linux'#010+ 'J*2Tandroid_Android'#010+ 'J*2Tjava_Java'#010+ 'm*2Tandroid_Android'#010+ - 'm*2T','embedded_Embedded'#010+ + 'm*2Tembedded_Embedded'#010+ 'm*2Tlinux_Linux'#010+ 'M*2Tembedded_Embedded'#010+ 'M*2Tlinux_Linux'#010+ @@ -1768,10 +1766,10 @@ const msgtxt : array[0..000347,1..240] of char=( 'P*2Tdarwin_Darwin/Mac OS X'#010+ 'P*2Tembedded_Embedded'#010+ 'P*2Tlinux_Linux'#010+ - 'P*2Tmacos_Mac OS (classic)'#010+ + 'P*2Tm','acos_Mac OS (classic)'#010+ 'P*2Tmorphos_MorphOS'#010+ 'P*2Tnetbsd_NetBSD'#010+ - 'P*2Twii_','Wii'#010+ + 'P*2Twii_Wii'#010+ 'p*2Taix_AIX'#010+ 'p*2Tdarwin_Darwin/Mac OS X'#010+ 'p*2Tembedded_Embedded'#010+ @@ -1780,149 +1778,148 @@ const msgtxt : array[0..000347,1..240] of char=( 'R*2Tembedded_Embedded'#010+ 'r*2Tlinux_Linux'#010+ 'r*2Tembedded_Embedded'#010+ - 'S*2Tlinux_Linux'#010+ + 'S*2Tlinux_Linux',#010+ 'S*2Tsolaris_Solaris'#010+ 's*2Tlinux_Linux'#010+ 'V*2Tembedded_Embedded'#010+ - '**1u<x>_U','ndefines the symbol <x>'#010+ + '**1u<x>_Undefines the symbol <x>'#010+ '**1U_Unit options:'#010+ '**2Un_Do not check where the unit name matches the file name'#010+ '**2Ur_Generate release unit files (never automatically recompiled)'#010+ - '**2Us_Compile a system unit'#010+ - '**1v<x>_Be verbose. <x> is a combination ','of the following letters:'#010+ + '*','*2Us_Compile a system unit'#010+ + '**1v<x>_Be verbose. <x> is a combination of the following letters:'#010+ '**2*_e : Show errors (default) 0 : Show nothing (except errors)'#010+ '**2*_w : Show warnings u : Show unit info'#010+ - '**2*_n : Show notes t : Show tried/used files'#010+ - '**2*_h : Show hints ',' c : Show conditionals'#010+ + '**2*_n : Show notes ',' t : Show tried/used files'#010+ + '**2*_h : Show hints c : Show conditionals'#010+ '**2*_i : Show general info d : Show debug info'#010+ '**2*_l : Show linenumbers r : Rhide/GCC compatibility mode'#010+ - '**2*_s : Show time stamps q : Show message numbers'#010+ - '**2*_a : Show eve','rything x : Show info about invoked too'+ - 'ls'#010+ + '**2*_s : Sh','ow time stamps q : Show message numbers'#010+ + '**2*_a : Show everything x : Show info about invoked tools'+ + #010+ '**2*_b : Write file names messages p : Write tree.log with parse tre'+ 'e'#010+ - '**2*_ with full path v : Write fpcdebug.txt with'#010+ - '**2*_z : Write output to stderr lots of ','debugging info'#010+ + '**2*_ with full path v : Write',' fpcdebug.txt with'#010+ + '**2*_z : Write output to stderr lots of debugging info'#010+ '**2*_m<x>,<y> : Do not show messages numbered <x> and <y>'#010+ 'F*1V<x>_Append '#039'-<x>'#039' to the used compiler binary name (e.g. f'+ 'or version)'#010+ - '**1W<x>_Target-specific options (targets)'#010+ + '**1W<x>_Target-specific o','ptions (targets)'#010+ '3*2WA_Specify native type application (Windows)'#010+ - '4*2','WA_Specify native type application (Windows)'#010+ + '4*2WA_Specify native type application (Windows)'#010+ 'A*2WA_Specify native type application (Windows)'#010+ '3*2Wb_Create a bundle instead of a library (Darwin)'#010+ - 'P*2Wb_Create a bundle instead of a library (Darwin)'#010+ - 'p*2Wb_Create a bundle instead of a library ','(Darwin)'#010+ + 'P*2Wb_Create a bundle inste','ad of a library (Darwin)'#010+ + 'p*2Wb_Create a bundle instead of a library (Darwin)'#010+ 'a*2Wb_Create a bundle instead of a library (Darwin)'#010+ 'A*2Wb_Create a bundle instead of a library (Darwin)'#010+ '4*2Wb_Create a bundle instead of a library (Darwin)'#010+ - '3*2WB_Create a relocatable image (Windows, Symbian)'#010+ - '3*2WB<x>_Set image base',' to <x> (Windows, Symbian)'#010+ + '3*2WB_C','reate a relocatable image (Windows, Symbian)'#010+ + '3*2WB<x>_Set image base to <x> (Windows, Symbian)'#010+ '4*2WB_Create a relocatable image (Windows)'#010+ '4*2WB<x>_Set image base to <x> (Windows)'#010+ 'A*2WB_Create a relocatable image (Windows, Symbian)'#010+ - 'A*2WB<x>_Set image base to <x> (Windows, Symbian)'#010+ - '3*2WC_Specify console type ','application (EMX, OS/2, Windows)'#010+ + 'A*2WB<x>_','Set image base to <x> (Windows, Symbian)'#010+ + '3*2WC_Specify console type application (EMX, OS/2, Windows)'#010+ '4*2WC_Specify console type application (Windows)'#010+ 'A*2WC_Specify console type application (Windows)'#010+ - 'P*2WC_Specify console type application (Classic Mac OS)'#010+ - '3*2WD_Use DEFFILE to export functions of DLL or EXE (','Windows)'#010+ + 'P*2WC_Specify console type application (C','lassic Mac OS)'#010+ + '3*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+ '4*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+ 'A*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+ '3*2We_Use external resources (Darwin)'#010+ - '4*2We_Use external resources (Darwin)'#010+ - 'a*2We_Use external resources (D','arwin)'#010+ + '4','*2We_Use external resources (Darwin)'#010+ + 'a*2We_Use external resources (Darwin)'#010+ 'A*2We_Use external resources (Darwin)'#010+ 'P*2We_Use external resources (Darwin)'#010+ 'p*2We_Use external resources (Darwin)'#010+ - '3*2WF_Specify full-screen type application (EMX, OS/2)'#010+ + '3*2WF_Specify full-screen type application (EMX, OS','/2)'#010+ '3*2WG_Specify graphic type application (EMX, OS/2, Windows)'#010+ - '4*2W','G_Specify graphic type application (Windows)'#010+ + '4*2WG_Specify graphic type application (Windows)'#010+ 'A*2WG_Specify graphic type application (Windows)'#010+ 'P*2WG_Specify graphic type application (Classic Mac OS)'#010+ - '3*2Wi_Use internal resources (Darwin)'#010+ + '3*2Wi_Use internal res','ources (Darwin)'#010+ '4*2Wi_Use internal resources (Darwin)'#010+ - 'a*2Wi_Use inte','rnal resources (Darwin)'#010+ + 'a*2Wi_Use internal resources (Darwin)'#010+ 'A*2Wi_Use internal resources (Darwin)'#010+ 'P*2Wi_Use internal resources (Darwin)'#010+ 'p*2Wi_Use internal resources (Darwin)'#010+ - '3*2WI_Turn on/off the usage of import sections (Windows)'#010+ - '4*2WI_Turn on/off the usage of import section','s (Windows)'#010+ + '3*2WI_Turn on/off the usage of imp','ort sections (Windows)'#010+ + '4*2WI_Turn on/off the usage of import sections (Windows)'#010+ 'A*2WI_Turn on/off the usage of import sections (Windows)'#010+ '8*2Wh_Use huge code for units (ignored for models with CODE in a uniqu'+ 'e segment)'#010+ - '8*2Wm<x>_Set memory model'#010+ + '8*2Wm<x>_Set memory mo','del'#010+ '8*3WmTiny_Tiny memory model'#010+ - '8*3WmSmall_Small memory model (defau','lt)'#010+ + '8*3WmSmall_Small memory model (default)'#010+ '8*3WmMedium_Medium memory model'#010+ '8*3WmCompact_Compact memory model'#010+ '8*3WmLarge_Large memory model'#010+ '8*3WmHuge_Huge memory model'#010+ - '3*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwi'+ - 'n)'#010+ - '4*2WM<x>_Minimum Mac OS X deployment ve','rsion: 10.4, 10.5.1, ... (Dar'+ + '3*2WM<x>_Minimum Mac OS X deployment version',': 10.4, 10.5.1, ... (Dar'+ 'win)'#010+ - 'p*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwi'+ + '4*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwi'+ 'n)'#010+ - 'P*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwi'+ + 'p*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (Darwi'+ 'n)'#010+ - '3*2WN_Do not generate relocation code, needed for debugging ','(Windows'+ - ')'#010+ + 'P*2WM<x>_Minimum Mac OS X deployment version: 10.4, 10.5.1, ... (','Dar'+ + 'win)'#010+ + '3*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+ '4*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+ 'A*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+ - 'A*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possib'+ - 'le values'#010+ - 'm*2Wp<x>_S','pecify the controller type; see fpc -i or fpc -iu for poss'+ + 'A*2Wp<x>_Specify the c','ontroller type; see fpc -i or fpc -iu for poss'+ 'ible values'#010+ + 'm*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possib'+ + 'le values'#010+ 'V*2Wp<x>_Specify the controller type; see fpc -i or fpc -iu for possib'+ 'le values'#010+ - '3*2WP<x>_Minimum iOS deployment version: 3.0, 5.0.1, ... (iphonesim)'#010+ - '4*2WP<x>_Minimum iOS ','deployment version: 8.0, 8.0.2, ... (iphonesim)'+ + '3*2WP<x>_Minimum iOS d','eployment version: 3.0, 5.0.1, ... (iphonesim)'+ #010+ + '4*2WP<x>_Minimum iOS deployment version: 8.0, 8.0.2, ... (iphonesim)'#010+ 'a*2WP<x>_Minimum iOS deployment version: 7.0, 7.1.2, ... (Darwin)'#010+ - 'A*2WP<x>_Minimum iOS deployment version: 3.0, 5.0.1, ... (Darwin)'#010+ + 'A*2WP<x>_Minimum iOS deployment version: 3.0, 5.0.1, ... (','Darwin)'#010+ '3*2WR_Generate relocation code (Windows)'#010+ - '4*2WR_Generate relo','cation code (Windows)'#010+ + '4*2WR_Generate relocation code (Windows)'#010+ 'A*2WR_Generate relocation code (Windows)'#010+ '8*2Wt<x>_Set the target executable format'#010+ '8*3Wtexe_Create a DOS .EXE file (default)'#010+ - '8*3Wtcom_Create a DOS .COM file (requires tiny memory model)'#010+ - 'P*2WT_Specify MPW tool type appl','ication (Classic Mac OS)'#010+ + '8*3Wtcom_Create a DOS .CO','M file (requires tiny memory model)'#010+ + 'P*2WT_Specify MPW tool type application (Classic Mac OS)'#010+ '**2WX_Enable executable stack (Linux)'#010+ '**1X_Executable options:'#010+ '**2X9_Generate linkerscript for GNU Binutils ld older than version 2.1'+ '9.1 (Linux)'#010+ - '**2Xc_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Lin', - 'ux)'#010+ + '**','2Xc_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, L'+ + 'inux)'#010+ '**2Xd_Do not search default library path (sometimes required for cross'+ '-compiling when not using -XR)'#010+ '**2Xe_Use external linker'#010+ - '**2Xf_Substitute pthread library name for linking (BSD)'#010+ - '**2Xg_Create debuginfo in a separate file and add a d','ebuglink sectio'+ - 'n to executable'#010+ + '**2Xf_Substitute pthread library name for',' linking (BSD)'#010+ + '**2Xg_Create debuginfo in a separate file and add a debuglink section '+ + 'to executable'#010+ '**2XD_Try to link units dynamically (defines FPC_LINK_DYNAMIC)'#010+ '**2Xi_Use internal linker'#010+ - '**2XLA_Define library substitutions for linking'#010+ + '**2XLA_Define library substitutions for linking',#010+ '**2XLO_Define order of library linking'#010+ - '**2XLD_Exclude default order',' of standard libraries'#010+ + '**2XLD_Exclude default order of standard libraries'#010+ '**2Xm_Generate link map'#010+ '**2XM<x>_Set the name of the '#039'main'#039' program routine (default i'+ 's '#039'main'#039')'#010+ - '**2Xn_Use target system native linker instead of GNU ld (Solaris, AIX)'+ - #010+ - 'F*2Xp<x>_First search for the compiler binary in t','he directory <x>'#010+ + '**2Xn_Use target system native linker instead of GNU ','ld (Solaris, AI'+ + 'X)'#010+ + 'F*2Xp<x>_First search for the compiler binary in the directory <x>'#010+ '**2XP<x>_Prepend the binutils names with the prefix <x>'#010+ '**2Xr<x>_Set the linker'#039's rlink-path to <x> (needed for cross comp'+ - 'ile, see the ld manual for more information) (BeOS, Linux)'#010+ - '**2XR<x>_Prepend <x> to all linker search ','paths (BeOS, Darwin, FreeB'+ - 'SD, Linux, Mac OS, Solaris)'#010+ + 'ile, see the ld manual for more i','nformation) (BeOS, Linux)'#010+ + '**2XR<x>_Prepend <x> to all linker search paths (BeOS, Darwin, FreeBSD'+ + ', Linux, Mac OS, Solaris)'#010+ '**2Xs_Strip all symbols from executable'#010+ '**2XS_Try to link units statically (default, defines FPC_LINK_STATIC)'#010+ - '**2Xt_Link with static libraries (-static is passed to linker)'#010+ - '**2Xv_Generat','e table for Virtual Entry calls'#010+ + '**2Xt_Li','nk with static libraries (-static is passed to linker)'#010+ + '**2Xv_Generate table for Virtual Entry calls'#010+ '**2XV_Use VLink as external linker (default on Amiga, MorphOS)'#010+ '**2XX_Try to smartlink units (defines FPC_LINK_SMART)'#010+ - '**1*_'#010+ + '**1*_',#010+ '**1?_Show this help'#010+ '**1h_Shows this help without waiting' ); diff --git a/compiler/scanner.pas b/compiler/scanner.pas index 766894f2d9..5c6e6b0dd9 100644 --- a/compiler/scanner.pas +++ b/compiler/scanner.pas @@ -39,7 +39,7 @@ interface type - tcommentstyle = (comment_none,comment_tp,comment_oldtp,comment_delphi,comment_c); + tcommentstyle = (comment_none,comment_tp,comment_oldtp,comment_delphi,comment_c, comment_x86OpExt); tscannerfile = class; @@ -214,7 +214,7 @@ interface procedure readnumber; function readid:string; function readval:longint; - function readcomment:string; + function readcomment(include_special_char: boolean = false):string; function readquotedstring:string; function readstate:char; function readoptionalstate(fallback:char):char; @@ -4137,7 +4137,7 @@ type end; - function tscannerfile.readcomment:string; + function tscannerfile.readcomment(include_special_char: boolean):string; var i : longint; begin @@ -4146,15 +4146,29 @@ type case c of '{' : begin + if (include_special_char) and (i<255) then + begin + inc(i); + readcomment[i]:=c; + end; + if current_commentstyle=comment_tp then inc_comment_level; end; '}' : begin + if (include_special_char) and (i<255) then + begin + inc(i); + readcomment[i]:=c; + end; + if current_commentstyle=comment_tp then begin readchar; dec_comment_level; + + if comment_level=0 then break else diff --git a/compiler/utils/mkx86ins.pp b/compiler/utils/mkx86ins.pp index a1db21392c..13bea6d97e 100644 --- a/compiler/utils/mkx86ins.pp +++ b/compiler/utils/mkx86ins.pp @@ -57,7 +57,7 @@ var function formatop(s:string;allowsizeonly:boolean):string; const - replaces=28; + replaces=29; replacetab : array[1..replaces,1..2] of string[32]=( (':',' or ot_colon'), ('reg','regnorm'), @@ -73,6 +73,7 @@ function formatop(s:string;allowsizeonly:boolean):string; ('mem64','memory or ot_bits64'), ('mem128','memory or ot_bits128'), ('mem256','memory or ot_bits256'), + ('mem512','memory or ot_bits512'), ('mem80','memory or ot_bits80'), ('mem','memory'), ('memory_offs','mem_offs'), @@ -282,6 +283,7 @@ begin begin { handle comment } readln(infile,s); + while (s[1]=' ') do delete(s,1,1); if (s='') or (s[1]=';') then diff --git a/compiler/utils/mkx86reg.pp b/compiler/utils/mkx86reg.pp index ce08afa3af..bb0e14d5b6 100644 --- a/compiler/utils/mkx86reg.pp +++ b/compiler/utils/mkx86reg.pp @@ -17,12 +17,12 @@ program mkx86reg; const Version = '1.00'; - max_regcount = 200; + max_regcount = 255; var s : string; i : longint; line : longint; - regcount:byte; + regcount:longint; regcount_bsstart:byte; names,numbers,stdnames,intnames,nasmnames,attnames,stabs,dwarf16,dwarf32,dwarf64,ots,ops: array[0..max_regcount-1] of string[63]; @@ -246,7 +246,7 @@ var infile:text; begin { open dat file } - assign(infile,'x86reg.dat'); + assign(infile,'../x86/x86reg.dat'); reset(infile); while not(eof(infile)) do begin diff --git a/compiler/x86/aasmcpu.pas b/compiler/x86/aasmcpu.pas index 60c6c31f5b..050e16a37c 100644 --- a/compiler/x86/aasmcpu.pas +++ b/compiler/x86/aasmcpu.pas @@ -50,9 +50,26 @@ interface OT_BITS16 = $00000002; OT_BITS32 = $00000004; OT_BITS64 = $00000008; { x86_64 and FPU } - OT_BITS128 = $10000000; { 16 byte SSE } - OT_BITS256 = $20000000; { 32 byte AVX } - OT_BITS512 = $40000000; { 64 byte AVX512 } + //OT_BITS128 = $10000000; { 16 byte SSE } + //OT_BITS256 = $20000000; { 32 byte AVX } + //OT_BITS512 = $40000000; { 64 byte AVX512 } + OT_BITS128 = $20000000; { 16 byte SSE } + OT_BITS256 = $40000000; { 32 byte AVX } + OT_BITS512 = $80000000; { 64 byte AVX512 } + + OT_VECTORMASK = $1000000000; { OPTIONAL VECTORMASK AVX512} + OT_VECTORZERO = $2000000000; { OPTIONAL ZERO-FLAG AVX512} + OT_VECTORBCST = $4000000000; { BROADCAST-MEM-FLAG AVX512} + OT_VECTORSAE = $8000000000; { OPTIONAL SAE-FLAG AVX512} + OT_VECTORER = $10000000000; { OPTIONAL ER-FLAG-FLAG AVX512} + + + OT_BITSB32 = OT_BITS32 or OT_VECTORBCST; + OT_BITSB64 = OT_BITS64 or OT_VECTORBCST; + + + OT_VECTOR_EXT_MASK = OT_VECTORMASK or OT_VECTORZERO or OT_VECTORBCST; + OT_BITS80 = $00000010; { FPU only } OT_FAR = $00000020; { this means 16:16 or 16:32, like in CALL/JMP } OT_NEAR = $00000040; @@ -60,8 +77,9 @@ interface { TODO: FAR/NEAR/SHORT are sizes too, they should be included into size mask, but this requires adjusting the opcode table } - OT_SIZE_MASK = $3000001F; { all the size attributes } - OT_NON_SIZE = longint(not OT_SIZE_MASK); + //OT_SIZE_MASK = $3000001F; { all the size attributes } + OT_SIZE_MASK = $E000001F; { all the size attributes } + OT_NON_SIZE = longint(not(longint(OT_SIZE_MASK))); { Bits 8..11: modifiers } OT_SIGNED = $00000100; { the operand need to be signed -128-127 } @@ -83,10 +101,13 @@ interface otf_reg_cdt = $00100000; otf_reg_gpr = $00200000; otf_reg_sreg = $00400000; + otf_reg_k = $00800000; otf_reg_fpu = $01000000; otf_reg_mmx = $02000000; otf_reg_xmm = $04000000; otf_reg_ymm = $08000000; + otf_reg_zmm = $10000000; + otf_reg_extra_mask = $0F000000; { Bits 16..19: subclasses, meaning depends on classes field } @@ -96,9 +117,10 @@ interface otf_sub3 = $00080000; OT_REG_SMASK = otf_sub0 or otf_sub1 or otf_sub2 or otf_sub3; - OT_REG_EXTRA_MASK = $0F000000; + //OT_REG_EXTRA_MASK = $0F000000; + OT_REG_EXTRA_MASK = $1F000000; - OT_REG_TYPMASK = otf_reg_cdt or otf_reg_gpr or otf_reg_sreg or otf_reg_extra_mask; + OT_REG_TYPMASK = otf_reg_cdt or otf_reg_gpr or otf_reg_sreg or otf_reg_k or otf_reg_extra_mask; { register class 0: CRx, DRx and TRx } {$ifdef x86_64} OT_REG_CDT = OT_REGISTER or otf_reg_cdt or OT_BITS64; @@ -156,31 +178,89 @@ interface OT_XMMREG = OT_REGNORM or otf_reg_xmm; OT_XMMRM = OT_REGMEM or otf_reg_xmm; OT_XMEM32 = OT_REGNORM or otf_reg_xmm or otf_reg_gpr or OT_BITS32; + OT_XMEM32_M = OT_XMEM32 or OT_VECTORMASK; OT_XMEM64 = OT_REGNORM or otf_reg_xmm or otf_reg_gpr or OT_BITS64; + OT_XMEM64_M = OT_XMEM64 or OT_VECTORMASK; - { register class 5: XMM (both reg and r/m) } - OT_YMMREG = OT_REGNORM or otf_reg_ymm; - OT_YMMRM = OT_REGMEM or otf_reg_ymm; - OT_YMEM32 = OT_REGNORM or otf_reg_ymm or otf_reg_gpr or OT_BITS32; - OT_YMEM64 = OT_REGNORM or otf_reg_ymm or otf_reg_gpr or OT_BITS64; + OT_XMMREG_M = OT_XMMREG or OT_VECTORMASK; + OT_XMMREG_MZ = OT_XMMREG or OT_VECTORMASK or OT_VECTORZERO; + OT_XMMRM_MZ = OT_XMMRM or OT_VECTORMASK or OT_VECTORZERO; + OT_XMMREG_SAE = OT_XMMREG or OT_VECTORSAE; + OT_XMMRM_SAE = OT_XMMRM or OT_VECTORSAE; + OT_XMMREG_ER = OT_XMMREG or OT_VECTORER; + OT_XMMRM_ER = OT_XMMRM or OT_VECTORER; + + + + { register class 5: YMM (both reg and r/m) } + OT_YMMREG = OT_REGNORM or otf_reg_ymm; + OT_YMMRM = OT_REGMEM or otf_reg_ymm; + OT_YMEM32 = OT_REGNORM or otf_reg_ymm or otf_reg_gpr or OT_BITS32; + OT_YMEM32_M = OT_YMEM32 or OT_VECTORMASK; + OT_YMEM64 = OT_REGNORM or otf_reg_ymm or otf_reg_gpr or OT_BITS64; + OT_YMEM64_M = OT_YMEM64 or OT_VECTORMASK; + + OT_YMMREG_M = OT_YMMREG or OT_VECTORMASK; + OT_YMMREG_MZ = OT_YMMREG or OT_VECTORMASK or OT_VECTORZERO; + OT_YMMRM_MZ = OT_YMMRM or OT_VECTORMASK or OT_VECTORZERO; + OT_YMMREG_SAE = OT_YMMREG or OT_VECTORSAE; + OT_YMMRM_SAE = OT_YMMRM or OT_VECTORSAE; + OT_YMMREG_ER = OT_YMMREG or OT_VECTORER; + OT_YMMRM_ER = OT_YMMRM or OT_VECTORER; + + + { register class 5: ZMM (both reg and r/m) } + OT_ZMMREG = OT_REGNORM or otf_reg_zmm; + OT_ZMMRM = OT_REGMEM or otf_reg_zmm; + OT_ZMEM32 = OT_REGNORM or otf_reg_zmm or otf_reg_gpr or OT_BITS32; + OT_ZMEM32_M = OT_ZMEM32 or OT_VECTORMASK; + OT_ZMEM64 = OT_REGNORM or otf_reg_zmm or otf_reg_gpr or OT_BITS64; + OT_ZMEM64_M = OT_ZMEM64 or OT_VECTORMASK; + + + OT_ZMMREG_M = OT_ZMMREG or OT_VECTORMASK; + OT_ZMMREG_MZ = OT_ZMMREG or OT_VECTORMASK or OT_VECTORZERO; + OT_ZMMRM_MZ = OT_ZMMRM or OT_VECTORMASK or OT_VECTORZERO; + OT_ZMMREG_SAE = OT_ZMMREG or OT_VECTORSAE; + OT_ZMMRM_SAE = OT_ZMMRM or OT_VECTORSAE; + OT_ZMMREG_ER = OT_ZMMREG or OT_VECTORER; + OT_ZMMRM_ER = OT_ZMMRM or OT_VECTORER; + + + OT_KREG = OT_REGNORM or otf_reg_k; + OT_KREG_M = OT_KREG or OT_VECTORMASK; { Vector-Memory operands } - OT_VMEM_ANY = OT_XMEM32 or OT_XMEM64 or OT_YMEM32 or OT_YMEM64; + OT_VMEM_ANY = OT_XMEM32 or OT_XMEM64 or OT_YMEM32 or OT_YMEM64 or OT_ZMEM32 or OT_ZMEM64; { Memory operands } OT_MEM8 = OT_MEMORY or OT_BITS8; OT_MEM16 = OT_MEMORY or OT_BITS16; + OT_MEM16_M = OT_MEM16 or OT_VECTORMASK; OT_MEM32 = OT_MEMORY or OT_BITS32; + OT_MEM32_M = OT_MEMORY or OT_BITS32 or OT_VECTORMASK; + OT_BMEM32 = OT_MEMORY or OT_BITS32 or OT_VECTORBCST; + OT_BMEM32_SAE= OT_MEMORY or OT_BITS32 or OT_VECTORBCST or OT_VECTORSAE; OT_MEM64 = OT_MEMORY or OT_BITS64; + OT_MEM64_M = OT_MEMORY or OT_BITS64 or OT_VECTORMASK; + OT_BMEM64 = OT_MEMORY or OT_BITS64 or OT_VECTORBCST; + OT_BMEM64_SAE= OT_MEMORY or OT_BITS64 or OT_VECTORBCST or OT_VECTORSAE; OT_MEM128 = OT_MEMORY or OT_BITS128; + OT_MEM128_M = OT_MEMORY or OT_BITS128 or OT_VECTORMASK; OT_MEM256 = OT_MEMORY or OT_BITS256; + OT_MEM256_M = OT_MEMORY or OT_BITS256 or OT_VECTORMASK; + OT_MEM512 = OT_MEMORY or OT_BITS512; + OT_MEM512_M = OT_MEMORY or OT_BITS512 or OT_VECTORMASK; OT_MEM80 = OT_MEMORY or OT_BITS80; + + + OT_MEM_OFFS = OT_MEMORY or otf_sub0; { special type of EA } { simple [address] offset } { Matches any type of r/m operand } - OT_MEMORY_ANY = OT_MEMORY or OT_RM_GPR or OT_XMMRM or OT_MMXRM or OT_YMMRM or OT_REG_EXTRA_MASK; + OT_MEMORY_ANY = OT_MEMORY or OT_RM_GPR or OT_XMMRM or OT_MMXRM or OT_YMMRM or OT_ZMMRM or OT_REG_EXTRA_MASK; { Immediate operands } OT_IMM8 = OT_IMMEDIATE or OT_BITS8; @@ -191,6 +271,26 @@ interface OT_ONENESS = otf_sub0; { special type of immediate operand } OT_UNITY = OT_IMMEDIATE or OT_ONENESS; { for shift/rotate instructions } + OTVE_VECTOR_SAE = 1 shl 8; + OTVE_VECTOR_ER = 1 shl 9; + OTVE_VECTOR_ZERO = 1 shl 10; + OTVE_VECTOR_WRITEMASK = 1 shl 11; + OTVE_VECTOR_BCST = 1 shl 12; + OTVE_VECTOR_BCST2 = 0; + OTVE_VECTOR_BCST4 = 1 shl 4; + OTVE_VECTOR_BCST8 = 1 shl 5; + OTVE_VECTOR_BCST16 = 3 shl 4; + OTVE_VECTOR_RNSAE = OTVE_VECTOR_ER or 0; + OTVE_VECTOR_RDSAE = OTVE_VECTOR_ER or 1 shl 6; + OTVE_VECTOR_RUSAE = OTVE_VECTOR_ER or 1 shl 7; + OTVE_VECTOR_RZSAE = OTVE_VECTOR_ER or 3 shl 6; + + + OTVE_VECTOR_BCST_MASK = OTVE_VECTOR_BCST2 or OTVE_VECTOR_BCST4 or OTVE_VECTOR_BCST8 or OTVE_VECTOR_BCST16; + OTVE_VECTOR_ER_MASK = OTVE_VECTOR_RNSAE or OTVE_VECTOR_RDSAE or OTVE_VECTOR_RUSAE or OTVE_VECTOR_RZSAE; + + OTVE_VECTOR_MASK = OTVE_VECTOR_SAE or OTVE_VECTOR_ER or OTVE_VECTOR_ZERO or OTVE_VECTOR_WRITEMASK or OTVE_VECTOR_BCST; + { Size of the instruction table converted by nasmconv.pas } {$if defined(x86_64)} instabentries = {$i x8664nop.inc} @@ -199,7 +299,7 @@ interface {$elseif defined(i8086)} instabentries = {$i i8086nop.inc} {$endif} - maxinfolen = 9; + maxinfolen = 10; type { What an instruction can change. Needed for optimizer and spilling code. @@ -257,29 +357,44 @@ interface TMemRefSizeInfo = (msiUnkown, msiUnsupported, msiNoSize, msiMultiple, msiMultiple8, msiMultiple16, msiMultiple32, - msiMultiple64, msiMultiple128, msiMultiple256, - msiMemRegSize, msiMemRegx16y32, msiMemRegx32y64, msiMemRegx64y128, msiMemRegx64y256, - msiMem8, msiMem16, msiMem32, msiMem64, msiMem128, msiMem256, - msiXMem32, msiXMem64, msiYMem32, msiYMem64, - msiVMemMultiple, msiVMemRegSize); - + msiMultiple64, msiMultiple128, msiMultiple256, msiMultiple512, + msiMemRegSize, msiMemRegx16y32, msiMemRegx16y32z64, msiMemRegx32y64, msiMemRegx32y64z128, msiMemRegx64y128, msiMemRegx64y128z256, + msiMemRegx64y256, msiMemRegx64y256z512, + msiMem8, msiMem16, msiMem32, msiBMem32, msiMem64, msiBMem64, msiMem128, msiMem256, msiMem512, + msiXMem32, msiXMem64, msiYMem32, msiYMem64, msiZMem32, msiZMem64, + msiVMemMultiple, msiVMemRegSize, + msiMemRegConst128,msiMemRegConst256,msiMemRegConst512); + + TMemRefSizeInfoBCST = (msbUnknown, msbBCST32, msbBCST64, msbMultiple); + TMemRefSizeInfoBCSTType = (btUnknown, bt1to2, bt1to4, bt1to8, bt1to16); + + TEVEXTupleState = (etsUnknown, etsIsTuple, etsNotTuple); TConstSizeInfo = (csiUnkown, csiMultiple, csiNoSize, csiMem8, csiMem16, csiMem32, csiMem64); TInsTabMemRefSizeInfoRec = record - MemRefSize : TMemRefSizeInfo; - ExistsSSEAVX: boolean; - ConstSize : TConstSizeInfo; + MemRefSize : TMemRefSizeInfo; + MemRefSizeBCST : TMemRefSizeInfoBCST; + BCSTXMMMultiplicator : byte; + ExistsSSEAVX : boolean; + ConstSize : TConstSizeInfo; + BCSTTypes : Set of TMemRefSizeInfoBCSTType; end; + + const MemRefMultiples: set of TMemRefSizeInfo = [msiMultiple, msiMultiple8, msiMultiple16, msiMultiple32, msiMultiple64, msiMultiple128, - msiMultiple256, msiVMemMultiple]; + msiMultiple256, msiMultiple512, + msiVMemMultiple]; MemRefSizeInfoVMems: Set of TMemRefSizeInfo = [msiXMem32, msiXMem64, msiYMem32, msiYMem64, + msiZMem32, msiZMem64, msiVMemMultiple, msiVMemRegSize]; + + InsProp : array[tasmop] of TInsProp = {$if defined(x86_64)} {$i x8664pro.inc} @@ -335,6 +450,7 @@ interface IF_CLMUL, IF_AVX, IF_AVX2, + IF_AVX512, IF_BMI1, IF_BMI2, { Intel ADX (Multi-Precision Add-Carry Instruction Extensions) } @@ -380,7 +496,27 @@ interface IF_PRE, { it's a prefix instruction } IF_PASS2, { if the instruction can change in a second pass } IF_IMM4, { immediate operand is a nibble (must be in range [0..15]) } - IF_IMM3 { immediate operand is a triad (must be in range [0..7]) } + IF_IMM3, { immediate operand is a triad (must be in range [0..7]) } + + { avx512 flags } + IF_BCST2, + IF_BCST4, + IF_BCST8, + IF_BCST16, + IF_T2, { disp8 - tuple - 2 } + IF_T4, { disp8 - tuple - 4 } + IF_T8, { disp8 - tuple - 8 } + IF_T1S, { disp8 - tuple - 1 scalar } + IF_T1F32, + IF_T1F64, + IF_TMDDUP, + IF_TFV, { disp8 - tuple - full vector } + IF_TFVM, { disp8 - tuple - full vector memory } + IF_TQVM, + IF_TMEM128, + IF_THV, + IF_THVM, + IF_TOVM ); tinsflags=set of tinsflag; @@ -389,11 +525,14 @@ interface IF_ARMASK=[IF_AR0,IF_AR1,IF_AR2]; { mask for unsized argument spec } IF_PLEVEL=[IF_8086..IF_NEC]; { mask for processor level } + IF_TUPLEMASK=[IF_T2..IF_TOVM]; { mask for AVX512 disp8-tuples } + + type tinsentry=packed record opcode : tasmop; ops : byte; - optypes : array[0..max_operands-1] of longint; + optypes : array[0..max_operands-1] of int64; code : array[0..maxinfolen] of char; flags : tinsflags; end; @@ -404,6 +543,8 @@ interface function calculatefillbuf(var buf : tfillbuffer;executable : boolean):pchar;override; end; + { taicpu } + taicpu = class(tai_cpu_abstract_sym) opsize : topsize; constructor op_none(op : tasmop); @@ -481,6 +622,7 @@ interface insoffset : longint; LastInsOffset : longint; { need to be public to be reset } inssize : shortint; + EVEXTupleState: TEVEXTupleState; { AVX512 disp8*N } {$ifdef x86_64} rex : byte; {$endif x86_64} @@ -495,6 +637,8 @@ interface procedure write0x67prefix(objdata:TObjData); procedure Swapoperands; function FindInsentry(objdata:TObjData):boolean; + function CheckUseEVEX: boolean; + procedure CheckEVEXTuple(const aInput:toper; aInsEntry: pInsentry; aIsVector128, aIsVector256, aIsVector512, aIsEVEXW1: boolean); end; function is_64_bit_ref(const ref:treference):boolean; @@ -605,7 +749,7 @@ implementation const {$if defined(x86_64)} { Intel style operands ! } - opsize_2_type:array[0..2,topsize] of longint=( + opsize_2_type:array[0..2,topsize] of int64=( (OT_NONE, OT_BITS8,OT_BITS16,OT_BITS32,OT_BITS64,OT_BITS16,OT_BITS32,OT_BITS32,OT_BITS64,OT_BITS64,OT_BITS64, OT_BITS16,OT_BITS32,OT_BITS64, @@ -646,7 +790,7 @@ implementation ); {$elseif defined(i386)} { Intel style operands ! } - opsize_2_type:array[0..2,topsize] of longint=( + opsize_2_type:array[0..2,topsize] of int64=( (OT_NONE, OT_BITS8,OT_BITS16,OT_BITS32,OT_BITS64,OT_BITS16,OT_BITS32,OT_BITS32, OT_BITS16,OT_BITS32,OT_BITS64, @@ -687,7 +831,7 @@ implementation ); {$elseif defined(i8086)} { Intel style operands ! } - opsize_2_type:array[0..2,topsize] of longint=( + opsize_2_type:array[0..2,topsize] of int64=( (OT_NONE, OT_BITS8,OT_BITS16,OT_BITS32,OT_BITS64,OT_BITS16,OT_BITS32,OT_BITS32, OT_BITS16,OT_BITS32,OT_BITS64, @@ -841,6 +985,7 @@ implementation LastInsOffset:=-1; InsOffset:=0; InsSize:=0; + EVEXTupleState := etsUnknown; end; @@ -1084,6 +1229,7 @@ implementation var i : longint; s : string; + regnr: string; addsize : boolean; begin s:='['+std_op2str[opcode]; @@ -1097,11 +1243,20 @@ implementation s:=s+','; { type } addsize:=false; - if (ot and OT_REG_EXTRA_MASK)=OT_XMMREG then - s:=s+'xmmreg' + + regnr := ''; + if getregtype(reg) = R_MMREGISTER then + str(getsupreg(reg),regnr); + + if (ot and OT_XMMREG)=OT_XMMREG then + s:=s+'xmmreg' + regnr else - if (ot and OT_REG_EXTRA_MASK)=OT_YMMREG then - s:=s+'ymmreg' + if (ot and OT_YMMREG)=OT_YMMREG then + s:=s+'ymmreg' + regnr + else + if (ot and OT_ZMMREG)=OT_ZMMREG then + s:=s+'zmmreg' + regnr + else if (ot and OT_REG_EXTRA_MASK)=OT_MMXREG then s:=s+'mmxreg' @@ -1148,12 +1303,46 @@ implementation else if (ot and OT_BITS256)<>0 then s:=s+'256' + else + if (ot and OT_BITS512)<>0 then + s:=s+'512' else s:=s+'??'; { signed } if (ot and OT_SIGNED)<>0 then s:=s+'s'; end; + + if vopext <> 0 then + begin + str(vopext and $07, regnr); + if vopext and OTVE_VECTOR_WRITEMASK = OTVE_VECTOR_WRITEMASK then + s := s + ' {k' + regnr + '}'; + + if vopext and OTVE_VECTOR_ZERO = OTVE_VECTOR_ZERO then + s := s + ' {z}'; + + if vopext and OTVE_VECTOR_SAE = OTVE_VECTOR_SAE then + s := s + ' {sae}'; + + + if vopext and OTVE_VECTOR_BCST = OTVE_VECTOR_BCST then + case vopext and OTVE_VECTOR_BCST_MASK of + OTVE_VECTOR_BCST2: s := s + ' {1to2}'; + OTVE_VECTOR_BCST4: s := s + ' {1to4}'; + OTVE_VECTOR_BCST8: s := s + ' {1to8}'; + OTVE_VECTOR_BCST16: s := s + ' {1to16}'; + end; + + if vopext and OTVE_VECTOR_ER = OTVE_VECTOR_ER then + case vopext and OTVE_VECTOR_ER_MASK of + OTVE_VECTOR_RNSAE: s := s + ' {rn-sae}'; + OTVE_VECTOR_RDSAE: s := s + ' {rd-sae}'; + OTVE_VECTOR_RUSAE: s := s + ' {ru-sae}'; + OTVE_VECTOR_RZSAE: s := s + ' {rz-sae}'; + end; + + end; end; end; GetString:=s+']'; @@ -1314,17 +1503,20 @@ implementation {$endif x86_64} then begin + { create ot field } if (reg_ot_table[findreg_by_number(ref^.base)] and OT_REG_GPR = OT_REG_GPR) and ((reg_ot_table[findreg_by_number(ref^.index)] = OT_XMMREG) or - (reg_ot_table[findreg_by_number(ref^.index)] = OT_YMMREG) + (reg_ot_table[findreg_by_number(ref^.index)] = OT_YMMREG) or + (reg_ot_table[findreg_by_number(ref^.index)] = OT_ZMMREG) ) then // AVX2 - vector-memory-referenz (e.g. vgatherdpd xmm0, [rax xmm1], xmm2) ot := (reg_ot_table[findreg_by_number(ref^.base)] and OT_REG_GPR) or (reg_ot_table[findreg_by_number(ref^.index)]) else if (ref^.base = NR_NO) and ((reg_ot_table[findreg_by_number(ref^.index)] = OT_XMMREG) or - (reg_ot_table[findreg_by_number(ref^.index)] = OT_YMMREG) + (reg_ot_table[findreg_by_number(ref^.index)] = OT_YMMREG) or + (reg_ot_table[findreg_by_number(ref^.index)] = OT_ZMMREG) ) then // AVX2 - vector-memory-referenz without base-register (e.g. vgatherdpd xmm0, [xmm1], xmm2) ot := (OT_REG_GPR) or @@ -1484,9 +1676,10 @@ implementation } var insot, - currot, + currot: int64; i,j,asize,oprs : longint; insflags:tinsflags; + vopext: int64; siz : array[0..max_operands-1] of longint; begin result:=false; @@ -1599,13 +1792,15 @@ implementation begin insot:=p^.optypes[i]; if ((insot and (OT_XMMRM or OT_REG_EXTRA_MASK)) = OT_XMMRM) OR - ((insot and (OT_YMMRM or OT_REG_EXTRA_MASK)) = OT_YMMRM) then + ((insot and (OT_YMMRM or OT_REG_EXTRA_MASK)) = OT_YMMRM) OR + ((insot and (OT_ZMMRM or OT_REG_EXTRA_MASK)) = OT_ZMMRM) then begin if (insot and OT_SIZE_MASK) = 0 then begin - case insot and (OT_XMMRM or OT_YMMRM or OT_REG_EXTRA_MASK) of + case insot and (OT_XMMRM or OT_YMMRM or OT_ZMMRM or OT_REG_EXTRA_MASK) of OT_XMMRM: insot := insot or OT_BITS128; OT_YMMRM: insot := insot or OT_BITS256; + OT_ZMMRM: insot := insot or OT_BITS512; else ; end; @@ -1622,8 +1817,69 @@ implementation ((insot and currot and OT_SIZE_MASK)<>(currot and OT_SIZE_MASK)) then exit; end; + end; + + if (InsTabMemRefSizeInfoCache^[opcode].ExistsSSEAVX) then + begin + for i:=0 to p^.ops-1 do + begin + // check vectoroperand-extention e.g. {k1} {z} + + vopext := 0; + if (oper[i]^.vopext and OTVE_VECTOR_WRITEMASK) = OTVE_VECTOR_WRITEMASK then + begin + vopext := vopext or OT_VECTORMASK; + + if (oper[i]^.vopext and OTVE_VECTOR_ZERO) = OTVE_VECTOR_ZERO then + vopext := vopext or OT_VECTORZERO; + end; + if (oper[i]^.vopext and OTVE_VECTOR_BCST) = OTVE_VECTOR_BCST then + begin + vopext := vopext or OT_VECTORBCST; + + if (InsTabMemRefSizeInfoCache^[opcode].BCSTTypes <> []) then + begin + // any opcodes needs a special handling + + // default broadcast calculation is + // bmem32 + // xmmreg: {1to4} + // ymmreg: {1to8} + // zmmreg: {1to16} + + // bmem64 + // xmmreg: {1to2} + // ymmreg: {1to4} + // zmmreg: {1to8} + + // in any opcodes not exists a mmregister + // e.g. vfpclasspd k1, [RAX] {1to8}, 0 + // =>> check flags + + + case oper[i]^.vopext and (OTVE_VECTOR_BCST2 or OTVE_VECTOR_BCST4 or OTVE_VECTOR_BCST8 or OTVE_VECTOR_BCST16) of + OTVE_VECTOR_BCST2: if not(IF_BCST2 in p^.flags) then exit; + OTVE_VECTOR_BCST4: if not(IF_BCST4 in p^.flags) then exit; + OTVE_VECTOR_BCST8: if not(IF_BCST8 in p^.flags) then exit; + OTVE_VECTOR_BCST16: if not(IF_BCST16 in p^.flags) then exit; + else exit; + end; + end; + + end; + + if (oper[i]^.vopext and OTVE_VECTOR_ER) = OTVE_VECTOR_ER then + vopext := vopext or OT_VECTORER; + + if (oper[i]^.vopext and OTVE_VECTOR_SAE) = OTVE_VECTOR_SAE then + vopext := vopext or OT_VECTORSAE; + + if p^.optypes[i] and vopext <> vopext then + exit; + end; end; + result:=true; end; @@ -1665,12 +1921,14 @@ implementation result:=false; { Things which may only be done once, not when a second pass is done to optimize } + if (Insentry=nil) or (IF_PASS2 in InsEntry^.flags) then begin current_filepos:=fileinfo; { We need intel style operands } SetOperandOrder(op_intel); { create the .ot fields } + create_ot(objdata); { set the file postion } end @@ -1704,6 +1962,211 @@ implementation inssize:=-1; end; + function taicpu.CheckUseEVEX: boolean; + var + i: integer; + begin + result := false; + for i := 0 to ops - 1 do + begin + if (oper[i]^.typ=top_reg) and + (getregtype(oper[i]^.reg) = R_MMREGISTER) then + if getsupreg(oper[i]^.reg)>=16 then + result := true; + + if (oper[i]^.vopext and OTVE_VECTOR_MASK) <> 0 then + result := true; + end; + end; + + procedure taicpu.CheckEVEXTuple(const aInput:toper; aInsEntry: pInsentry; aIsVector128, aIsVector256, aIsVector512, aIsEVEXW1: boolean); + var + i: integer; + tuplesize: integer; + memsize: integer; + begin + if EVEXTupleState = etsUnknown then + begin + EVEXTupleState := etsNotTuple; + + if aInsEntry^.Flags * IF_TUPLEMASK <> [] then + begin + tuplesize := 0; + + if IF_TFV in aInsEntry^.Flags then + begin + for i := 0 to aInsEntry^.ops - 1 do + if (aInsEntry^.optypes[i] and OT_BMEM32 = OT_BMEM32) then + begin + tuplesize := 4; + break; + end + else if (aInsEntry^.optypes[i] and OT_BMEM64 = OT_BMEM64) then + begin + tuplesize := 8; + break; + end + else if (aInsEntry^.optypes[i] and OT_MEMORY = OT_MEMORY) then + begin + if aIsVector512 then tuplesize := 64 + else if aIsVector256 then tuplesize := 32 + else tuplesize := 16; + + break; + end + else if (aInsEntry^.optypes[i] and OT_REGNORM = OT_REGMEM) then + begin + if aIsVector512 then tuplesize := 64 + else if aIsVector256 then tuplesize := 32 + else tuplesize := 16; + + break; + end; + + + end + else if IF_THV in aInsEntry^.Flags then + begin + for i := 0 to aInsEntry^.ops - 1 do + if (aInsEntry^.optypes[i] and OT_BMEM32 = OT_BMEM32) then + begin + tuplesize := 4; + break; + end + else if (aInsEntry^.optypes[i] and OT_REGNORM = OT_REGMEM) then + begin + if aIsVector512 then tuplesize := 32 + else if aIsVector256 then tuplesize := 16 + else tuplesize := 8; + + break; + end + end + else if IF_TFVM in aInsEntry^.Flags then + begin + if aIsVector512 then tuplesize := 64 + else if aIsVector256 then tuplesize := 32 + else tuplesize := 16; + end + else + begin + memsize := 0; + + for i := 0 to aInsEntry^.ops - 1 do + begin + if aInsEntry^.optypes[i] and (OT_REGNORM or OT_MEMORY) = OT_REGMEM then + begin + case aInsEntry^.optypes[i] and (OT_BITS32 or OT_BITS64) of + OT_BITS32: begin + memsize := 32; + break; + end; + OT_BITS64: begin + memsize := 64; + break; + end; + end; + end + else + case aInsEntry^.optypes[i] and (OT_MEM8 or OT_MEM16 or OT_MEM32 or OT_MEM64) of + OT_MEM8: begin + memsize := 8; + break; + end; + OT_MEM16: begin + memsize := 16; + break; + end; + OT_MEM32: begin + memsize := 32; + break; + end; + OT_MEM64: //if aIsEVEXW1 then + begin + memsize := 64; + break; + end; + end; + end; + + if IF_T1S in aInsEntry^.Flags then + begin + case memsize of + 8: tuplesize := 1; + 16: tuplesize := 2; + else if aIsEVEXW1 then tuplesize := 8 + else tuplesize := 4; + end; + end + else if IF_T1F32 in aInsEntry^.Flags then tuplesize := 4 + else if IF_T1F64 in aInsEntry^.Flags then tuplesize := 8 + else if IF_T2 in aInsEntry^.Flags then + begin + case aIsEVEXW1 of + false: tuplesize := 8; + else if aIsVector256 or aIsVector512 then tuplesize := 16; + end; + end + else if IF_T4 in aInsEntry^.Flags then + begin + case aIsEVEXW1 of + false: if aIsVector256 or aIsVector512 then tuplesize := 16; + else if aIsVector512 then tuplesize := 32; + end; + end + else if IF_T8 in aInsEntry^.Flags then + begin + case aIsEVEXW1 of + false: if aIsVector512 then tuplesize := 32; + else + Internalerror(2019081003); + end; + end + else if IF_THVM in aInsEntry^.Flags then + begin + tuplesize := 8; // default 128bit-vectorlength + if aIsVector256 then tuplesize := 16 + else if aIsVector512 then tuplesize := 32; + end + else if IF_TQVM in aInsEntry^.Flags then + begin + tuplesize := 4; // default 128bit-vectorlength + if aIsVector256 then tuplesize := 8 + else if aIsVector512 then tuplesize := 16; + end + else if IF_TOVM in aInsEntry^.Flags then + begin + tuplesize := 2; // default 128bit-vectorlength + if aIsVector256 then tuplesize := 4 + else if aIsVector512 then tuplesize := 8; + end + else if IF_TMEM128 in aInsEntry^.Flags then tuplesize := 16 + else if IF_TMDDUP in aInsEntry^.Flags then + begin + tuplesize := 8; // default 128bit-vectorlength + if aIsVector256 then tuplesize := 32 + else if aIsVector512 then tuplesize := 64; + end; + end;; + + if tuplesize > 0 then + begin + if aInput.typ = top_ref then + begin + if (aInput.ref^.offset <> 0) and + ((aInput.ref^.offset mod tuplesize) = 0) and + (abs(aInput.ref^.offset) div tuplesize <= 127) then + begin + aInput.ref^.offset := aInput.ref^.offset div tuplesize; + EVEXTupleState := etsIsTuple; + end; + end; + end; + end; + end; + end; + + function taicpu.Pass1(objdata:TObjData):longint; begin @@ -1718,6 +2181,7 @@ implementation { Get InsEntry } if FindInsEntry(ObjData) then begin + { Calculate instruction size } InsSize:=calcsize(insentry); if segprefix<>NR_NO then @@ -1944,7 +2408,7 @@ implementation end; - function taicpu.needaddrprefix(opidx:byte):boolean; + function taicpu.NeedAddrPrefix(opidx: byte): boolean; begin {$if defined(x86_64)} result:=(oper[opidx]^.typ=top_ref) and is_32_bit_ref(oper[opidx]^.ref^); @@ -1981,9 +2445,9 @@ implementation (0, 1, 2, 3, 6, 7, 5, 4); maxsupreg: array[tregistertype] of tsuperregister= {$ifdef x86_64} - (0, 16, 9, 8, 16, 32, 0, 0); + (0, 16, 9, 8, 32, 32, 8, 0); {$else x86_64} - (0, 8, 9, 8, 8, 32, 0, 0); + (0, 8, 9, 8, 8, 32, 8, 0); {$endif x86_64} var rs: tsuperregister; @@ -1991,8 +2455,10 @@ implementation begin rs:=getsupreg(r); rt:=getregtype(r); + if (rs>=maxsupreg[rt]) then - badreg(r); + badreg(r); + result:=rs and 7; if (rt=R_INTREGISTER) then begin @@ -2022,14 +2488,20 @@ implementation AH/BH/CH/DH } result:=result or $80; R_MMREGISTER: - if getsupreg(r)>=RS_XMM8 then + //if getsupreg(r)>=RS_XMM8 then + // AVX512 = 32 register + // rexbit = 0 => MMRegister 0..7 or 16..23 + // rexbit = 1 => MMRegister 8..15 or 24..31 + if (getsupreg(r) and $08) = $08 then result:=result or $47; else ; end; end; - function process_ea_ref_64_32(const input:toper;var output:ea;rfield:longint):boolean; + + + function process_ea_ref_64_32(const input:toper;var output:ea;rfield:longint; uselargeoffset: boolean):boolean; var sym : tasmsymbol; md,s : byte; @@ -2073,7 +2545,7 @@ implementation begin { 16 bit? } - if ((ir<>NR_NO) and (isub in [R_SUBMMX,R_SUBMMY]) and + if ((ir<>NR_NO) and (isub in [R_SUBMMX,R_SUBMMY,R_SUBMMZ]) and (br<>NR_NO) and (bsub=R_SUBQ) ) then begin @@ -2139,64 +2611,128 @@ implementation NR_RAX, NR_XMM0, NR_XMM8, + NR_XMM16, + NR_XMM24, NR_YMM0, - NR_YMM8 : index:=0; + NR_YMM8, + NR_YMM16, + NR_YMM24, + NR_ZMM0, + NR_ZMM8, + NR_ZMM16, + NR_ZMM24: index:=0; NR_R9D, NR_ECX, NR_R9, NR_RCX, NR_XMM1, NR_XMM9, + NR_XMM17, + NR_XMM25, NR_YMM1, - NR_YMM9 : index:=1; + NR_YMM9, + NR_YMM17, + NR_YMM25, + NR_ZMM1, + NR_ZMM9, + NR_ZMM17, + NR_ZMM25: index:=1; NR_R10D, NR_EDX, NR_R10, NR_RDX, NR_XMM2, NR_XMM10, + NR_XMM18, + NR_XMM26, NR_YMM2, - NR_YMM10 : index:=2; + NR_YMM10, + NR_YMM18, + NR_YMM26, + NR_ZMM2, + NR_ZMM10, + NR_ZMM18, + NR_ZMM26: index:=2; NR_R11D, NR_EBX, NR_R11, NR_RBX, NR_XMM3, NR_XMM11, + NR_XMM19, + NR_XMM27, NR_YMM3, - NR_YMM11 : index:=3; + NR_YMM11, + NR_YMM19, + NR_YMM27, + NR_ZMM3, + NR_ZMM11, + NR_ZMM19, + NR_ZMM27: index:=3; NR_R12D, NR_ESP, NR_R12, NR_NO, NR_XMM4, NR_XMM12, + NR_XMM20, + NR_XMM28, NR_YMM4, - NR_YMM12 : index:=4; + NR_YMM12, + NR_YMM20, + NR_YMM28, + NR_ZMM4, + NR_ZMM12, + NR_ZMM20, + NR_ZMM28: index:=4; NR_R13D, NR_EBP, NR_R13, NR_RBP, NR_XMM5, NR_XMM13, + NR_XMM21, + NR_XMM29, NR_YMM5, - NR_YMM13: index:=5; + NR_YMM13, + NR_YMM21, + NR_YMM29, + NR_ZMM5, + NR_ZMM13, + NR_ZMM21, + NR_ZMM29: index:=5; NR_R14D, NR_ESI, NR_R14, NR_RSI, NR_XMM6, NR_XMM14, + NR_XMM22, + NR_XMM30, NR_YMM6, - NR_YMM14: index:=6; + NR_YMM14, + NR_YMM22, + NR_YMM30, + NR_ZMM6, + NR_ZMM14, + NR_ZMM22, + NR_ZMM30: index:=6; NR_R15D, NR_EDI, NR_R15, NR_RDI, NR_XMM7, NR_XMM15, + NR_XMM23, + NR_XMM31, NR_YMM7, - NR_YMM15: index:=7; + NR_YMM15, + NR_YMM23, + NR_YMM31, + NR_ZMM7, + NR_ZMM15, + NR_ZMM23, + NR_ZMM31: index:=7; else exit; end; @@ -2214,7 +2750,7 @@ implementation ((br<>NR_RBP) and (br<>NR_R13) and (br<>NR_EBP) and (br<>NR_R13D) and (o=0) and (sym=nil)) then md:=0 else - if ((o>=-128) and (o<=127) and (sym=nil)) then + if ((o>=-128) and (o<=127) and (sym=nil) and (not(uselargeoffset) or (o = 0))) then md:=1 else md:=2; @@ -2242,7 +2778,7 @@ implementation {$elseif defined(i386) or defined(i8086)} - function process_ea_ref_32(const input:toper;out output:ea;rfield:longint):boolean; + function process_ea_ref_32(const input:toper;out output:ea;rfield:longint; uselargeoffset: boolean):boolean; var sym : tasmsymbol; md,s : byte; @@ -2278,7 +2814,7 @@ implementation begin { 16 bit address? } - if ((ir<>NR_NO) and (isub in [R_SUBMMX,R_SUBMMY]) and + if ((ir<>NR_NO) and (isub in [R_SUBMMX,R_SUBMMY,R_SUBMMZ]) and (br<>NR_NO) and (bsub=R_SUBD) ) then begin @@ -2330,28 +2866,36 @@ implementation case ir of NR_EAX, NR_XMM0, - NR_YMM0: index:=0; + NR_YMM0, + NR_ZMM0: index:=0; NR_ECX, NR_XMM1, - NR_YMM1: index:=1; + NR_YMM1, + NR_ZMM1: index:=1; NR_EDX, NR_XMM2, - NR_YMM2: index:=2; + NR_YMM2, + NR_ZMM2: index:=2; NR_EBX, NR_XMM3, - NR_YMM3: index:=3; + NR_YMM3, + NR_ZMM3: index:=3; NR_NO, NR_XMM4, - NR_YMM4: index:=4; + NR_YMM4, + NR_ZMM4: index:=4; NR_EBP, NR_XMM5, - NR_YMM5: index:=5; + NR_YMM5, + NR_ZMM5: index:=5; NR_ESI, NR_XMM6, - NR_YMM6: index:=6; + NR_YMM6, + NR_ZMM6: index:=6; NR_EDI, NR_XMM7, - NR_YMM7: index:=7; + NR_YMM7, + NR_ZMM7: index:=7; else exit; end; @@ -2368,7 +2912,7 @@ implementation ((br<>NR_EBP) and (o=0) and (sym=nil)) then md:=0 else - if ((o>=-128) and (o<=127) and (sym=nil)) then + if ((o>=-128) and (o<=127) and (sym=nil) and (not(uselargeoffset) or (o = 0))) then md:=1 else md:=2; @@ -2409,7 +2953,7 @@ implementation end; end; - function process_ea_ref_16(const input:toper;out output:ea;rfield:longint):boolean; + function process_ea_ref_16(const input:toper;out output:ea;rfield:longint; uselargeoffset: boolean):boolean; var sym : tasmsymbol; md,s : byte; @@ -2470,7 +3014,7 @@ implementation exit; if (base<>6) and (o=0) and (sym=nil) then md:=0 - else if ((o>=-128) and (o<=127) and (sym=nil)) then + else if ((o>=-128) and (o<=127) and (sym=nil) and (not(uselargeoffset) or (o = 0))) then md:=1 else md:=2; @@ -2483,7 +3027,7 @@ implementation end; {$endif} - function process_ea(const input:toper;out output:ea;rfield:longint):boolean; + function process_ea(const input:toper;out output:ea;rfield:longint; uselargeoffset: boolean):boolean; var rv : byte; begin @@ -2505,12 +3049,12 @@ implementation if input.typ<>top_ref then internalerror(200409263); {$if defined(x86_64)} - result:=process_ea_ref_64_32(input,output,rfield); + result:=process_ea_ref_64_32(input,output,rfield, uselargeoffset); {$elseif defined(i386) or defined(i8086)} if is_16_bit_ref(input.ref^) then - result:=process_ea_ref_16(input,output,rfield) + result:=process_ea_ref_16(input,output,rfield, uselargeoffset) else - result:=process_ea_ref_32(input,output,rfield); + result:=process_ea_ref_32(input,output,rfield, uselargeoffset); {$endif} end; @@ -2519,23 +3063,41 @@ implementation codes : pchar; c : byte; len : shortint; + len_ea_data: shortint; + len_ea_data_evex: shortint; + mref_offset: asizeint; ea_data : ea; + exists_evex: boolean; exists_vex: boolean; exists_vex_extension: boolean; exists_prefix_66: boolean; exists_prefix_F2: boolean; exists_prefix_F3: boolean; + exists_l256: boolean; + exists_l512: boolean; + exists_EVEXW1: boolean; + pmref_operand: poper; {$ifdef x86_64} omit_rexw : boolean; {$endif x86_64} begin + len:=0; + len_ea_data := 0; + len_ea_data_evex:= 0; + mref_offset := 0; + pmref_operand := nil; + codes:=@p^.code[0]; exists_vex := false; exists_vex_extension := false; exists_prefix_66 := false; exists_prefix_F2 := false; exists_prefix_F3 := false; + exists_evex := false; + exists_l256 := false; + exists_l512 := false; + exists_EVEXW1 := false; {$ifdef x86_64} rex:=0; omit_rexw:=false; @@ -2692,34 +3254,53 @@ implementation end; {$endif x86_64} - if not process_ea(oper[(c shr 3) and 7]^, ea_data, 0) then - Message(asmw_e_invalid_effective_address) - else - inc(len,ea_data.size); + if (oper[(c shr 3) and 7]^.typ = top_ref) and + (oper[(c shr 3) and 7]^.ref^.offset <> 0) then + begin + if (exists_vex and exists_evex and CheckUseEVEX) or + (not(exists_vex) and exists_evex) then + begin + CheckEVEXTuple(oper[(c shr 3) and 7]^, p, not(exists_l256 or exists_l512), exists_l256, exists_l512, exists_EVEXW1); + //const aInput:toper; aInsEntry: pInsentry; aIsVector128, aIsVector256, aIsVector512, aIsEVEXW1: boolean); + end; + end; + + if process_ea(oper[(c shr 3) and 7]^, ea_data, 0, EVEXTupleState = etsNotTuple) then + inc(len,ea_data.size) + else Message(asmw_e_invalid_effective_address); + {$ifdef x86_64} rex:=rex or ea_data.rex; {$endif x86_64} end; + &350: + begin + exists_evex := true; + end; + &351: exists_l512 := true; // EVEX length bit 512 + &352: exists_EVEXW1 := true; // EVEX W1 &362: // VEX prefix for AVX (length = 2 or 3 bytes, dependens on REX.XBW or opcode-prefix ($0F38 or $0F3A)) // =>> DEFAULT = 2 Bytes begin - if not(exists_vex) then - begin - inc(len, 2); - exists_vex := true; - end; + //if not(exists_vex) then + //begin + // inc(len, 2); + //end; + + exists_vex := true; end; &363: // REX.W = 1 // =>> VEX prefix length = 3 begin if not(exists_vex_extension) then begin - inc(len); + //inc(len); exists_vex_extension := true; end; end; - &364: ; // VEX length bit + &364: exists_l256 := true; // VEX length bit 256 + &366, // operand 2 (ymmreg) encoded immediate byte (bit 4-7) &367: inc(len); // operand 3 (ymmreg) encoded immediate byte (bit 4-7) &370: // VEX-Extension prefix $0F @@ -2730,7 +3311,7 @@ implementation begin if not(exists_vex_extension) then begin - inc(len); + //inc(len); exists_vex_extension := true; end; end; @@ -2756,22 +3337,60 @@ implementation else rex:=rex and $F7; end; - if not(exists_vex) then + if not(exists_vex or exists_evex) then begin if rex<>0 then Inc(len); end; {$endif} - if exists_vex then + if exists_evex and + exists_vex then + begin + if CheckUseEVEX then + begin + inc(len, 4); + end + else + begin + inc(len, 2); + if exists_vex_extension then inc(len); + + {$ifdef x86_64} + if not(exists_vex_extension) then + if rex and $0B <> 0 then inc(len); // REX.WXB <> 0 =>> needed VEX-Extension + {$endif x86_64} + end; + + if exists_prefix_66 then dec(len); + if exists_prefix_F2 then dec(len); + if exists_prefix_F3 then dec(len); + + end + else if exists_evex then begin + inc(len, 4); + if exists_prefix_66 then dec(len); if exists_prefix_F2 then dec(len); if exists_prefix_F3 then dec(len); + end + else + begin + if exists_vex then + begin + inc(len,2); + + if exists_prefix_66 then dec(len); + if exists_prefix_F2 then dec(len); + if exists_prefix_F3 then dec(len); - {$ifdef x86_64} - if not(exists_vex_extension) then - if rex and $0B <> 0 then inc(len); // REX.WXB <> 0 =>> needed VEX-Extension - {$endif x86_64} + if exists_vex_extension then inc(len); + {$ifdef x86_64} + if not(exists_vex_extension) then + if rex and $0B <> 0 then inc(len); // REX.WXB <> 0 =>> needed VEX-Extension + {$endif x86_64} + + end; end; calcsize:=len; @@ -2802,7 +3421,7 @@ implementation end; - procedure taicpu.GenCode(objdata:TObjData); + procedure taicpu.gencode(objdata: TObjData); { * the actual codes (C syntax, i.e. octal): * \0 - terminates the code. (Unless it's a literal of course.) @@ -2859,18 +3478,25 @@ implementation * \333 - 0xF3 prefix for SSE instructions * \334 - 0xF2 prefix for SSE instructions * \335 - Indicates 64-bit operand size with REX.W not necessary + + * \350 - EVEX prefix for AVX instructions + * \351 - EVEX Vector length 512 + * \352 - EVEX W1 + * \361 - 0x66 prefix for SSE instructions * \362 - VEX prefix for AVX instructions * \363 - VEX W1 * \364 - VEX Vector length 256 - * \366 - operand 2 (ymmreg) encoded in bit 4-7 of the immediate byte - * \367 - operand 3 (ymmreg) encoded in bit 4-7 of the immediate byte + + * \366 - operand 2 (ymmreg,zmmreg) encoded in bit 4-7 of the immediate byte + * \367 - operand 3 (ymmreg,zmmreg) encoded in bit 4-7 of the immediate byte * \370 - VEX 0F-FLAG * \371 - VEX 0F38-FLAG * \372 - VEX 0F3A-FLAG + } var @@ -3003,6 +3629,7 @@ implementation $3, $7, $3, $5, $E, $C, $D, $F, $1, $B, $9, $5, $0, $A, $A, $B, $8, $4); var + i: integer; c : byte; pb : pbyte; codes : pchar; @@ -3013,13 +3640,34 @@ implementation relsym : TObjSymbol; needed_VEX_Extension: boolean; needed_VEX: boolean; + needed_EVEX: boolean; + needed_VSIB: boolean; opmode: integer; VEXvvvv: byte; VEXmmmmm: byte; + VEXw : byte; + VEXpp : byte; + VEXll : byte; + EVEXvvvv: byte; + EVEXpp: byte; + EVEXr: byte; + EVEXx: byte; + EVEXv: byte; + EVEXll: byte; + EVEXw0: byte; + EVEXw1: byte; + EVEXz : byte; + EVEXaaa : byte; + EVEXb : byte; + EVEXmm : byte; + begin { safety check } + if objdata.currobjsec.size<>longword(insoffset) then - internalerror(200130121); + begin + internalerror(200130121); + end; { those variables are initialized inside local procedures, the dfa cannot handle this yet } currsym:=nil; @@ -3099,11 +3747,30 @@ implementation // needed VEX Prefix (for AVX etc.) - needed_VEX := false; + needed_VEX := false; + needed_EVEX := false; needed_VEX_Extension := false; + needed_VSIB := false; opmode := -1; VEXvvvv := 0; VEXmmmmm := 0; + + VEXll := 0; + VEXw := 0; + VEXpp := 0; + EVEXpp := 0; + EVEXvvvv := 0; + EVEXr := 0; + EVEXx := 0; + EVEXv := 0; + EVEXll := 0; + EVEXw0 := 0; + EVEXw1 := 0; + EVEXz := 0; + EVEXaaa := 0; + EVEXb := 0; + EVEXmm := 0; + repeat c:=ord(codes^); inc(codes); @@ -3113,32 +3780,110 @@ implementation &1, &2, &3: inc(codes,c); + &10, + &11, + &12: inc(codes, 1); &74: opmode := 0; &75: opmode := 1; &76: opmode := 2; - &333: VEXvvvv := VEXvvvv OR $02; // set SIMD-prefix $F3 - &334: VEXvvvv := VEXvvvv OR $03; // set SIMD-prefix $F2 - &361: VEXvvvv := VEXvvvv OR $01; // set SIMD-prefix $66 + &100..&227: begin + // AVX 512 - EVEX + // check operands + + if (c shr 6) = 1 then + begin + opidx := c and 7; + if ops > opidx then + begin + if (oper[opidx]^.typ=top_reg) then + if getsupreg(oper[opidx]^.reg) and $10 = $0 then EVEXr := 1; + end + end + else EVEXr := 1; // modrm:reg not used =>> 1 + + opidx := (c shr 3) and 7; + if ops > opidx then + case oper[opidx]^.typ of + top_reg: if getsupreg(oper[opidx]^.reg) and $10 = $0 then EVEXx := 1; + top_ref: begin + if getsupreg(oper[opidx]^.ref^.index) and $08 = $0 then EVEXx := 1; + if getsubreg(oper[opidx]^.ref^.index) in [R_SUBMMX,R_SUBMMY,R_SUBMMZ] then + begin + // VSIB memory addresing + if getsupreg(oper[opidx]^.ref^.index) and $10 = $0 then EVEXv := 1; // VECTOR-Index + needed_VSIB := true; + end; + end; + else + Internalerror(2019081004); + end; + + + end; + &333: begin + VEXvvvv := VEXvvvv OR $02; // set SIMD-prefix $F3 + VEXpp := $02; // set SIMD-prefix $F3 + EVEXpp := $02; // set SIMD-prefix $F3 + end; + &334: begin + VEXvvvv := VEXvvvv OR $03; // set SIMD-prefix $F2 + VEXpp := $03; // set SIMD-prefix $F2 + EVEXpp := $03; // set SIMD-prefix $F2 + end; + &350: needed_EVEX := true; // AVX512 instruction or AVX128/256/512-instruction (depended on operands [x,y,z]mm16..) + &351: EVEXll := $02; // vectorlength = 512 bits AND no scalar + &352: EVEXw1 := $01; + &361: begin + VEXvvvv := VEXvvvv OR $01; // set SIMD-prefix $66 + VEXpp := $01; // set SIMD-prefix $66 + EVEXpp := $01; // set SIMD-prefix $66 + end; &362: needed_VEX := true; &363: begin needed_VEX_Extension := true; VEXvvvv := VEXvvvv OR (1 shl 7); // set REX.W + VEXw := 1; + end; + &364: begin + VEXvvvv := VEXvvvv OR $04; // vectorlength = 256 bits AND no scalar + VEXll := $01; + EVEXll := $01; + end; + &366, + &367: begin + opidx:=c-&364; { 0366->operand 2, 0367->operand 3 } + if (ops > opidx) and + (oper[opidx]^.typ=top_reg) and + ((oper[opidx]^.ot and OT_REG_EXTRA_MASK = otf_reg_xmm) or + (oper[opidx]^.ot and OT_REG_EXTRA_MASK = otf_reg_ymm) or + (oper[opidx]^.ot and OT_REG_EXTRA_MASK = otf_reg_zmm)) then + if (getsupreg(oper[opidx]^.reg) and $10 = $0) then EVEXx := 1; + end; + &370: begin + VEXmmmmm := VEXmmmmm OR $01; // set leading opcode byte $0F + EVEXmm := $01; end; - &364: VEXvvvv := VEXvvvv OR $04; // vectorlength = 256 bits AND no scalar - &370: VEXmmmmm := VEXmmmmm OR $01; // set leading opcode byte $0F &371: begin needed_VEX_Extension := true; VEXmmmmm := VEXmmmmm OR $02; // set leading opcode byte $0F38 + EVEXmm := $02; end; &372: begin needed_VEX_Extension := true; VEXmmmmm := VEXmmmmm OR $03; // set leading opcode byte $0F3A + EVEXmm := $03; end; end; until false; - if needed_VEX then + {$ifndef x86_64} + EVEXv := 1; + EVEXx := 1; + EVEXr := 1; + {$endif} + + if needed_VEX or needed_EVEX then begin if (opmode > ops) or (opmode < -1) then @@ -3147,16 +3892,25 @@ implementation end else if opmode = -1 then begin - VEXvvvv := VEXvvvv or ($0F shl 3); // set VEXvvvv bits (bits 6-3) to 1 + VEXvvvv := VEXvvvv or ($0F shl 3); // set VEXvvvv bits (bits 6-3) to 1 + EVEXvvvv := $0F; + {$ifdef x86_64} + if not(needed_vsib) then EVEXv := 1; + {$endif x86_64} end else if oper[opmode]^.typ = top_reg then begin - VEXvvvv := VEXvvvv or ((not(regval(oper[opmode]^.reg)) and $07) shl 3); + VEXvvvv := VEXvvvv or ((not(regval(oper[opmode]^.reg)) and $07) shl 3); + EVEXvvvv := not(regval(oper[opmode]^.reg)) and $07; {$ifdef x86_64} if rexbits(oper[opmode]^.reg) = 0 then VEXvvvv := VEXvvvv or (1 shl 6); + + if rexbits(oper[opmode]^.reg) = 0 then EVEXvvvv := EVEXvvvv or (1 shl 3); + if getsupreg(oper[opmode]^.reg) and $10 = 0 then EVEXv := 1; {$else} VEXvvvv := VEXvvvv or (1 shl 6); + EVEXvvvv := EVEXvvvv or (1 shl 3); {$endif x86_64} end else Internalerror(777101); @@ -3168,7 +3922,90 @@ implementation {$endif x86_64} end; - if needed_VEX_Extension then + //TG + if needed_EVEX and needed_VEX then + begin + needed_EVEX := false; + + + if CheckUseEVEX then + begin + // EVEX-Flags r,v,x indicate extended-MMregister + // Flag = 0 =>> [x,y,z]mm16..[x,y,z]mm31 + // Flag = 1 =>> [x,y,z]mm00..[x,y,z]mm15 + + needed_EVEX := true; + + needed_VEX := false; + needed_VEX_Extension := false; + end; + end; + + if needed_EVEX then + begin + EVEXaaa:= 0; + EVEXz := 0; + + for i := 0 to ops - 1 do + if (oper[i]^.vopext and OTVE_VECTOR_MASK) <> 0 then + begin + if oper[i]^.vopext and OTVE_VECTOR_WRITEMASK = OTVE_VECTOR_WRITEMASK then + begin + EVEXaaa := oper[i]^.vopext and $07; + if oper[i]^.vopext and OTVE_VECTOR_ZERO = OTVE_VECTOR_ZERO then EVEXz := 1; + end; + + if oper[i]^.vopext and OTVE_VECTOR_BCST = OTVE_VECTOR_BCST then + begin + EVEXb := 1; + end; + + // flag EVEXb is multiple use (broadcast, sae and er) + if oper[i]^.vopext and OTVE_VECTOR_SAE = OTVE_VECTOR_SAE then + begin + EVEXb := 1; + end; + + if oper[i]^.vopext and OTVE_VECTOR_ER = OTVE_VECTOR_ER then + begin + EVEXb := 1; + + case oper[i]^.vopext and OTVE_VECTOR_ER_MASK of + OTVE_VECTOR_RNSAE: EVEXll := 0; + OTVE_VECTOR_RDSAE: EVEXll := 1; + OTVE_VECTOR_RUSAE: EVEXll := 2; + OTVE_VECTOR_RZSAE: EVEXll := 3; + else EVEXll := 0; + end; + end; + end; + + + bytes[0] := $62; + + bytes[1] := ((EVEXmm and $03) shl 0) or + {$ifdef x86_64} + ((not(rex) and $05) shl 5) or + {$else} + (($05) shl 5) or + {$endif x86_64} + ((EVEXr and $01) shl 4) or + ((EVEXx and $01) shl 6); + + bytes[2] := ((EVEXpp and $03) shl 0) or + ((1 and $01) shl 2) or // fixed in AVX512 + ((EVEXvvvv and $0F) shl 3) or + ((EVEXw1 and $01) shl 7); + + bytes[3] := ((EVEXaaa and $07) shl 0) or + ((EVEXv and $01) shl 3) or + ((EVEXb and $01) shl 4) or + ((EVEXll and $03) shl 5) or + ((EVEXz and $01) shl 7); + + objdata.writebytes(bytes,4); + end + else if needed_VEX_Extension then begin // VEX-Prefix-Length = 3 Bytes {$ifdef x86_64} @@ -3204,9 +4041,24 @@ implementation opmode := -1; end; + if not(needed_EVEX) then + begin + for opidx := 0 to ops - 1 do + begin + if ops > opidx then + if (oper[opidx]^.typ=top_reg) and + (getregtype(oper[opidx]^.reg) = R_MMREGISTER) then + if getsupreg(oper[opidx]^.reg) and $10 = $10 then + begin + Message1(asmw_e_invalid_opcode_and_operands,GetString); + break; + end; + //badreg(oper[opidx]^.reg); + end; + end; + { load data to write } codes:=insentry^.code; - repeat c:=ord(codes^); inc(codes); @@ -3216,7 +4068,7 @@ implementation &1,&2,&3 : begin {$ifdef x86_64} - if not(needed_VEX) then // TG + if not(needed_VEX or needed_EVEX) then // TG maybewriterex; {$endif x86_64} objdata.writebytes(codes^,c); @@ -3258,7 +4110,7 @@ implementation &10,&11,&12 : begin {$ifdef x86_64} - if not(needed_VEX) then // TG + if not(needed_VEX or needed_EVEX) then // TG maybewriterex; {$endif x86_64} bytes[0]:=ord(codes^)+regval(oper[c-&10]^.reg); @@ -3515,7 +4367,7 @@ implementation &361: begin {$ifndef i8086} - if not(needed_VEX) then + if not(needed_VEX or needed_EVEX) then write0x66prefix(objdata); {$endif not i8086} end; @@ -3527,7 +4379,7 @@ implementation end; &333 : begin - if not(needed_VEX) then + if not(needed_VEX or needed_EVEX) then begin bytes[0]:=$f3; objdata.writebytes(bytes,1); @@ -3535,7 +4387,7 @@ implementation end; &334 : begin - if not(needed_VEX) then + if not(needed_VEX or needed_EVEX) then begin bytes[0]:=$f2; objdata.writebytes(bytes,1); @@ -3554,11 +4406,14 @@ implementation &366, &367: begin opidx:=c-&364; { 0366->operand 2, 0367->operand 3 } - if needed_VEX and + if (needed_VEX or needed_EVEX) and (ops=4) and (oper[opidx]^.typ=top_reg) and - ((oper[opidx]^.ot and OT_REG_EXTRA_MASK)=otf_reg_xmm) or - ((oper[opidx]^.ot and OT_REG_EXTRA_MASK)=otf_reg_ymm) then + ( + ((oper[opidx]^.ot and OT_REG_EXTRA_MASK)=otf_reg_xmm) or + ((oper[opidx]^.ot and OT_REG_EXTRA_MASK)=otf_reg_ymm) or + ((oper[opidx]^.ot and OT_REG_EXTRA_MASK)=otf_reg_zmm) + ) then begin bytes[0] := ((getsupreg(oper[opidx]^.reg) and 15) shl 4); objdata.writebytes(bytes,1); @@ -3566,6 +4421,7 @@ implementation else Internalerror(2014032001); end; + &350..&352: ; // EVEX flags =>> nothing todo &370..&372: ; // VEX flags =>> nothing todo &37: begin @@ -3582,7 +4438,7 @@ implementation begin { rex should be written at this point } {$ifdef x86_64} - if not(needed_VEX) then // TG + if not(needed_VEX or needed_EVEX) then // TG if (rex<>0) and not(rexwritten) then internalerror(200603191); {$endif x86_64} @@ -3598,8 +4454,10 @@ implementation else rfield:=c and 7; opidx:=(c shr 3) and 7; - if not process_ea(oper[opidx]^,ea_data,rfield) then - Message(asmw_e_invalid_effective_address); + + if not process_ea(oper[opidx]^,ea_data,rfield, EVEXTupleState = etsNotTuple) then + Message(asmw_e_invalid_effective_address); + pb:=@bytes[0]; pb^:=ea_data.modrm; @@ -3975,6 +4833,9 @@ implementation AsmOp: TasmOp; i,j: longint; insentry : PInsEntry; + codes : pchar; + c : byte; + MRefInfo: TMemRefSizeInfo; SConstInfo: TConstSizeInfo; actRegSize: int64; @@ -3993,6 +4854,17 @@ implementation RegMMXSizeMask: int64; RegXMMSizeMask: int64; RegYMMSizeMask: int64; + RegZMMSizeMask: int64; + + RegMMXConstSizeMask: int64; + RegXMMConstSizeMask: int64; + RegYMMConstSizeMask: int64; + RegZMMConstSizeMask: int64; + + RegBCSTSizeMask: int64; + RegBCSTXMMSizeMask: int64; + RegBCSTYMMSizeMask: int64; + RegBCSTZMMSizeMask: int64; bitcount: integer; @@ -4023,14 +4895,28 @@ implementation if i >= 0 then begin - InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiUnkown; - InsTabMemRefSizeInfoCache^[AsmOp].ConstSize := csiUnkown; - InsTabMemRefSizeInfoCache^[AsmOp].ExistsSSEAVX := false; + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiUnkown; + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSizeBCST := msbUnknown; + InsTabMemRefSizeInfoCache^[AsmOp].BCSTXMMMultiplicator := 0; + InsTabMemRefSizeInfoCache^[AsmOp].ConstSize := csiUnkown; + InsTabMemRefSizeInfoCache^[AsmOp].ExistsSSEAVX := false; + InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes := []; insentry:=@instab[i]; RegMMXSizeMask := 0; RegXMMSizeMask := 0; RegYMMSizeMask := 0; + RegZMMSizeMask := 0; + + RegMMXConstSizeMask := 0; + RegXMMConstSizeMask := 0; + RegYMMConstSizeMask := 0; + RegZMMConstSizeMask := 0; + + RegBCSTSizeMask:= 0; + RegBCSTXMMSizeMask := 0; + RegBCSTYMMSizeMask := 0; + RegBCSTZMMSizeMask := 0; while (insentry^.opcode=AsmOp) do begin @@ -4056,15 +4942,19 @@ implementation if ((insentry^.optypes[j] and OT_XMEM32) = OT_XMEM32) OR ((insentry^.optypes[j] and OT_XMEM64) = OT_XMEM64) OR ((insentry^.optypes[j] and OT_YMEM32) = OT_YMEM32) OR - ((insentry^.optypes[j] and OT_YMEM64) = OT_YMEM64) then + ((insentry^.optypes[j] and OT_YMEM64) = OT_YMEM64) OR + ((insentry^.optypes[j] and OT_ZMEM32) = OT_ZMEM32) OR + ((insentry^.optypes[j] and OT_ZMEM64) = OT_ZMEM64) then begin inc(actVMemCount); - case insentry^.optypes[j] and (OT_XMEM32 OR OT_XMEM64 OR OT_YMEM32 OR OT_YMEM64) of + case insentry^.optypes[j] and (OT_XMEM32 OR OT_XMEM64 OR OT_YMEM32 OR OT_YMEM64 OR OT_ZMEM32 OR OT_ZMEM64) of OT_XMEM32: actVMemTypes := actVMemTypes or OT_XMEM32; OT_XMEM64: actVMemTypes := actVMemTypes or OT_XMEM64; OT_YMEM32: actVMemTypes := actVMemTypes or OT_YMEM32; OT_YMEM64: actVMemTypes := actVMemTypes or OT_YMEM64; + OT_ZMEM32: actVMemTypes := actVMemTypes or OT_ZMEM32; + OT_ZMEM64: actVMemTypes := actVMemTypes or OT_ZMEM64; else InternalError(777206); end; end @@ -4075,7 +4965,7 @@ implementation NewRegSize := (insentry^.optypes[j] and OT_SIZE_MASK); if NewRegSize = 0 then begin - case insentry^.optypes[j] and (OT_MMXREG or OT_XMMREG or OT_YMMREG or OT_REG_EXTRA_MASK) of + case insentry^.optypes[j] and (OT_MMXREG or OT_XMMREG or OT_YMMREG or OT_ZMMREG or OT_KREG or OT_REG_EXTRA_MASK) of OT_MMXREG: begin NewRegSize := OT_BITS64; end; @@ -4087,18 +4977,26 @@ implementation NewRegSize := OT_BITS256; InsTabMemRefSizeInfoCache^[AsmOp].ExistsSSEAVX := true; end; + OT_ZMMREG: begin + NewRegSize := OT_BITS512; + InsTabMemRefSizeInfoCache^[AsmOp].ExistsSSEAVX := true; + end; + OT_KREG: begin + InsTabMemRefSizeInfoCache^[AsmOp].ExistsSSEAVX := true; + end; + else NewRegSize := not(0); end; end; actRegSize := actRegSize or NewRegSize; - actRegTypes := actRegTypes or (insentry^.optypes[j] and (OT_MMXREG or OT_XMMREG or OT_YMMREG or OT_REG_EXTRA_MASK)); + actRegTypes := actRegTypes or (insentry^.optypes[j] and (OT_MMXREG or OT_XMMREG or OT_YMMREG or OT_ZMMREG or OT_KREG or OT_REG_EXTRA_MASK)); end else if ((insentry^.optypes[j] and OT_MEMORY) <> 0) then begin inc(actMemCount); - actMemSize:=actMemSize or (insentry^.optypes[j] and OT_SIZE_MASK); + actMemSize:=actMemSize or (insentry^.optypes[j] and (OT_SIZE_MASK OR OT_VECTORBCST)); if (insentry^.optypes[j] and OT_REGMEM) = OT_REGMEM then begin actRegMemTypes := actRegMemTypes or insentry^.optypes[j]; @@ -4144,6 +5042,8 @@ implementation OT_XMEM64: MRefInfo := msiXMem64; OT_YMEM32: MRefInfo := msiYMem32; OT_YMEM64: MRefInfo := msiYMem64; + OT_ZMEM32: MRefInfo := msiZMem32; + OT_ZMEM64: MRefInfo := msiZMem64; else InternalError(777208); end; @@ -4153,6 +5053,8 @@ implementation msiXMem64: RegXMMSizeMask := RegXMMSizeMask or OT_BITS128; msiYMem32, msiYMem64: RegXMMSizeMask := RegXMMSizeMask or OT_BITS256; + msiZMem32, + msiZMem64: RegXMMSizeMask := RegXMMSizeMask or OT_BITS512; else InternalError(777210); end; OT_YMMREG: case MRefInfo of @@ -4160,8 +5062,20 @@ implementation msiXMem64: RegYMMSizeMask := RegYMMSizeMask or OT_BITS128; msiYMem32, msiYMem64: RegYMMSizeMask := RegYMMSizeMask or OT_BITS256; + msiZMem32, + msiZMem64: RegYMMSizeMask := RegYMMSizeMask or OT_BITS512; + else InternalError(777211); + end; + OT_ZMMREG: case MRefInfo of + msiXMem32, + msiXMem64: RegZMMSizeMask := RegZMMSizeMask or OT_BITS128; + msiYMem32, + msiYMem64: RegZMMSizeMask := RegZMMSizeMask or OT_BITS256; + msiZMem32, + msiZMem64: RegZMMSizeMask := RegZMMSizeMask or OT_BITS512; else InternalError(777211); end; + //else InternalError(777209); end; @@ -4172,11 +5086,11 @@ implementation end else if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize <> MRefInfo then begin - if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize in [msiXMem32, msiXMem64, msiYMem32, msiYMem64] then + if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize in [msiXMem32, msiXMem64, msiYMem32, msiYMem64, msiZMem32, msiZMem64] then begin InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiVMemMultiple; end - else InternalError(777212); + else if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize <> msiVMemMultiple then InternalError(777212); end; end; @@ -4185,116 +5099,273 @@ implementation end else begin - if (actMemCount=2) and ((AsmOp=A_MOVS) or (AsmOp=A_CMPS)) then - actMemCount:=1; - case actMemCount of - 0: ; // nothing todo - 1: begin - MRefInfo := msiUnkown; - case actRegMemTypes and (OT_MMXRM or OT_XMMRM or OT_YMMRM or OT_REG_EXTRA_MASK) of - OT_MMXRM: actMemSize := actMemSize or OT_BITS64; - OT_XMMRM: actMemSize := actMemSize or OT_BITS128; - OT_YMMRM: actMemSize := actMemSize or OT_BITS256; - end; + if (actMemCount=2) and ((AsmOp=A_MOVS) or (AsmOp=A_CMPS)) then actMemCount:=1; + + case actMemCount of + 0: ; // nothing todo + 1: begin + MRefInfo := msiUnkown; + case actRegMemTypes and (OT_MMXRM or OT_XMMRM or OT_YMMRM or OT_ZMMRM or OT_REG_EXTRA_MASK) of + OT_MMXRM: actMemSize := actMemSize or OT_BITS64; + OT_XMMRM: actMemSize := actMemSize or OT_BITS128; + OT_YMMRM: actMemSize := actMemSize or OT_BITS256; + OT_ZMMRM: actMemSize := actMemSize or OT_BITS512; + end; - case actMemSize of - 0: MRefInfo := msiNoSize; - OT_BITS8: MRefInfo := msiMem8; - OT_BITS16: MRefInfo := msiMem16; - OT_BITS32: MRefInfo := msiMem32; - OT_BITS64: MRefInfo := msiMem64; - OT_BITS128: MRefInfo := msiMem128; - OT_BITS256: MRefInfo := msiMem256; - OT_BITS80, - OT_FAR, - OT_NEAR, - OT_SHORT: ; // ignore - else - begin - bitcount := bitcnt(actMemSize); + case actMemSize of + 0: MRefInfo := msiNoSize; + OT_BITS8: MRefInfo := msiMem8; + OT_BITS16: MRefInfo := msiMem16; + OT_BITS32: MRefInfo := msiMem32; + OT_BITSB32: MRefInfo := msiBMem32; + OT_BITS64: MRefInfo := msiMem64; + OT_BITSB64: MRefInfo := msiBMem64; + OT_BITS128: MRefInfo := msiMem128; + OT_BITS256: MRefInfo := msiMem256; + OT_BITS512: MRefInfo := msiMem512; + OT_BITS80, + OT_FAR, + OT_NEAR, + OT_SHORT: ; // ignore + else + begin + bitcount := bitcnt(actMemSize); - if bitcount > 1 then MRefInfo := msiMultiple - else InternalError(777203); - end; - end; + if bitcount > 1 then MRefInfo := msiMultiple + else InternalError(777203); + end; + end; - if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize = msiUnkown then - begin - InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := MRefInfo; - end - else if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize <> MRefInfo then + if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize = msiUnkown then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := MRefInfo; + end + else begin - with InsTabMemRefSizeInfoCache^[AsmOp] do + // ignore broadcast-memory + if not(MRefInfo in [msiBMem32, msiBMem64]) then begin - if ((MemRefSize = msiMem8) OR (MRefInfo = msiMem8)) then MemRefSize := msiMultiple8 - else if ((MemRefSize = msiMem16) OR (MRefInfo = msiMem16)) then MemRefSize := msiMultiple16 - else if ((MemRefSize = msiMem32) OR (MRefInfo = msiMem32)) then MemRefSize := msiMultiple32 - else if ((MemRefSize = msiMem64) OR (MRefInfo = msiMem64)) then MemRefSize := msiMultiple64 - else if ((MemRefSize = msiMem128) OR (MRefInfo = msiMem128)) then MemRefSize := msiMultiple128 - else if ((MemRefSize = msiMem256) OR (MRefInfo = msiMem256)) then MemRefSize := msiMultiple256 - else MemRefSize := msiMultiple; + if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize <> MRefInfo then + begin + with InsTabMemRefSizeInfoCache^[AsmOp] do + begin + if ((MemRefSize = msiMem8) OR (MRefInfo = msiMem8)) then MemRefSize := msiMultiple8 + else if ((MemRefSize = msiMem16) OR (MRefInfo = msiMem16)) then MemRefSize := msiMultiple16 + else if ((MemRefSize = msiMem32) OR (MRefInfo = msiMem32)) then MemRefSize := msiMultiple32 + else if ((MemRefSize = msiMem64) OR (MRefInfo = msiMem64)) then MemRefSize := msiMultiple64 + else if ((MemRefSize = msiMem128) OR (MRefInfo = msiMem128)) then MemRefSize := msiMultiple128 + else if ((MemRefSize = msiMem256) OR (MRefInfo = msiMem256)) then MemRefSize := msiMultiple256 + else if ((MemRefSize = msiMem512) OR (MRefInfo = msiMem512)) then MemRefSize := msiMultiple512 + else MemRefSize := msiMultiple; + end; + end; end; - end; + end; - if actRegCount > 0 then + //if not(MRefInfo in [msiBMem32, msiBMem64]) and (actRegCount > 0) then + if actRegCount > 0 then begin - case actRegTypes and (OT_MMXREG or OT_XMMREG or OT_YMMREG or OT_REG_EXTRA_MASK) of - OT_MMXREG: RegMMXSizeMask := RegMMXSizeMask or actMemSize; - OT_XMMREG: RegXMMSizeMask := RegXMMSizeMask or actMemSize; - OT_YMMREG: RegYMMSizeMask := RegYMMSizeMask or actMemSize; + if MRefInfo in [msiBMem32, msiBMem64] then + begin + if IF_BCST2 in insentry^.flags then InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes := InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes + [bt1to2]; + if IF_BCST4 in insentry^.flags then InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes := InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes + [bt1to4]; + if IF_BCST8 in insentry^.flags then InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes := InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes + [bt1to8]; + if IF_BCST16 in insentry^.flags then InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes := InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes + [bt1to16]; + + //InsTabMemRefSizeInfoCache^[AsmOp].BCSTTypes + + // BROADCAST - OPERAND + RegBCSTSizeMask := RegBCSTSizeMask or actMemSize; + + case actRegTypes and (OT_XMMREG or OT_YMMREG or OT_ZMMREG or OT_REG_EXTRA_MASK) of + OT_XMMREG: RegBCSTXMMSizeMask := RegBCSTXMMSizeMask or actMemSize; + OT_YMMREG: RegBCSTYMMSizeMask := RegBCSTYMMSizeMask or actMemSize; + OT_ZMMREG: RegBCSTZMMSizeMask := RegBCSTZMMSizeMask or actMemSize; + else begin + + RegBCSTXMMSizeMask := not(0); + RegBCSTYMMSizeMask := not(0); + RegBCSTZMMSizeMask := not(0); + end; + end; + end + else + case actRegTypes and (OT_MMXREG or OT_XMMREG or OT_YMMREG or OT_ZMMREG or OT_REG_EXTRA_MASK) of + OT_MMXREG: if actConstCount > 0 then RegMMXConstSizeMask := RegMMXConstSizeMask or actMemSize + else RegMMXSizeMask := RegMMXSizeMask or actMemSize; + OT_XMMREG: if actConstCount > 0 then RegXMMConstSizeMask := RegXMMConstSizeMask or actMemSize + else RegXMMSizeMask := RegXMMSizeMask or actMemSize; + OT_YMMREG: if actConstCount > 0 then RegYMMConstSizeMask := RegYMMConstSizeMask or actMemSize + else RegYMMSizeMask := RegYMMSizeMask or actMemSize; + OT_ZMMREG: if actConstCount > 0 then RegZMMConstSizeMask := RegZMMConstSizeMask or actMemSize + else RegZMMSizeMask := RegZMMSizeMask or actMemSize; else begin RegMMXSizeMask := not(0); RegXMMSizeMask := not(0); RegYMMSizeMask := not(0); + RegZMMSizeMask := not(0); + + RegMMXConstSizeMask := not(0); + RegXMMConstSizeMask := not(0); + RegYMMConstSizeMask := not(0); + RegZMMConstSizeMask := not(0); end; end; - end; - end; - else InternalError(777202); - end; + end + else + + + end + else InternalError(777202); + end; end; inc(insentry); end; + if InsTabMemRefSizeInfoCache^[AsmOp].ExistsSSEAVX then + begin + case RegBCSTSizeMask of + 0: ; // ignore; + OT_BITSB32: begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSizeBCST := msbBCST32; + InsTabMemRefSizeInfoCache^[AsmOp].BCSTXMMMultiplicator := 4; + end; + OT_BITSB64: begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSizeBCST := msbBCST64; + InsTabMemRefSizeInfoCache^[AsmOp].BCSTXMMMultiplicator := 2; + end; + else begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSizeBCST := msbMultiple; + end;; + end; + end; + if (InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize in MemRefMultiples) and (InsTabMemRefSizeInfoCache^[AsmOp].ExistsSSEAVX)then begin - case RegXMMSizeMask of - OT_BITS16: case RegYMMSizeMask of - OT_BITS32: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx16y32; - end; - OT_BITS32: case RegYMMSizeMask of - OT_BITS64: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx32y64; - end; - OT_BITS64: case RegYMMSizeMask of - OT_BITS128: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx64y128; - OT_BITS256: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx64y256; - end; - OT_BITS128: begin - if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize = msiVMemMultiple then - begin - // vector-memory-operand AVX2 (e.g. VGATHER..) - case RegYMMSizeMask of - OT_BITS256: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiVMemRegSize; - end; - end - else if RegMMXSizeMask = 0 then - begin - case RegYMMSizeMask of - OT_BITS128: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx64y128; - OT_BITS256: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegSize; - end; - end - else if RegYMMSizeMask = 0 then - begin - case RegMMXSizeMask of - OT_BITS64: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegSize; - end; - end - else InternalError(777205); - end; + if InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize = msiVMemMultiple then + begin + if ((RegXMMSizeMask = OT_BITS128) or (RegXMMSizeMask = 0)) and + ((RegYMMSizeMask = OT_BITS256) or (RegYMMSizeMask = 0)) and + ((RegZMMSizeMask = OT_BITS512) or (RegZMMSizeMask = 0)) and + ((RegXMMSizeMask or RegYMMSizeMask or RegZMMSizeMask) <> 0) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiVMemRegSize; + end; + end + else if (RegMMXSizeMask or RegMMXConstSizeMask) <> 0 then + begin + if ((RegMMXSizeMask or RegMMXConstSizeMask) = OT_BITS64) and + ((RegXMMSizeMask or RegXMMConstSizeMask) = OT_BITS128) and + ((RegYMMSizeMask or RegYMMConstSizeMask) = 0) and + ((RegZMMSizeMask or RegZMMConstSizeMask) = 0) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegSize; + end; + end + else if (((RegXMMSizeMask or RegXMMConstSizeMask) = OT_BITS128) or ((RegXMMSizeMask or RegXMMConstSizeMask) = 0)) and + (((RegYMMSizeMask or RegYMMConstSizeMask) = OT_BITS256) or ((RegYMMSizeMask or RegYMMConstSizeMask) = 0)) and + (((RegZMMSizeMask or RegZMMConstSizeMask) = OT_BITS512) or ((RegZMMSizeMask or RegZMMConstSizeMask) = 0)) and + (((RegXMMSizeMask or RegXMMConstSizeMask or + RegYMMSizeMask or RegYMMConstSizeMask or + RegZMMSizeMask or RegZMMConstSizeMask)) <> 0) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegSize; + end + else if (RegXMMSizeMask or RegXMMConstSizeMask = OT_BITS16) and + (RegYMMSizeMask or RegYMMConstSizeMask = OT_BITS32) and + (RegZMMSizeMask or RegZMMConstSizeMask = 0) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx16y32; + end + else if (RegXMMSizeMask or RegXMMConstSizeMask = OT_BITS16) and + (RegYMMSizeMask or RegYMMConstSizeMask = OT_BITS32) and + (RegZMMSizeMask or RegZMMConstSizeMask = OT_BITS64) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx16y32z64; + end + else if ((RegXMMSizeMask or RegXMMConstSizeMask) = OT_BITS32) and + ((RegYMMSizeMask or RegYMMConstSizeMask) = OT_BITS64) then + begin + if ((RegZMMSizeMask or RegZMMConstSizeMask) = 0) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx32y64; + end + else if ((RegZMMSizeMask or RegZMMConstSizeMask) = OT_BITS128) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx32y64z128; + end; + end + else if ((RegXMMSizeMask or RegXMMConstSizeMask) = OT_BITS64) and + ((RegYMMSizeMask or RegYMMConstSizeMask) = OT_BITS128) and + ((RegZMMSizeMask or RegZMMConstSizeMask) = 0) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx64y128; + end + else if ((RegXMMSizeMask or RegXMMConstSizeMask) = OT_BITS64) and + ((RegYMMSizeMask or RegYMMConstSizeMask) = OT_BITS128) and + ((RegZMMSizeMask or RegZMMConstSizeMask) = OT_BITS256) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx64y128z256; + end + else if ((RegXMMSizeMask or RegXMMConstSizeMask) = OT_BITS64) and + ((RegYMMSizeMask or RegYMMConstSizeMask) = OT_BITS256) and + ((RegZMMSizeMask or RegZMMConstSizeMask) = 0) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx64y256; + end + else if ((RegXMMSizeMask or RegXMMConstSizeMask) = OT_BITS64) and + ((RegYMMSizeMask or RegYMMConstSizeMask) = OT_BITS256) and + ((RegZMMSizeMask or RegZMMConstSizeMask) = OT_BITS512) then + begin + InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegx64y256z512; + end + else if ((RegXMMConstSizeMask = 0) or (RegXMMConstSizeMask = OT_BITS128)) and + ((RegYMMConstSizeMask = 0) or (RegYMMConstSizeMask = OT_BITS256)) and + ((RegZMMConstSizeMask = 0) or (RegZMMConstSizeMask = OT_BITS512)) and + ((RegXMMConstSizeMask or RegYMMConstSizeMask or RegZMMConstSizeMask) <> 0) and + ( + ((RegXMMSizeMask or RegYMMSizeMask or RegZMMSizeMask) = OT_BITS128) or + ((RegXMMSizeMask or RegYMMSizeMask or RegZMMSizeMask) = OT_BITS256) or + ((RegXMMSizeMask or RegYMMSizeMask or RegZMMSizeMask) = OT_BITS512) + ) then + begin + case RegXMMSizeMask or RegYMMSizeMask or RegZMMSizeMask of + OT_BITS128: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegConst128; + OT_BITS256: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegConst256; + OT_BITS512: InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMemRegConst512; + else InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize := msiMultiple; + end; + end + else + begin + if not( + (AsmOp = A_CVTSI2SS) or + (AsmOp = A_CVTSI2SD) or + (AsmOp = A_CVTPD2DQ) or + (AsmOp = A_VCVTPD2DQ) or + (AsmOp = A_VCVTPD2PS) or + (AsmOp = A_VCVTSI2SD) or + (AsmOp = A_VCVTSI2SS) or + (AsmOp = A_VCVTTPD2DQ) or + (AsmOp = A_VCVTPD2UDQ) or + (AsmOp = A_VCVTQQ2PS) or + (AsmOp = A_VCVTTPD2UDQ) or + (AsmOp = A_VCVTUQQ2PS) or + (AsmOp = A_VCVTUSI2SD) or + (AsmOp = A_VCVTUSI2SS) or + + + // TODO check + (AsmOp = A_VCMPSS) + + + ) then + + InternalError(777205); end; + end; end; end; diff --git a/compiler/x86/agx86att.pas b/compiler/x86/agx86att.pas index 1612387592..29b321a076 100644 --- a/compiler/x86/agx86att.pas +++ b/compiler/x86/agx86att.pas @@ -231,6 +231,21 @@ interface procedure Tx86InstrWriter.WriteOper(const o:toper); begin + if o.vopext and OTVE_VECTOR_SAE = OTVE_VECTOR_SAE then + owner.writer.AsmWrite('{sae},'); + + if o.vopext and OTVE_VECTOR_ER_MASK = OTVE_VECTOR_RNSAE then + owner.writer.AsmWrite('{rn-sae},'); + + if o.vopext and OTVE_VECTOR_ER_MASK = OTVE_VECTOR_RDSAE then + owner.writer.AsmWrite('{rd-sae},'); + + if o.vopext and OTVE_VECTOR_ER_MASK = OTVE_VECTOR_RUSAE then + owner.writer.AsmWrite('{ru-sae},'); + + if o.vopext and OTVE_VECTOR_ER_MASK = OTVE_VECTOR_RZSAE then + owner.writer.AsmWrite('{rz-sae},'); + case o.typ of top_reg : { Solaris assembler does not accept %st instead of %st(0) } @@ -263,6 +278,26 @@ interface else internalerror(10001); end; + + if o.vopext and OTVE_VECTOR_WRITEMASK = OTVE_VECTOR_WRITEMASK then + begin + owner.writer.AsmWrite('{%k' + tostr(o.vopext and $07) + '} '); + if o.vopext and OTVE_VECTOR_ZERO = OTVE_VECTOR_ZERO then + owner.writer.AsmWrite('{z}'); + end; + + + if o.vopext and OTVE_VECTOR_BCST = OTVE_VECTOR_BCST then + begin + case o.vopext and (OTVE_VECTOR_BCST2 or OTVE_VECTOR_BCST4 or OTVE_VECTOR_BCST8 or OTVE_VECTOR_BCST16) of + OTVE_VECTOR_BCST2: owner.writer.AsmWrite('{1to2}'); + OTVE_VECTOR_BCST4: owner.writer.AsmWrite('{1to4}'); + OTVE_VECTOR_BCST8: owner.writer.AsmWrite('{1to8}'); + OTVE_VECTOR_BCST16: owner.writer.AsmWrite('{1to16}'); + else ; //TG TODO errormsg + end; + end; + end; diff --git a/compiler/x86/agx86int.pas b/compiler/x86/agx86int.pas index d85fa48945..47ca4a0f1b 100644 --- a/compiler/x86/agx86int.pas +++ b/compiler/x86/agx86int.pas @@ -390,6 +390,7 @@ implementation writer.AsmWrite('word ptr '); S_XMM: writer.AsmWrite('xmmword ptr '); S_YMM: writer.AsmWrite('ymmword ptr '); + S_ZMM: writer.AsmWrite('zmmword ptr '); {$ifdef x86_64} S_BQ : if dest then writer.AsmWrite('qword ptr ') diff --git a/compiler/x86/cpubase.pas b/compiler/x86/cpubase.pas index 6b379f40ec..17b1c3b62d 100644 --- a/compiler/x86/cpubase.pas +++ b/compiler/x86/cpubase.pas @@ -487,7 +487,12 @@ implementation {$endif x86_64} else reg_cgsize:=OS_32 - end + end; + R_ADDRESSREGISTER: + case reg of + NR_K0..NR_K7: reg_cgsize:=OS_64; + else internalerror(2003031801); + end; else internalerror(2003031801); end; @@ -594,8 +599,18 @@ implementation { for the name the sub reg doesn't matter } hr:=r; if (getregtype(hr)=R_MMREGISTER) and - (getsubreg(hr)<>R_SUBMMY) then + (getsubreg(hr)<>R_SUBMMY) and + (getsubreg(hr)<>R_SUBMMZ) then setsubreg(hr,R_SUBMMX); + + //// TG TODO check + //if (getregtype(hr)=R_MMREGISTER) then + // case getsubreg(hr) of + // R_SUBMMX: setsubreg(hr,R_SUBMMX); + // R_SUBMMY: setsubreg(hr,R_SUBMMY); + // R_SUBMMZ: setsubreg(hr,R_SUBMMZ); + // else setsubreg(hr,R_SUBMMX); + // end; result:=findreg_by_number_table(hr,regnumber_index); end; diff --git a/compiler/x86/rax86.pas b/compiler/x86/rax86.pas index 7cca88ae92..7958e53828 100644 --- a/compiler/x86/rax86.pas +++ b/compiler/x86/rax86.pas @@ -42,6 +42,8 @@ Procedure FWaitWarning; type Tx86Operand=class(TOperand) opsize : topsize; + vopext : smallint; // bitmask: vector-operand extention AVX512 (e.g. vaddps xmm0 {k1} {z}) + vbcst : byte; Procedure SetSize(_size:longint;force:boolean);override; Procedure SetCorrectSize(opcode:tasmop);override; Function CheckOperand: boolean; override; @@ -49,10 +51,15 @@ type Procedure SetupCode; { handles the @Data symbol } Procedure SetupData; + + constructor create; override; end; { Operands are always in AT&T order. Intel reader attaches them right-to-left, then shifts to start with 1 } + + { Tx86Instruction } + Tx86Instruction=class(TInstruction) opsize : topsize; constructor Create(optype : tcoperand);override; @@ -65,6 +72,7 @@ type procedure FixupOpcode;virtual; { opcode adding } function ConcatInstruction(p : TAsmList) : tai;override; + function getstring: string; end; const @@ -195,6 +203,7 @@ begin case _size of 16: size := OS_M128; 32: size := OS_M256; + 64: size := OS_M512; end; {$ifdef i8086} @@ -406,6 +415,13 @@ begin {$endif i8086} end; +constructor Tx86Operand.create; +begin + inherited; + + vopext := 0; + vbcst := 0; +end; {***************************************************************************** T386Instruction @@ -422,21 +438,29 @@ procedure Tx86Instruction.AddReferenceSizes; have the size set yet, it will take only the size if the other operand is a register } var - operand2,i,j : longint; + operand2,i,j,k : longint; + t: topsize; s : tasmsymbol; so : aint; ExistsMemRefNoSize: boolean; ExistsMemRef: boolean; ExistsConstNoSize: boolean; + ExistConst: boolean; ExistsLocalSymSize: boolean; + ExistsBCST: boolean; memrefsize: integer; memopsize: integer; memoffset: asizeint; + vbcst: byte; + mmregs: Set of TSubregister; + multiplicator: integer; + bcst1,bcst2: string; begin ExistsMemRefNoSize := false; ExistsMemRef := false; ExistsConstNoSize := false; ExistsLocalSymSize := false; + ExistsBCST := false; // EXIST A MEMORY- OR CONSTANT-OPERAND WITHOUT SIZE ? for i := 1 to ops do @@ -445,6 +469,9 @@ begin begin ExistsMemRef := true; + ExistsBCST := (MemRefInfo(opcode).ExistsSSEAVX) and + (tx86operand(operands[i]).vbcst <> 0); + if (tx86operand(operands[i]).opsize = S_NO) then begin ExistsMemRefNoSize := true; @@ -455,7 +482,6 @@ begin else ; end; - end; end else if operands[i].Opr.Typ in [OPR_CONSTANT] then @@ -485,6 +511,16 @@ begin begin memrefsize := -1; + if ExistsBCST then + begin + case MemRefInfo(opcode).MemRefSizeBCST of + msbBCST32: memrefsize := 32; + msbBCST64: memrefsize := 64; + else + Internalerror(2019081005); + end; + end + else case MemRefInfo(opcode).MemRefSize of msiMultiple8, msiMem8: memrefsize := 8; @@ -502,6 +538,8 @@ begin msiMem128: memrefsize := 128; msiMultiple256, msiMem256: memrefsize := 256; + msiMultiple512, + msiMem512: memrefsize := 512; msiMemRegx16y32: begin for j := 1 to ops do @@ -516,7 +554,6 @@ begin end; end; end; - msiMemRegx32y64: begin for j := 1 to ops do @@ -532,54 +569,136 @@ begin end; end; msiMemRegx64y128: + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: memrefsize := 64; + R_SUBMMY: memrefsize := 128; + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + msiMemRegx64y256: + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: memrefsize := 64; + R_SUBMMY: memrefsize := 256; + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + msiMemRegx64y128z256: + begin + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: memrefsize := 64; + R_SUBMMY: memrefsize := 128; + R_SUBMMZ: memrefsize := 256; + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + end; + msiMemRegx64y256z512: + begin + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: memrefsize := 64; + R_SUBMMY: memrefsize := 256; + R_SUBMMZ: memrefsize := 512; + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + end; + msiMemRegSize: + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then begin - for j := 1 to ops do + if (tx86operand(operands[j]).opsize <> S_NO) and + (tx86operand(operands[j]).size <> OS_NO) then begin - if operands[j].Opr.Typ = OPR_REGISTER then - begin - case getsubreg(operands[j].opr.reg) of - R_SUBMMX: memrefsize := 64; - R_SUBMMY: memrefsize := 128; - else Message(asmr_e_unable_to_determine_reference_size); - end; + case tx86operand(operands[j]).opsize of + S_B : memrefsize := 8; + S_W : memrefsize := 16; + S_L : memrefsize := 32; + S_Q : memrefsize := 64; + S_XMM : memrefsize := 128; + S_YMM : memrefsize := 256; + S_ZMM : memrefsize := 512; + else Internalerror(2019081001); end; + break; end; end; - msiMemRegx64y256: + end; + end; + msiMemRegConst128, + msiMemRegConst256, + msiMemRegConst512: + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_CONSTANT then + begin + for k := 1 to ops do begin - for j := 1 to ops do + if operands[k].Opr.Typ = OPR_REGISTER then begin - if operands[j].Opr.Typ = OPR_REGISTER then + if (tx86operand(operands[k]).opsize <> S_NO) and + (tx86operand(operands[k]).size <> OS_NO) then begin - case getsubreg(operands[j].opr.reg) of - R_SUBMMX: memrefsize := 64; - R_SUBMMY: memrefsize := 256; - else Message(asmr_e_unable_to_determine_reference_size); + case tx86operand(operands[k]).opsize of + S_B : memrefsize := 8; + S_W : memrefsize := 16; + S_L : memrefsize := 32; + S_Q : memrefsize := 64; + S_XMM : memrefsize := 128; + S_YMM : memrefsize := 256; + S_ZMM : memrefsize := 512; + else Internalerror(777200); end; + break; end; end; end; - msiMemRegSize - : for j := 1 to ops do - begin - if operands[j].Opr.Typ = OPR_REGISTER then - begin - if (tx86operand(operands[j]).opsize <> S_NO) and - (tx86operand(operands[j]).size <> OS_NO) then - begin - case tx86operand(operands[j]).opsize of - S_B : memrefsize := 8; - S_W : memrefsize := 16; - S_L : memrefsize := 32; - S_Q : memrefsize := 64; - S_XMM : memrefsize := 128; - S_YMM : memrefsize := 256; - else Internalerror(777200); - end; - break; - end; - end; - end; + + break; + end; + end; + + // no exists const-operand + if memrefsize = -1 then + begin + case MemRefInfo(opcode).MemRefSize of + msiMemRegConst128: memrefsize := 128; + msiMemRegConst256: memrefsize := 256; + msiMemRegConst512: memrefsize := 512; + else Internalerror(2019081002); + end; + end; + end; msiNoSize, msiUnkown, msiUnsupported, @@ -587,6 +706,8 @@ begin msiVMemRegSize, msiMultiple: ; + else + Internalerror(2019081005); end; if memrefsize > -1 then @@ -669,161 +790,224 @@ begin begin case operands[i].Opr.Typ of OPR_REFERENCE: - case MemRefInfo(opcode).MemRefSize of - msiMem8: - begin - tx86operand(operands[i]).opsize := S_B; - tx86operand(operands[i]).size := OS_8; - end; - msiMultiple8: - begin - tx86operand(operands[i]).opsize := S_B; - tx86operand(operands[i]).size := OS_8; + begin + if ExistsBCST then + begin + case MemRefInfo(opcode).MemRefSizeBCST of + msbBCST32: begin + tx86operand(operands[i]).opsize := S_L; + tx86operand(operands[i]).size := OS_32; + end; + msbBCST64: begin + tx86operand(operands[i]).opsize := S_Q; + tx86operand(operands[i]).size := OS_M64; + end; + else + Internalerror(2019081006); + end; + end + else - Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"8 bit memory operand"'); - end; - msiMem16: - begin - tx86operand(operands[i]).opsize := S_W; - tx86operand(operands[i]).size := OS_16; - end; - msiMultiple16: - begin - tx86operand(operands[i]).opsize := S_W; - tx86operand(operands[i]).size := OS_16; - - Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"16 bit memory operand"'); - end; - msiXMem32, - msiYMem32, - msiMem32: - begin - tx86operand(operands[i]).opsize := S_L; - tx86operand(operands[i]).size := OS_32; - end; - msiMultiple32: - begin - tx86operand(operands[i]).opsize := S_L; - tx86operand(operands[i]).size := OS_32; - - Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"32 bit memory operand"'); - end; - msiXMem64, - msiYMem64, - msiMem64: - begin - tx86operand(operands[i]).opsize := S_Q; - tx86operand(operands[i]).size := OS_M64; - end; - msiMultiple64: - begin - tx86operand(operands[i]).opsize := S_Q; - tx86operand(operands[i]).size := OS_M64; - - Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"64 bit memory operand"'); - end; - msiMem128: - begin - tx86operand(operands[i]).opsize := S_XMM; - tx86operand(operands[i]).size := OS_M128; - end; - msiMultiple128: - begin - tx86operand(operands[i]).opsize := S_XMM; - tx86operand(operands[i]).size := OS_M128; - - Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"128 bit memory operand"'); - end; - msiMem256: - begin - tx86operand(operands[i]).opsize := S_YMM; - tx86operand(operands[i]).size := OS_M256; - opsize := S_YMM; - end; - msiMultiple256: - begin - tx86operand(operands[i]).opsize := S_YMM; - tx86operand(operands[i]).size := OS_M256; - opsize := S_YMM; - - Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"256 bit memory operand"'); - end; - msiMemRegSize: - begin - // mem-ref-size = register size - for j := 1 to ops do + case MemRefInfo(opcode).MemRefSize of + msiMem8: + begin + tx86operand(operands[i]).opsize := S_B; + tx86operand(operands[i]).size := OS_8; + end; + msiMultiple8: + begin + tx86operand(operands[i]).opsize := S_B; + tx86operand(operands[i]).size := OS_8; + + Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"8 bit memory operand"'); + end; + msiMem16: + begin + tx86operand(operands[i]).opsize := S_W; + tx86operand(operands[i]).size := OS_16; + end; + msiMultiple16: begin - if operands[j].Opr.Typ = OPR_REGISTER then + tx86operand(operands[i]).opsize := S_W; + tx86operand(operands[i]).size := OS_16; + + Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"16 bit memory operand"'); + end; + msiXMem32, + msiYMem32, + msiMem32: + begin + tx86operand(operands[i]).opsize := S_L; + tx86operand(operands[i]).size := OS_32; + end; + msiMultiple32: + begin + tx86operand(operands[i]).opsize := S_L; + tx86operand(operands[i]).size := OS_32; + + Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"32 bit memory operand"'); + end; + msiXMem64, + msiYMem64, + msiMem64: + begin + tx86operand(operands[i]).opsize := S_Q; + tx86operand(operands[i]).size := OS_M64; + end; + msiMultiple64: + begin + tx86operand(operands[i]).opsize := S_Q; + tx86operand(operands[i]).size := OS_M64; + + Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"64 bit memory operand"'); + end; + msiMem128: + begin + tx86operand(operands[i]).opsize := S_XMM; + tx86operand(operands[i]).size := OS_M128; + end; + msiMultiple128: + begin + tx86operand(operands[i]).opsize := S_XMM; + tx86operand(operands[i]).size := OS_M128; + + Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"128 bit memory operand"'); + end; + msiMem256: + begin + tx86operand(operands[i]).opsize := S_YMM; + tx86operand(operands[i]).size := OS_M256; + opsize := S_YMM; + end; + msiMultiple256: + begin + tx86operand(operands[i]).opsize := S_YMM; + tx86operand(operands[i]).size := OS_M256; + opsize := S_YMM; + + Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"256 bit memory operand"'); + end; + msiMem512: + begin + tx86operand(operands[i]).opsize := S_ZMM; + tx86operand(operands[i]).size := OS_M512; + opsize := S_ZMM; + end; + msiMultiple512: + begin + tx86operand(operands[i]).opsize := S_ZMM; + tx86operand(operands[i]).size := OS_M512; + opsize := S_ZMM; + + Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"512 bit memory operand"'); + end; + + msiMemRegSize: + begin + // mem-ref-size = register size + for j := 1 to ops do begin - if (tx86operand(operands[j]).opsize <> S_NO) and - (tx86operand(operands[j]).size <> OS_NO) then + if operands[j].Opr.Typ = OPR_REGISTER then begin - tx86operand(operands[i]).opsize := tx86operand(operands[j]).opsize; - tx86operand(operands[i]).size := tx86operand(operands[j]).size; - break; - end - else Message(asmr_e_unable_to_determine_reference_size); + if (tx86operand(operands[j]).opsize <> S_NO) and + (tx86operand(operands[j]).size <> OS_NO) then + begin + tx86operand(operands[i]).opsize := tx86operand(operands[j]).opsize; + tx86operand(operands[i]).size := tx86operand(operands[j]).size; + break; + end + else Message(asmr_e_unable_to_determine_reference_size); + end; end; end; - end; - msiMemRegx16y32: - begin - for j := 1 to ops do - begin - if operands[j].Opr.Typ = OPR_REGISTER then - begin - case getsubreg(operands[j].opr.reg) of - R_SUBMMX: begin - tx86operand(operands[i]).opsize := S_L; - tx86operand(operands[i]).size := OS_M16; - break; - end; - R_SUBMMY: begin - tx86operand(operands[i]).opsize := S_Q; - tx86operand(operands[i]).size := OS_M32; - break; - end; - else Message(asmr_e_unable_to_determine_reference_size); - end; - end; - end; - end; - - msiMemRegx32y64: - begin - for j := 1 to ops do - begin - if operands[j].Opr.Typ = OPR_REGISTER then - begin - case getsubreg(operands[j].opr.reg) of - R_SUBMMX: begin - tx86operand(operands[i]).opsize := S_L; - tx86operand(operands[i]).size := OS_M32; - break; - end; - R_SUBMMY: begin - tx86operand(operands[i]).opsize := S_Q; - tx86operand(operands[i]).size := OS_M64; - break; - end; - else Message(asmr_e_unable_to_determine_reference_size); - end; - end; - end; - end; - msiMemRegx64y128: - begin + msiMemRegx16y32: + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: begin + tx86operand(operands[i]).opsize := S_W; + tx86operand(operands[i]).size := OS_M16; + break; + end; + R_SUBMMY: begin + tx86operand(operands[i]).opsize := S_L; + tx86operand(operands[i]).size := OS_M32; + break; + end; + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + msiMemRegx16y32z64: + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: begin + tx86operand(operands[i]).opsize := S_W; + tx86operand(operands[i]).size := OS_M16; + break; + end; + R_SUBMMY: begin + tx86operand(operands[i]).opsize := S_L; + tx86operand(operands[i]).size := OS_M32; + break; + end; + R_SUBMMZ: begin + tx86operand(operands[i]).opsize := S_Q; + tx86operand(operands[i]).size := OS_M64; + break; + end; + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + msiMemRegx32y64: + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: begin + tx86operand(operands[i]).opsize := S_L; + tx86operand(operands[i]).size := OS_M32; + break; + end; + R_SUBMMY: begin + tx86operand(operands[i]).opsize := S_Q; + tx86operand(operands[i]).size := OS_M64; + break; + end; + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + msiMemRegx32y64z128: for j := 1 to ops do begin if operands[j].Opr.Typ = OPR_REGISTER then begin case getsubreg(operands[j].opr.reg) of R_SUBMMX: begin + tx86operand(operands[i]).opsize := S_L; + tx86operand(operands[i]).size := OS_M32; + break; + end; + R_SUBMMY: begin tx86operand(operands[i]).opsize := S_Q; tx86operand(operands[i]).size := OS_M64; break; end; - R_SUBMMY: begin + R_SUBMMZ: begin tx86operand(operands[i]).opsize := S_XMM; tx86operand(operands[i]).size := OS_M128; break; @@ -832,37 +1016,174 @@ begin end; end; end; - end; - msiMemRegx64y256: - begin - for j := 1 to ops do + msiMemRegx64y128: begin - if operands[j].Opr.Typ = OPR_REGISTER then + for j := 1 to ops do begin - case getsubreg(operands[j].opr.reg) of - R_SUBMMX: begin - tx86operand(operands[i]).opsize := S_Q; - tx86operand(operands[i]).size := OS_M64; - break; - end; - R_SUBMMY: begin - tx86operand(operands[i]).opsize := S_YMM; - tx86operand(operands[i]).size := OS_M256; - break; - end; - else Message(asmr_e_unable_to_determine_reference_size); + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: begin + tx86operand(operands[i]).opsize := S_Q; + tx86operand(operands[i]).size := OS_M64; + break; + end; + R_SUBMMY: begin + tx86operand(operands[i]).opsize := S_XMM; + tx86operand(operands[i]).size := OS_M128; + break; + end; + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + msiMemRegx64y128z256: + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: begin + tx86operand(operands[i]).opsize := S_Q; + tx86operand(operands[i]).size := OS_M64; + break; + end; + R_SUBMMY: begin + tx86operand(operands[i]).opsize := S_XMM; + tx86operand(operands[i]).size := OS_M128; + break; + end; + R_SUBMMZ: begin + tx86operand(operands[i]).opsize := S_YMM; + tx86operand(operands[i]).size := OS_M256; + break; + end; + + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + msiMemRegx64y256: + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: begin + tx86operand(operands[i]).opsize := S_Q; + tx86operand(operands[i]).size := OS_M64; + break; + end; + R_SUBMMY: begin + tx86operand(operands[i]).opsize := S_YMM; + tx86operand(operands[i]).size := OS_M256; + break; + end; + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + msiMemRegx64y256z512: + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + case getsubreg(operands[j].opr.reg) of + R_SUBMMX: begin + tx86operand(operands[i]).opsize := S_Q; + tx86operand(operands[i]).size := OS_M64; + break; + end; + R_SUBMMY: begin + tx86operand(operands[i]).opsize := S_YMM; + tx86operand(operands[i]).size := OS_M256; + break; + end; + R_SUBMMZ: begin + tx86operand(operands[i]).opsize := S_ZMM; + tx86operand(operands[i]).size := OS_M512; + break; + end; + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end; + end; + + msiMemRegConst128, + msiMemRegConst256, + msiMemRegConst512: + begin + ExistConst := false; + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_CONSTANT then + begin + ExistConst := true; + break; + end; + end; + + if ExistConst then + begin + for j := 1 to ops do + begin + if operands[j].Opr.Typ = OPR_REGISTER then + begin + if (tx86operand(operands[j]).opsize <> S_NO) and + (tx86operand(operands[j]).size <> OS_NO) then + begin + tx86operand(operands[i]).opsize := tx86operand(operands[j]).opsize; + tx86operand(operands[i]).size := tx86operand(operands[j]).size; + break; + end + else Message(asmr_e_unable_to_determine_reference_size); + end; + end; + end + else + begin + case MemRefInfo(opcode).MemRefSize of + msiMemRegConst128: begin + tx86operand(operands[i]).opsize := S_XMM; + tx86operand(operands[i]).size := OS_M128; + break; + end; + msiMemRegConst256: begin + tx86operand(operands[i]).opsize := S_YMM; + tx86operand(operands[i]).size := OS_M256; + break; + end; + msiMemRegConst512: begin + tx86operand(operands[i]).opsize := S_ZMM; + tx86operand(operands[i]).size := OS_M512; + break; + end; + else + Internalerror(2019081007); end; end; end; - end; + + + + msiNoSize: ; // all memory-sizes are ok msiUnkown, msiUnsupported, msiVMemMultiple, msiVMemRegSize, msiMultiple: Message(asmr_e_unable_to_determine_reference_size); // TODO individual message - + else + Internalerror(2019081008); end; + end; OPR_CONSTANT: case MemRefInfo(opcode).ConstSize of csiMem8: begin @@ -938,7 +1259,9 @@ begin // in this case is we need the old handling ("S_NO") // =>> ignore if (tx86operand(operands[operand2]).opsize <> S_XMM) and - (tx86operand(operands[operand2]).opsize <> S_YMM) then + (tx86operand(operands[operand2]).opsize <> S_YMM) and + (tx86operand(operands[operand2]).opsize <> S_ZMM) then + tx86operand(operands[i]).opsize:=tx86operand(operands[operand2]).opsize else tx86operand(operands[operand2]).opsize := S_NO; end; @@ -991,6 +1314,64 @@ begin end; end; end; + + if MemRefInfo(opcode).ExistsSSEAVX then + begin + // validate broadcast-memory-operands + vbcst := 0; + mmregs := []; + + for i := 1 to ops do + if operands[i].Opr.Typ in [OPR_REFERENCE, OPR_LOCAL] then vbcst := tx86operand(operands[i]).vbcst + else if operands[i].Opr.Typ = OPR_REGISTER then + begin + if getsubreg(operands[i].opr.reg) in [R_SUBMMX, R_SUBMMY, R_SUBMMZ] then + begin + include(mmregs, getsubreg(operands[i].opr.reg)); + end; + end; + + if vbcst <> 0 then + begin + // found broadcast-memory-operand (e.g. "{1to8}") + // check is correct + + multiplicator := 0; + if mmregs = [R_SUBMMX] then multiplicator := 1 + else if mmregs = [R_SUBMMY] then multiplicator := 2 + else if mmregs = [R_SUBMMZ] then multiplicator := 4 + else + begin + //TG TODO + + end; + + if MemRefInfo(opcode).BCSTTypes <> [] then + begin + str(MemRefInfo(opcode).BCSTXMMMultiplicator * multiplicator, bcst1); + str(vbcst, bcst2); + + case vbcst of + 2: if not(bt1to2 in MemRefInfo(opcode).BCSTTypes) then + Message2(asmr_e_mismatch_broadcasting_elements, '1to' + bcst1, '1to' + bcst2); + 4: if not(bt1to4 in MemRefInfo(opcode).BCSTTypes) then + Message2(asmr_e_mismatch_broadcasting_elements, '1to' + bcst1, '1to' + bcst2); + 8: if not(bt1to8 in MemRefInfo(opcode).BCSTTypes) then + Message2(asmr_e_mismatch_broadcasting_elements, '1to' + bcst1, '1to' + bcst2); + 16: if not(bt1to16 in MemRefInfo(opcode).BCSTTypes) then + Message2(asmr_e_mismatch_broadcasting_elements, '1to' + bcst1, '1to' + bcst2); + end; + end + else if MemRefInfo(opcode).BCSTXMMMultiplicator * multiplicator <> vbcst then + begin + str(MemRefInfo(opcode).BCSTXMMMultiplicator * multiplicator, bcst1); + str(vbcst, bcst2); + Message2(asmr_e_mismatch_broadcasting_elements, '1to' + bcst1, '1to' + bcst2); + end; + end; + end; + + end; @@ -1221,8 +1602,9 @@ end; function Tx86Instruction.ConcatInstruction(p : TAsmList) : tai; var - siz : topsize; - i,asize : longint; + siz : topsize; + i : longint; + asize : int64; ai : taicpu; begin ConcatInstruction:=nil; @@ -1423,15 +1805,15 @@ begin (target_info.system in [system_i386_linux,system_i386_FreeBSD,system_i386_android]) then Message(asmr_w_enter_not_supported_by_linux); - - - ai:=taicpu.op_none(opcode,siz); ai.fileinfo:=filepos; ai.SetOperandOrder(op_att); ai.Ops:=Ops; ai.Allocate_oper(Ops); for i:=1 to Ops do + begin + ai.oper[i-1]^.vopext := (operands[i] as tx86operand).vopext; + case operands[i].opr.typ of OPR_CONSTANT : ai.loadconst(i-1,operands[i].opr.val); @@ -1453,8 +1835,11 @@ begin end; OPR_REFERENCE: begin - if (opcode<>A_XLAT) and not is_x86_string_op(opcode) then + + if current_settings.optimizerswitches <> [] then + if (not(MemRefInfo(opcode).MemRefSize in MemRefSizeInfoVMems)) and (opcode<>A_XLAT) and not is_x86_string_op(opcode) then optimize_ref(operands[i].opr.ref,true); + ai.loadref(i-1,operands[i].opr.ref); if operands[i].size<>OS_NO then begin @@ -1484,6 +1869,7 @@ begin if gas_needsuffix[opcode] in [attsufFPU,attsufFPUint] then asize:=OT_BITS64 + else if MemRefInfo(opcode).ExistsSSEAVX then asize:=OT_BITS64 {$ifdef i386} else asize:=OT_BITS32 @@ -1498,6 +1884,8 @@ begin asize := OT_BITS128; OS_M256,OS_MS256: asize := OT_BITS256; + OS_M512,OS_MS512: + asize := OT_BITS512; else ; end; @@ -1509,6 +1897,9 @@ begin ; end; + + end; + { Condition ? } if condition<>C_None then ai.SetCondition(condition); @@ -1525,4 +1916,104 @@ begin result:=ai; end; +function Tx86Instruction.getstring: string; +var + i : longint; + s, sval : string; + regnr: string; + addsize : boolean; +begin + s:='['+std_op2str[opcode]; + for i:=1 to ops do + begin + with operands[i] as Tx86Operand do + begin + if i=0 then + s:=s+' ' + else + s:=s+','; + { type } + addsize:=false; + + case operands[i].opr.typ of + OPR_CONSTANT : begin + str(operands[i].opr.val, sval); + s:=s+ sval; + end; + OPR_REGISTER : begin + regnr := ''; + str(getsupreg(opr.reg),regnr); + + if getsubreg(opr.reg)= R_SUBMMX then + s:=s+'xmmreg' + regnr + else + if getsubreg(opr.reg)= R_SUBMMY then + s:=s+'ymmreg' + regnr + else + if getsubreg(opr.reg)= R_SUBMMZ then + s:=s+'zmmreg' + regnr + else + if getregtype(opr.reg)= R_MMXREGISTER then + s:=s+'mmxreg' + else + if getregtype(opr.reg)= R_FPUREGISTER then + s:=s+'fpureg' + else + if getregtype(opr.reg)=R_INTREGISTER then + begin + s:=s+'reg'; + addsize:=true; + end; + end; + OPR_LOCAL, + OPR_REFERENCE: begin + s:=s + 'mem'; + addsize:=true; + end; + else s:=s + '???'; + end; + + if addsize then + begin + sval := ''; + str(tcgsize2size[size], sval); + + s := s + sval; + end; + + if vopext <> 0 then + begin + str(vopext and $07, regnr); + if vopext and OTVE_VECTOR_WRITEMASK = OTVE_VECTOR_WRITEMASK then + s := s + ' {k' + regnr + '}'; + + if vopext and OTVE_VECTOR_ZERO = OTVE_VECTOR_ZERO then + s := s + ' {z}'; + + if vopext and OTVE_VECTOR_SAE = OTVE_VECTOR_SAE then + s := s + ' {sae}'; + + + if vopext and OTVE_VECTOR_BCST = OTVE_VECTOR_BCST then + case vopext and OTVE_VECTOR_BCST_MASK of + OTVE_VECTOR_BCST2: s := s + ' {1to2}'; + OTVE_VECTOR_BCST4: s := s + ' {1to4}'; + OTVE_VECTOR_BCST8: s := s + ' {1to8}'; + OTVE_VECTOR_BCST16: s := s + ' {1to16}'; + end; + + if vopext and OTVE_VECTOR_ER = OTVE_VECTOR_ER then + case vopext and OTVE_VECTOR_ER_MASK of + OTVE_VECTOR_RNSAE: s := s + ' {rn-sae}'; + OTVE_VECTOR_RDSAE: s := s + ' {rd-sae}'; + OTVE_VECTOR_RUSAE: s := s + ' {ru-sae}'; + OTVE_VECTOR_RZSAE: s := s + ' {rz-sae}'; + end; + + end; + end; + end; + GetString:=s+']'; +end; + end. diff --git a/compiler/x86/rax86int.pas b/compiler/x86/rax86int.pas index 588cb74b8b..bb683e3d4d 100644 --- a/compiler/x86/rax86int.pas +++ b/compiler/x86/rax86int.pas @@ -40,12 +40,18 @@ Unit Rax86int; AS_COMMA,AS_LBRACKET,AS_RBRACKET,AS_LPAREN, AS_RPAREN,AS_COLON,AS_DOT,AS_PLUS,AS_MINUS,AS_STAR, AS_SEPARATOR,AS_ID,AS_REGISTER,AS_OPCODE,AS_SLASH, + AS_LOPMASK,AS_VOPMASK,AS_LOPZEROMASK,AS_VOPZEROMASK,AS_LOPBCST,AS_OPBCST1TO2,AS_OPBCST1TO4,AS_OPBCST1TO8,AS_OPBCST1TO16,AS_LOPSAE,AS_OPSAE, + AS_LOPER,AS_OPRNSAE,AS_OPRDSAE,AS_OPRUSAE,AS_OPRZSAE, {------------------ Assembler directives --------------------} AS_ALIGN,AS_DB,AS_DW,AS_DD,AS_DQ,AS_PUBLIC,AS_END, {------------------ Assembler Operators --------------------} - AS_BYTE,AS_WORD,AS_DWORD,AS_QWORD,AS_TBYTE,AS_DQWORD,AS_OWORD,AS_XMMWORD,AS_YWORD,AS_YMMWORD,AS_NEAR,AS_FAR, + AS_BYTE,AS_WORD,AS_DWORD,AS_QWORD,AS_TBYTE,AS_DQWORD,AS_OWORD,AS_XMMWORD,AS_YWORD,AS_YMMWORD,AS_ZWORD,AS_ZMMWORD,AS_NEAR,AS_FAR, AS_HIGH,AS_LOW,AS_OFFSET,AS_SIZEOF,AS_VMTOFFSET,AS_SEG,AS_TYPE,AS_PTR,AS_MOD,AS_SHL,AS_SHR,AS_NOT, - AS_AND,AS_OR,AS_XOR,AS_WRT,AS___GOTPCREL,AS_TARGET_DIRECTIVE); + AS_AND,AS_OR,AS_XOR,AS_WRT,AS___GOTPCREL,AS_TARGET_DIRECTIVE,AS_RNSAE + + ); + + type { input flags for BuildConstSymbolExpression } @@ -66,9 +72,13 @@ Unit Rax86int; cseof_hasofs ); tconstsymbolexpressionoutputflags = set of tconstsymbolexpressionoutputflag; + + { tx86intreader } + tx86intreader = class(tasmreader) actasmpattern_origcase : string; actasmtoken : tasmtoken; + actoperextention: string; prevasmtoken : tasmtoken; ActOpsize : topsize; inexpression : boolean; @@ -79,8 +89,9 @@ Unit Rax86int; function is_register(const s:string):boolean; function is_locallabel(const s:string):boolean; function Assemble: tlinkedlist;override; - procedure GetToken; - function consume(t : tasmtoken):boolean; + procedure GetToken(check_operand_extention: boolean = false); + function consume(t : tasmtoken; check_operand_extention: boolean = false):boolean; + //procedure ConsumeOperExtention(oper: tx86operand; const aOperExtention: string); procedure RecoverConsume(allowcomma:boolean); procedure AddReferences(dest,src : tx86operand); procedure SetSegmentOverride(oper:tx86operand;seg:tregister); @@ -93,6 +104,8 @@ Unit Rax86int; procedure BuildConstantOperand(oper: tx86operand); procedure BuildOpCode(instr : tx86instruction); procedure BuildConstant(constsize: byte); + procedure consume_voperand_ext(aop: tx86operand; aConsumeVOpExt: boolean = true); + function is_targetdirective(const s: string): boolean;virtual; procedure HandleTargetDirective;virtual; @@ -137,13 +150,15 @@ Unit Rax86int; firstoperator = AS_BYTE; lastoperator = AS___GOTPCREL; + OPEXT_STARTASMTOKEN: set of tasmtoken = [AS_LOPMASK,AS_LOPZEROMASK,AS_LOPBCST,AS_LOPSAE,AS_LOPER]; + _asmdirectives : array[firstdirective..lastdirective] of tasmkeyword = ('ALIGN','DB','DW','DD','DQ','PUBLIC','END'); { problems with shl,shr,not,and,or and xor, they are } { context sensitive. } _asmoperators : array[firstoperator..lastoperator] of tasmkeyword = ( - 'BYTE','WORD','DWORD','QWORD','TBYTE','DQWORD','OWORD','XMMWORD','YWORD','YMMWORD','NEAR','FAR','HIGH', + 'BYTE','WORD','DWORD','QWORD','TBYTE','DQWORD','OWORD','XMMWORD','YWORD','YMMWORD','ZWORD','ZMMWORD','NEAR','FAR','HIGH', 'LOW','OFFSET','SIZEOF','VMTOFFSET','SEG','TYPE','PTR','MOD','SHL','SHR','NOT','AND', 'OR','XOR','WRT','GOTPCREL'); @@ -152,10 +167,12 @@ Unit Rax86int; ',','[',']','(', ')',':','.','+','-','*', ';','identifier','register','opcode','/', + '','','','','','','','','','','', + '','','','','', '','','','','','','END', - '','','','','','','','','','','','', + '','','','','','','','','','','','','','', '','','','sizeof','vmtoffset','','type','ptr','mod','shl','shr','not', - 'and','or','xor','wrt','..gotpcrel','' + 'and','or','xor','wrt','..gotpcrel','','{RN-SAE}' ); constructor tx86intreader.create; @@ -166,6 +183,8 @@ Unit Rax86int; iasmops:=TFPHashList.create; for i:=firstop to lastop do iasmops.Add(upper(std_op2str[i]),Pointer(PtrInt(i))); + + actoperextention := ''; end; @@ -282,13 +301,18 @@ Unit Rax86int; end; - Procedure tx86intreader.GetToken; + Procedure tx86intreader.GetToken(check_operand_extention: boolean); var len : longint; forcelabel : boolean; srsym : tsym; srsymtable : TSymtable; + scomment: string; + schar: char; + old_commentstyle: tcommentstyle; begin + actoperextention := ''; + c:=scanner.c; { save old token and reset new token } prevasmtoken:=actasmtoken; @@ -440,6 +464,85 @@ Unit Rax86int; c:=current_scanner.asmgetchar; end; end; + //if prevasmtoken in [AS_LOPMASK,AS_LOPZEROMASK,AS_LOPBCST,AS_LOPSAE,AS_LOPER] then + if prevasmtoken in OPEXT_STARTASMTOKEN then + begin + if (prevasmtoken = AS_LOPER) and (c = '-') then + begin + actasmpattern := actasmpattern + c; + c:=current_scanner.asmgetchar; + while c in ['A'..'Z','a'..'z'] do + begin + actasmpattern:=actasmpattern + c; + c:=current_scanner.asmgetchar; + end; + end; + + + { allow spaces } + while (c in [' ',#9]) do + c:=current_scanner.asmgetchar; + + if c = '}' then + begin + current_scanner.readchar; + case prevasmtoken of + AS_LOPMASK: if (length(actasmpattern) = 2) and + (actasmpattern[2] in ['1'..'7']) then + begin + actasmtoken := AS_VOPMASK; + end; + AS_LOPZEROMASK: + if (actasmpattern = 'z') or + (actasmpattern = 'Z') then + begin + actasmtoken := AS_VOPZEROMASK; + end; + AS_LOPBCST: + begin + actasmpattern_origcase:=actasmpattern; + uppervar(actasmpattern); + + if (actasmpattern = '1TO2') then actasmtoken := AS_OPBCST1TO2 + else if (actasmpattern = '1TO4') then actasmtoken := AS_OPBCST1TO4 + else if (actasmpattern = '1TO8') then actasmtoken := AS_OPBCST1TO8 + else if (actasmpattern = '1TO16') then actasmtoken := AS_OPBCST1TO16 + else actasmpattern := actasmpattern_origcase; + end; + AS_LOPSAE: + begin + actasmpattern_origcase:=actasmpattern; + uppervar(actasmpattern); + + if (actasmpattern = 'SAE') then actasmtoken := AS_OPSAE + else actasmpattern := actasmpattern_origcase; + end; + AS_LOPER: + begin + actasmpattern_origcase:=actasmpattern; + uppervar(actasmpattern); + + if (actasmpattern = 'RD-SAE') then actasmtoken := AS_OPRDSAE + else if (actasmpattern = 'RN-SAE') then actasmtoken := AS_OPRNSAE + else if (actasmpattern = 'RU-SAE') then actasmtoken := AS_OPRUSAE + else if (actasmpattern = 'RZ-SAE') then actasmtoken := AS_OPRZSAE + else actasmpattern := actasmpattern_origcase; + end + + else ; // is completely comment =>> nothing todo + + end; + exit; + end + else + begin + if c = '{' then current_scanner.inc_comment_level; + current_scanner.skipcomment(false); // is comment + actasmpattern := ''; + actasmtoken := AS_NONE; + exit; + end; + end; if is_asmdirective(actasmpattern) then exit; if is_asmoperator(actasmpattern) then @@ -709,52 +812,91 @@ Unit Rax86int; '0'..'9': begin - actasmpattern:=c; - c:=current_scanner.asmgetchar; - { Get the possible characters } - while c in ['0'..'9','A'..'F','a'..'f'] do - begin - actasmpattern:=actasmpattern + c; + if prevasmtoken = AS_LOPBCST then + begin + actasmpattern:=c; + c:=current_scanner.asmgetchar; + { Get the possible characters } + while c in ['1','2','4','6','8','t','T','o','O'] do + begin + actasmpattern:=actasmpattern + c; + c:=current_scanner.asmgetchar; + end; + + while (c in [' ',#9]) do c:=current_scanner.asmgetchar; - end; - { Get ending character } - actasmpattern_origcase:=actasmpattern; - uppervar(actasmpattern); - c:=upcase(c); - { possibly a binary number. } - if (actasmpattern[length(actasmpattern)] = 'B') and (c <> 'H') then - Begin - { Delete the last binary specifier } - delete(actasmpattern,length(actasmpattern),1); - actasmpattern:=tostr(ParseVal(actasmpattern,2)); - actasmtoken:=AS_INTNUM; + + if c = '}' then + begin + actasmpattern_origcase:=actasmpattern; + uppervar(actasmpattern); + + if (actasmpattern = '1TO2') then actasmtoken := AS_OPBCST1TO2 + else if (actasmpattern = '1TO4') then actasmtoken := AS_OPBCST1TO4 + else if (actasmpattern = '1TO8') then actasmtoken := AS_OPBCST1TO8 + else if (actasmpattern = '1TO16') then actasmtoken := AS_OPBCST1TO16 + else actasmpattern := actasmpattern_origcase; + c:=current_scanner.asmgetchar; + end + else + begin + if c = '{' then current_scanner.inc_comment_level; + current_scanner.skipcomment(false); // is comment + end; + + actasmpattern := ''; exit; - end + end else - Begin - case c of - 'O' : - Begin - actasmpattern:=tostr(ParseVal(actasmpattern,8)); - actasmtoken:=AS_INTNUM; - c:=current_scanner.asmgetchar; - exit; - end; - 'H' : - Begin - actasmpattern:=tostr(ParseVal(actasmpattern,16)); - actasmtoken:=AS_INTNUM; - c:=current_scanner.asmgetchar; - exit; - end; - else { must be an integer number } - begin - actasmpattern:=tostr(ParseVal(actasmpattern,10)); - actasmtoken:=AS_INTNUM; - exit; - end; + begin + + actasmpattern:=c; + c:=current_scanner.asmgetchar; + { Get the possible characters } + while c in ['0'..'9','A'..'F','a'..'f'] do + begin + actasmpattern:=actasmpattern + c; + c:=current_scanner.asmgetchar; end; - end; + { Get ending character } + actasmpattern_origcase:=actasmpattern; + uppervar(actasmpattern); + c:=upcase(c); + { possibly a binary number. } + if (actasmpattern[length(actasmpattern)] = 'B') and (c <> 'H') then + Begin + { Delete the last binary specifier } + delete(actasmpattern,length(actasmpattern),1); + actasmpattern:=tostr(ParseVal(actasmpattern,2)); + actasmtoken:=AS_INTNUM; + exit; + end + else + Begin + case c of + 'O' : + Begin + actasmpattern:=tostr(ParseVal(actasmpattern,8)); + actasmtoken:=AS_INTNUM; + c:=current_scanner.asmgetchar; + exit; + end; + 'H' : + Begin + actasmpattern:=tostr(ParseVal(actasmpattern,16)); + actasmtoken:=AS_INTNUM; + c:=current_scanner.asmgetchar; + exit; + end; + else { must be an integer number } + begin + actasmpattern:=tostr(ParseVal(actasmpattern,10)); + actasmtoken:=AS_INTNUM; + exit; + end; + end; + end; + end; end; #13,#10: @@ -776,8 +918,47 @@ Unit Rax86int; '{': begin - current_scanner.skipcomment(true); - GetToken; + if not(check_operand_extention) then current_scanner.skipcomment(true) + else // exists operand extention e.g. AVX512 {k1..k7} or {z} or {1to8} + begin + case current_scanner.asmgetchar of + '{': begin + current_scanner.inc_comment_level; + current_scanner.skipcomment(true); + end; + '}': ; // local comment closed + 'k', + 'K': begin + actasmtoken := AS_LOPMASK; + exit; + end; + 'z', + 'Z': begin + actasmtoken := AS_LOPZEROMASK; + exit; + end; + + '1': begin + actasmtoken := AS_LOPBCST; + exit; + end; + 's', + 'S': begin + actasmtoken := AS_LOPSAE; + exit; + end; + 'r', + 'R': begin + actasmtoken := AS_LOPER; + exit; + end; + else begin + current_scanner.skipcomment(false); + end; + end; + end; + + GetToken(check_operand_extention); end; else @@ -787,7 +968,7 @@ Unit Rax86int; end; - function tx86intreader.consume(t : tasmtoken):boolean; + function tx86intreader.consume(t : tasmtoken; check_operand_extention: boolean):boolean; begin Consume:=true; if t<>actasmtoken then @@ -796,10 +977,63 @@ Unit Rax86int; Consume:=false; end; repeat - gettoken; + gettoken(check_operand_extention); until actasmtoken<>AS_NONE; end; + //procedure tx86intreader.ConsumeOperExtention(oper: tx86operand; const aOperExtention: string); + //begin + // //if oper.reg + //end; + + procedure tx86intreader.consume_voperand_ext(aop: tx86operand; aConsumeVOpExt: boolean); + var + kreg: tregister; + begin + Consume(actasmtoken, true); + if actasmtoken in [AS_VOPMASK, AS_VOPZEROMASK, AS_OPBCST1TO2, AS_OPBCST1TO4, AS_OPBCST1TO8, AS_OPBCST1TO16, + AS_OPSAE,AS_OPRNSAE,AS_OPRDSAE,AS_OPRUSAE,AS_OPRZSAE] then + begin + case actasmtoken of + AS_VOPMASK: begin + kreg := masm_regnum_search(lower(actasmpattern)); + if (kreg >= NR_K1) and + (kreg <= NR_K7) then + begin + aop.vopext := aop.vopext or (tregisterrec(kreg).supreg and $07); + aop.vopext := aop.vopext or OTVE_VECTOR_WRITEMASK; + end; + end; + AS_VOPZEROMASK: aop.vopext := aop.vopext or OTVE_VECTOR_ZERO; + AS_OPBCST1TO2: begin + aop.vopext := aop.vopext or OTVE_VECTOR_BCST or OTVE_VECTOR_BCST2; + aop.vbcst := 2; + end; + AS_OPBCST1TO4: begin + aop.vopext := aop.vopext or OTVE_VECTOR_BCST or OTVE_VECTOR_BCST4; + aop.vbcst := 4; + end; + AS_OPBCST1TO8: begin + aop.vopext := aop.vopext or OTVE_VECTOR_BCST or OTVE_VECTOR_BCST8; + aop.vbcst := 8; + end; + AS_OPBCST1TO16: begin + aop.vopext := aop.vopext or OTVE_VECTOR_BCST or OTVE_VECTOR_BCST16; + aop.vbcst := 16; + end; + AS_OPSAE: aop.vopext := aop.vopext or OTVE_VECTOR_SAE; + AS_OPRNSAE: aop.vopext := aop.vopext or OTVE_VECTOR_RNSAE; + AS_OPRDSAE: aop.vopext := aop.vopext or OTVE_VECTOR_RDSAE; + AS_OPRUSAE: aop.vopext := aop.vopext or OTVE_VECTOR_RUSAE; + AS_OPRZSAE: aop.vopext := aop.vopext or OTVE_VECTOR_RZSAE; + else + Internalerror(2019081009); + end; + + if aConsumeVOpExt then + Consume(actasmtoken, true); + end; + end; procedure tx86intreader.RecoverConsume(allowcomma:boolean); begin @@ -1012,7 +1246,7 @@ Unit Rax86int; while (actasmtoken=AS_DOT) do begin Consume(AS_DOT); - if actasmtoken in [AS_BYTE,AS_ID,AS_WORD,AS_DWORD,AS_QWORD,AS_OWORD,AS_XMMWORD,AS_YWORD,AS_YMMWORD,AS_REGISTER] then + if actasmtoken in [AS_BYTE,AS_ID,AS_WORD,AS_DWORD,AS_QWORD,AS_OWORD,AS_XMMWORD,AS_YWORD,AS_YMMWORD,AS_ZWORD,AS_ZMMWORD,AS_REGISTER] then begin s:=s+'.'+actasmpattern; consume(actasmtoken); @@ -1780,7 +2014,14 @@ Unit Rax86int; AS_REGISTER : begin hreg:=actasmregister; - Consume(AS_REGISTER); + + Consume(AS_REGISTER, true); + + while actasmtoken in OPEXT_STARTASMTOKEN do + begin + consume_voperand_ext(oper); + end; + if actasmtoken=AS_COLON then begin Consume(AS_COLON); @@ -1948,7 +2189,15 @@ Unit Rax86int; begin if GotPlus or GotStar or BracketlessReference then Message(asmr_e_invalid_reference_syntax); - Consume(AS_RBRACKET); + + Consume(AS_RBRACKET, true); + while actasmtoken in OPEXT_STARTASMTOKEN do + begin + consume_voperand_ext(oper); + end; + + + if actasmtoken=AS_LBRACKET then begin tmpoper:=Tx86Operand.create; @@ -2048,6 +2297,7 @@ Unit Rax86int; end; end; + var expr, hs : string; @@ -2057,7 +2307,10 @@ Unit Rax86int; toffset, tsize : tcgint; hastypecast: boolean; + begin + oper.vopext := 0; + expr:=''; repeat if actasmtoken=AS_DOT then @@ -2291,7 +2544,14 @@ Unit Rax86int; { is it a normal variable ? } Begin expr:=actasmpattern; - Consume(AS_ID); + Consume(AS_ID, true); + + while actasmtoken in OPEXT_STARTASMTOKEN do + begin + consume_voperand_ext(oper); + end; + + { typecasting? } if SearchType(expr,l) then begin @@ -2353,7 +2613,16 @@ Unit Rax86int; begin { save the type of register used. } tempreg:=actasmregister; - Consume(AS_REGISTER); + Consume(AS_REGISTER, true); + + if (getregtype(tempreg) in [R_MMREGISTER, R_ADDRESSREGISTER]) then + begin + while actasmtoken in OPEXT_STARTASMTOKEN do + begin + consume_voperand_ext(oper); + end; + end; + if actasmtoken = AS_COLON then Begin Consume(AS_COLON); @@ -2386,7 +2655,10 @@ Unit Rax86int; AS_OWORD, AS_XMMWORD, AS_YWORD, - AS_YMMWORD: + AS_YMMWORD, + AS_ZWORD, + AS_ZMMWORD + : begin { Type specifier } oper.hastype:=true; @@ -2402,6 +2674,8 @@ Unit Rax86int; AS_XMMWORD: oper.typesize:=16; AS_YWORD, AS_YMMWORD: oper.typesize:=32; + AS_ZWORD, + AS_ZMMWORD: oper.typesize:=64; else internalerror(2010061101); end; @@ -2446,6 +2720,9 @@ Unit Rax86int; end; end; until false; + + + { End of operand, update size if a typecast is forced } if (oper.typesize<>0) and (oper.opr.typ in [OPR_REFERENCE,OPR_LOCAL]) then @@ -2599,7 +2876,7 @@ Unit Rax86int; Message(asmr_e_too_many_operands) else Dec(operandnum); - Consume(AS_COMMA); + Consume(AS_COMMA, true); end; {Far constant, i.e. jmp $0000:$11111111.} @@ -2639,6 +2916,21 @@ Unit Rax86int; end; BuildOperand(instr.Operands[operandnum] as tx86operand,false); end; + AS_LOPSAE, + AS_LOPER: + if operandnum < max_operands then + begin + consume_voperand_ext(instr.Operands[operandnum + 1] as tx86operand, false); + if actasmtoken in [AS_OPSAE,AS_OPRNSAE,AS_OPRDSAE,AS_OPRUSAE,AS_OPRZSAE] then + begin + consume(actasmtoken); + // ignore operand + if actasmtoken in [AS_END,AS_SEPARATOR,AS_COMMA] then inc(operandnum) + else Message(asmr_e_syntax_error); + end + else Message(asmr_e_syntax_error); + end + else Message(asmr_e_syntax_error); else BuildOperand(instr.Operands[operandnum] as tx86operand,false); end; { end case } diff --git a/compiler/x86/x86ins.dat b/compiler/x86/x86ins.dat index 602100450d..6a48f1f3dd 100644 --- a/compiler/x86/x86ins.dat +++ b/compiler/x86/x86ins.dat @@ -1124,6 +1124,7 @@ void \325\1\xA5 386 xmmreg,xmmrm \334\2\x0F\x10\110 WILLAMETTE,SSE2 xmmrm,xmmreg \334\2\x0F\x11\101 WILLAMETTE,SSE2 + [MOVSQ] (Ch_RWRSI, Ch_WMemEDI, Ch_RWRDI, Ch_RDirFlag) void \326\1\xA5 X86_64 @@ -3604,23 +3605,38 @@ xmmreg,xmmrm,imm8 \361\3\xf\x3A\x44\110\26 CLMUL,SANDY [VADDPD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\370\1\x58\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x58\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x58\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x58\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x58\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x58\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\370\1\x58\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\370\1\x58\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x58\75\120 AVX512,TFV + [VADDPS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \362\370\1\x58\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x58\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x58\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x58\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x58\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x58\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\370\1\x58\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\370\1\x58\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x58\75\120 AVX512,TFV + [VADDSD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem64 \334\362\370\1\x58\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \334\362\370\1\x58\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem64 \334\350\352\362\370\1\x58\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_er \334\350\352\362\370\1\x58\75\120 AVX,SANDYBRIDGE + [VADDSS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem32 \333\362\370\1\x58\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \333\362\370\1\x58\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem32 \333\350\362\370\1\x58\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_er \333\350\362\370\1\x58\75\120 AVX,SANDYBRIDGE + + [VADDSUBPD] (Ch_All) @@ -3634,19 +3650,22 @@ xmmreg,xmmreg,xmmrm \334\362\370\1\xD0\75\120 AVX,SA [VAESDEC] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\xDE\75\120 AVX,SANDYBRIDGE +xmmreg,xmmreg,xmmrm \350\361\362\371\1\xDE\75\120 AVX,SANDYBRIDGE,TFV + [VAESDECLAST] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\xDF\75\120 AVX,SANDYBRIDGE +xmmreg,xmmreg,xmmrm \350\361\362\371\1\xDF\75\120 AVX,SANDYBRIDGE,TFV + [VAESENC] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\xDC\75\120 AVX,SANDYBRIDGE +xmmreg,xmmreg,xmmrm \350\361\362\371\1\xDC\75\120 AVX,SANDYBRIDGE,TFV [VAESENCLAST] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\xDD\75\120 AVX,SANDYBRIDGE +xmmreg,xmmreg,xmmrm \350\361\362\371\1\xDD\75\120 AVX,SANDYBRIDGE,TFV + [VAESIMC] (Ch_All) @@ -3658,23 +3677,47 @@ xmmreg,xmmrm,imm8 \361\362\372\1\xDF\110\26 AVX,SA [VANDNPD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\370\1\x55\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x55\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x55\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x55\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x55\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x55\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\x55\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x55\75\120 AVX512,TFV + + [VANDNPS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \362\370\1\x55\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x55\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x55\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x55\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x55\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x55\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\370\1\x55\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x55\75\120 AVX512,TFV + + [VANDPD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\370\1\x54\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x54\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x54\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x54\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x54\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x54\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\x54\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x54\75\120 AVX512,TFV + + [VANDPS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \362\370\1\x54\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x54\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x54\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x54\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x54\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x54\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\370\1\x54\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x54\75\120 AVX512,TFV + + [VBLENDPD] (Ch_All) @@ -3702,15 +3745,23 @@ ymmreg,mem128 \361\362\364\371\1\x1A\110 AVX,SA [VBROADCASTSD] (Ch_All) -ymmreg,mem64 \361\362\364\371\1\x19\110 AVX,SANDYBRIDGE -ymmreg,xmmreg \361\362\364\371\1\x19\110 AVX2 +ymmreg_mz,mem64 \350\352\361\362\364\371\1\x19\110 AVX,SANDYBRIDGE,T1S +ymmreg_mz,xmmreg \350\352\361\362\364\371\1\x19\110 AVX2 +zmmreg_mz,mem64 \350\351\352\361\371\1\x19\110 AVX512,T1S +zmmreg_mz,xmmreg \350\351\352\361\371\1\x19\110 AVX512 + + [VBROADCASTSS] (Ch_All) -ymmreg,mem32 \361\362\364\371\1\x18\110 AVX,SANDYBRIDGE -xmmreg,mem32 \361\362\371\1\x18\110 AVX,SANDYBRIDGE -ymmreg,xmmreg \361\362\364\371\1\x18\110 AVX2 -xmmreg,xmmreg \361\362\371\1\x18\110 AVX2 +xmmreg_mz,mem32 \350\361\362\371\1\x18\110 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg \350\361\362\371\1\x18\110 AVX2 +ymmreg_mz,mem32 \350\361\362\364\371\1\x18\110 AVX,SANDYBRIDGE,T1S +ymmreg_mz,xmmreg \350\361\362\364\371\1\x18\110 AVX2 +zmmreg_mz,mem32 \350\351\361\371\1\x18\110 AVX512,T1S +zmmreg_mz,xmmreg \350\351\361\371\1\x18\110 AVX512 + + [VCMPEQPS] (Ch_All) @@ -4040,144 +4091,270 @@ ymmreg,ymmreg,ymmrm \361\362\364\370\1\xC2\75\120\1\x1F AVX,SAND [VCMPPD] (Ch_All) -xmmreg,xmmreg,xmmrm,imm8 \361\362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm,imm8 \361\362\364\370\1\xC2\75\120\27 AVX,SANDYBRIDGE +kreg_m,xmmreg,xmmrm,imm8 \350\352\361\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,xmmreg,bmem64,imm8 \350\352\361\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,ymmreg,ymmrm,imm8 \350\352\361\364\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,ymmreg,bmem64,imm8 \350\352\361\364\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,zmmreg,mem512,imm8 \350\351\352\361\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,zmmreg,bmem64,imm8 \350\351\352\361\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,zmmreg,zmmreg_sae,imm8 \350\351\352\361\370\1\xC2\75\120\27 AVX512 +xmmreg,xmmreg,xmmrm,imm8 \361\362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE +ymmreg,ymmreg,ymmrm,imm8 \361\362\364\370\1\xC2\75\120\27 AVX,SANDYBRIDGE + + [VCMPPS] (Ch_All) -xmmreg,xmmreg,xmmrm,imm8 \362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm,imm8 \362\364\370\1\xC2\75\120\27 AVX,SANDYBRIDGE +kreg_m,xmmreg,xmmrm,imm8 \350\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,xmmreg,bmem32,imm8 \350\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,ymmreg,ymmrm,imm8 \350\364\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,ymmreg,bmem32,imm8 \350\364\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,zmmreg,mem512,imm8 \350\351\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,zmmreg,bmem32,imm8 \350\351\370\1\xC2\75\120\27 AVX512,TFV +kreg_m,zmmreg,zmmreg_sae,imm8 \350\351\370\1\xC2\75\120\27 AVX512 +xmmreg,xmmreg,xmmrm,imm8 \362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE +ymmreg,ymmreg,ymmrm,imm8 \362\364\370\1\xC2\75\120\27 AVX,SANDYBRIDGE + [VCMPSD] (Ch_All) -xmmreg,xmmreg,mem64,imm8 \334\362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg,imm8 \334\362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE +kreg_m,xmmreg,mem64,imm8 \334\350\352\370\1\xC2\75\120\27 AVX512,T1S +kreg_m,xmmreg,xmmreg_sae,imm8 \334\350\352\370\1\xC2\75\120\27 AVX512 +xmmreg,xmmreg,xmmreg,imm8 \334\362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE +xmmreg,xmmreg,mem64,imm8 \334\362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE + [VCMPSS] (Ch_All) -xmmreg,xmmreg,mem64,imm8 \333\362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg,imm8 \333\362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE +kreg_m,xmmreg,mem32,imm8 \333\350\370\1\xC2\75\120\27 AVX512,T1S +kreg_m,xmmreg,xmmreg_sae,imm8 \333\350\370\1\xC2\75\120\27 AVX512 +xmmreg,xmmreg,xmmreg,imm8 \333\362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE +xmmreg,xmmreg,mem64,imm8 \333\362\370\1\xC2\75\120\27 AVX,SANDYBRIDGE [VCOMISD] (Ch_Rop1, Ch_Rop2, Ch_WFlags) -xmmreg,mem64 \361\362\370\1\x2F\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\370\1\x2F\110 AVX,SANDYBRIDGE +xmmreg,mem64 \350\352\361\362\370\1\x2F\110 AVX,SANDYBRIDGE,T1S +xmmreg,xmmreg_sae \350\352\361\362\370\1\x2F\110 AVX,SANDYBRIDGE + [VCOMISS] (Ch_Rop1, Ch_Rop2, Ch_WFlags) -xmmreg,mem32 \362\370\1\x2F\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \362\370\1\x2F\110 AVX,SANDYBRIDGE +xmmreg,mem32 \350\362\370\1\x2F\110 AVX,SANDYBRIDGE,T1S +xmmreg,xmmreg_sae \350\362\370\1\x2F\110 AVX,SANDYBRIDGE + [VCVTDQ2PD] (Ch_Wop2, Ch_Rop1) -xmmreg,mem64 \333\362\370\1\xE6\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \333\362\370\1\xE6\110 AVX,SANDYBRIDGE -ymmreg,xmmreg \333\362\364\370\1\xE6\110 AVX,SANDYBRIDGE -ymmreg,mem128 \333\362\364\370\1\xE6\110 AVX,SANDYBRIDGE +xmmreg_mz,mem64 \333\350\362\370\1\xE6\110 AVX,SANDYBRIDGE,THV +xmmreg_mz,xmmreg \333\350\362\370\1\xE6\110 AVX,SANDYBRIDGE +xmmreg_mz,bmem32 \333\350\370\1\xE6\110 AVX512,BCST2,THV +ymmreg_mz,mem128 \333\350\362\364\370\1\xE6\110 AVX,SANDYBRIDGE,THV +ymmreg_mz,xmmreg \333\350\362\364\370\1\xE6\110 AVX,SANDYBRIDGE +ymmreg_mz,bmem32 \333\350\364\370\1\xE6\110 AVX512,BCST4,THV +zmmreg_mz,mem256 \333\350\351\370\1\xE6\110 AVX512,THV +zmmreg_mz,ymmreg_er \333\350\351\370\1\xE6\110 AVX512 +zmmreg_mz,bmem32 \333\350\351\370\1\xE6\110 AVX512,BCST8,THV + + [VCVTDQ2PS] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \362\370\1\x5B\110 AVX,SANDYBRIDGE -ymmreg,ymmrm \362\364\370\1\x5B\110 AVX,SANDYBRIDGE +xmmreg_mz,xmmrm \350\362\370\1\x5B\110 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem32 \350\370\1\x5B\110 AVX512,TFV +ymmreg_mz,ymmrm \350\362\364\370\1\x5B\110 AVX,SANDYBRIDGE,TFV +ymmreg_mz,bmem32 \350\364\370\1\x5B\110 AVX512,TFV +zmmreg_mz,mem512 \350\351\370\1\x5B\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\370\1\x5B\110 AVX512,TFV +zmmreg_mz,zmmreg_er \350\351\370\1\x5B\110 AVX512 + [VCVTPD2DQ,vcvtpd2dqM] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \334\362\370\1\xE6\110 AVX,SANDYBRIDGE -xmmreg,ymmrm \334\362\364\370\1\xE6\110 AVX,SANDYBRIDGE +xmmreg_mz,mem128 \334\350\352\362\370\1\xE6\110 AVX,SANDYBRIDGE,TFV +xmmreg_mz,mem256 \334\350\352\362\364\370\1\xE6\110 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg \334\350\352\362\370\1\xE6\110 AVX,SANDYBRIDGE +xmmreg_mz,bmem64 \334\350\352\370\1\xE6\110 AVX512,BCST2,TFV +xmmreg_mz,bmem64 \334\350\352\364\370\1\xE6\110 AVX512,BCST4,TFV +xmmreg_mz,ymmreg \334\350\352\362\364\370\1\xE6\110 AVX,SANDYBRIDGE +ymmreg_mz,mem512 \334\350\351\352\370\1\xE6\110 AVX512,TFV +ymmreg_mz,bmem64 \334\350\351\352\370\1\xE6\110 AVX512,BCST8,TFV +ymmreg_mz,zmmreg_er \334\350\351\352\370\1\xE6\110 AVX512 + [VCVTPD2PS,vcvtpd2psM] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \361\362\370\1\x5A\110 AVX,SANDYBRIDGE -xmmreg,ymmrm \361\362\364\370\1\x5A\110 AVX,SANDYBRIDGE +xmmreg_mz,mem128 \350\352\361\362\370\1\x5A\110 AVX,SANDYBRIDGE,TFV +xmmreg_mz,mem256 \350\352\361\362\364\370\1\x5A\110 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg \350\352\361\362\370\1\x5A\110 AVX,SANDYBRIDGE +xmmreg_mz,bmem64 \350\352\361\370\1\x5A\110 AVX512,BCST2,TFV +xmmreg_mz,bmem64 \350\352\361\364\370\1\x5A\110 AVX512,BCST4,TFV +xmmreg_mz,ymmreg \350\352\361\362\364\370\1\x5A\110 AVX,SANDYBRIDGE +ymmreg_mz,mem512 \350\351\352\361\370\1\x5A\110 AVX512,TFV +ymmreg_mz,bmem64 \350\351\352\361\370\1\x5A\110 AVX512,BCST8,TFV +ymmreg_mz,zmmreg_er \350\351\352\361\370\1\x5A\110 AVX512 + +[VCVTPH2PS] +(Ch_Wop2, Ch_Rop1) +xmmreg_mz,mem64 \350\361\362\371\1\x13\110 AVX,THVM +xmmreg_mz,xmmreg \350\361\362\371\1\x13\110 AVX +ymmreg_mz,mem128 \350\361\362\364\371\1\x13\110 AVX,THVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x13\110 AVX +zmmreg_mz,mem256 \350\351\361\371\1\x13\110 AVX512,THVM +zmmreg_mz,ymmreg_sae \350\351\361\371\1\x13\110 AVX512 + [VCVTPS2DQ] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \361\362\370\1\x5B\110 AVX,SANDYBRIDGE -ymmreg,ymmrm \361\362\364\370\1\x5B\110 AVX,SANDYBRIDGE +xmmreg_mz,mem128 \350\361\362\370\1\x5B\110 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg \350\361\362\370\1\x5B\110 AVX,SANDYBRIDGE +xmmreg_mz,bmem32 \350\361\370\1\x5B\110 AVX512,TFV +ymmreg_mz,mem256 \350\361\362\364\370\1\x5B\110 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg \350\361\362\364\370\1\x5B\110 AVX,SANDYBRIDGE +ymmreg_mz,bmem32 \350\361\364\370\1\x5B\110 AVX512,TFV +zmmreg_mz,mem512 \350\351\361\370\1\x5B\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\361\370\1\x5B\110 AVX512,TFV +zmmreg_mz,zmmreg_er \350\351\361\370\1\x5B\110 AVX512 + [VCVTPS2PD] (Ch_Wop2, Ch_Rop1) -xmmreg,mem64 \362\370\1\x5A\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \362\370\1\x5A\110 AVX,SANDYBRIDGE -ymmreg,xmmrm \362\364\370\1\x5A\110 AVX,SANDYBRIDGE +xmmreg_mz,mem64 \350\362\370\1\x5A\110 AVX,SANDYBRIDGE,THV +xmmreg_mz,xmmreg \350\362\370\1\x5A\110 AVX,SANDYBRIDGE +xmmreg_mz,bmem32 \350\370\1\x5A\110 AVX512,BCST2,THV +ymmreg_mz,mem128 \350\362\364\370\1\x5A\110 AVX,SANDYBRIDGE,THV +ymmreg_mz,xmmreg \350\362\364\370\1\x5A\110 AVX,SANDYBRIDGE +ymmreg_mz,bmem32 \350\364\370\1\x5A\110 AVX512,BCST4,THV +zmmreg_mz,mem256 \350\351\370\1\x5A\110 AVX512,THV +zmmreg_mz,ymmreg_sae \350\351\370\1\x5A\110 AVX512 +zmmreg_mz,bmem32 \350\351\370\1\x5A\110 AVX512,BCST8,THV + + +[VCVTPS2PH] +(Ch_Wop3, Ch_Rop2, Ch_Rop1) +mem128_m,ymmreg,imm8 \350\361\362\364\372\1\x1D\101\26 AVX,THVM +mem256_m,zmmreg_sae,imm8 \350\351\361\372\1\x1D\101\26 AVX512,THVM +mem64_m,xmmreg,imm8 \350\361\362\372\1\x1D\101\26 AVX,THVM +xmmreg_mz,xmmreg,imm8 \350\361\362\372\1\x1D\101\26 AVX +xmmreg_mz,ymmreg,imm8 \350\361\362\364\372\1\x1D\101\26 AVX +ymmreg_mz,zmmreg_sae,imm8 \350\351\361\372\1\x1D\101\26 AVX512 + [VCVTSD2SI] (Ch_Wop2, Ch_Rop1) -reg32,mem64 \334\362\370\1\x2D\110 AVX,SANDYBRIDGE -reg32,xmmreg \334\362\370\1\x2D\110 AVX,SANDYBRIDGE -reg64,mem64 \334\362\363\370\1\x2D\110 AVX,SANDYBRIDGE -reg64,xmmreg \334\362\363\370\1\x2D\110 AVX,SANDYBRIDGE +reg32,mem64 \334\350\362\370\1\x2D\110 AVX,SANDYBRIDGE,T1F64 +reg32,xmmreg_er \334\350\362\370\1\x2D\110 AVX,SANDYBRIDGE +reg64,mem64 \334\350\352\362\363\370\1\x2D\110 AVX,SANDYBRIDGE,T1F64 +reg64,xmmreg_er \334\350\352\362\363\370\1\x2D\110 AVX,SANDYBRIDGE + [VCVTSD2SS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem64 \334\362\370\1\x5A\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \334\362\370\1\x5A\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem64 \334\350\352\362\370\1\x5A\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_er \334\350\352\362\370\1\x5A\75\120 AVX,SANDYBRIDGE + [VCVTSI2SD,vcvtsi2sdX] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,rm32 \334\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD -xmmreg,xmmreg,rm64 \334\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64 +xmmreg,xmmreg_er,reg32 \334\350\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD +xmmreg,xmmreg,mem32 \334\350\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD,T1S +xmmreg,xmmreg_er,reg64 \334\350\352\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64 +xmmreg,xmmreg,mem64 \334\350\352\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64,T1S + [VCVTSI2SS,vcvtsi2ssX] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,rm32 \333\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD -xmmreg,xmmreg,rm64 \333\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64 +xmmreg,xmmreg_er,reg32 \333\350\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD +xmmreg,xmmreg,mem32 \333\350\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD,T1S +xmmreg,xmmreg_er,reg64 \333\350\352\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64 +xmmreg,xmmreg_er,mem64 \333\350\352\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64,T1S + [VCVTSS2SD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem32 \333\362\370\1\x5A\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \333\362\370\1\x5A\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem32 \333\350\362\370\1\x5A\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_sae \333\350\362\370\1\x5A\75\120 AVX,SANDYBRIDGE + [VCVTSS2SI] (Ch_Wop2, Ch_Rop1) -reg32,mem32 \333\362\370\1\x2D\110 AVX,SANDYBRIDGE -reg32,xmmreg \333\362\370\1\x2D\110 AVX,SANDYBRIDGE -reg64,mem32 \333\362\363\370\1\x2D\110 AVX,SANDYBRIDGE -reg64,xmmreg \333\362\363\370\1\x2D\110 AVX,SANDYBRIDGE +reg32,mem32 \333\350\362\370\1\x2D\110 AVX,SANDYBRIDGE,T1F32 +reg32,xmmreg_er \333\350\362\370\1\x2D\110 AVX,SANDYBRIDGE +reg64,mem32 \333\350\352\362\363\370\1\x2D\110 AVX,SANDYBRIDGE,T1F32 +reg64,xmmreg_er \333\350\352\362\363\370\1\x2D\110 AVX,SANDYBRIDGE + [VCVTTPD2DQ,vcvttpd2dqM] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \361\362\370\1\xE6\110 AVX,SANDYBRIDGE -xmmreg,ymmrm \361\362\364\370\1\xE6\110 AVX,SANDYBRIDGE +xmmreg_mz,mem128 \350\352\361\362\370\1\xE6\110 AVX,SANDYBRIDGE,AVX512,TFV +xmmreg_mz,mem256 \350\352\361\362\364\370\1\xE6\110 AVX,SANDYBRIDGE,AVX512,TFV +xmmreg_mz,xmmreg \350\352\361\362\370\1\xE6\110 AVX,SANDYBRIDGE,AVX512 +xmmreg_mz,bmem64 \350\352\361\370\1\xE6\110 AVX512,BCST2,TFV +xmmreg_mz,bmem64 \350\352\361\364\370\1\xE6\110 AVX512,BCST4,TFV +xmmreg_mz,ymmreg \350\352\361\362\364\370\1\xE6\110 AVX,SANDYBRIDGE +ymmreg_mz,mem512 \350\351\352\361\370\1\xE6\110 AVX512,TFV +ymmreg_mz,bmem64 \350\351\352\361\370\1\xE6\110 AVX512,BCST8,TFV +ymmreg_mz,zmmreg_sae \350\351\352\361\370\1\xE6\110 AVX512 [VCVTTPS2DQ] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \333\362\370\1\x5B\110 AVX,SANDYBRIDGE -ymmreg,ymmrm \333\362\364\370\1\x5B\110 AVX,SANDYBRIDGE +xmmreg_mz,xmmrm \333\350\362\370\1\x5B\110 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem32 \333\350\370\1\x5B\110 AVX512,TFV +ymmreg_mz,ymmrm \333\350\362\364\370\1\x5B\110 AVX,SANDYBRIDGE,TFV +ymmreg_mz,bmem32 \333\350\364\370\1\x5B\110 AVX512,TFV +zmmreg_mz,mem512 \333\350\351\370\1\x5B\110 AVX512,TFV +zmmreg_mz,bmem32 \333\350\351\370\1\x5B\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \333\350\351\370\1\x5B\110 AVX512 + [VCVTTSD2SI] (Ch_Wop2, Ch_Rop1) -reg32,mem64 \334\362\370\1\x2C\110 AVX,SANDYBRIDGE -reg32,xmmreg \334\362\370\1\x2C\110 AVX,SANDYBRIDGE -reg64,mem64 \334\362\363\370\1\x2C\110 AVX,SANDYBRIDGE -reg64,xmmreg \334\362\363\370\1\x2C\110 AVX,SANDYBRIDGE +reg32,mem64 \334\350\362\370\1\x2C\110 AVX,SANDYBRIDGE,T1F64 +reg32,xmmreg_sae \334\350\362\370\1\x2C\110 AVX,SANDYBRIDGE +reg64,mem64 \334\350\352\362\363\370\1\x2C\110 AVX,SANDYBRIDGE,T1F64 +reg64,xmmreg_sae \334\350\352\362\363\370\1\x2C\110 AVX,SANDYBRIDGE + [VCVTTSS2SI] (Ch_Wop2, Ch_Rop1) -reg32,mem32 \333\362\370\1\x2C\110 AVX,SANDYBRIDGE -reg32,xmmreg \333\362\370\1\x2C\110 AVX,SANDYBRIDGE -reg64,mem32 \333\362\363\370\1\x2C\110 AVX,SANDYBRIDGE -reg64,xmmreg \333\362\363\370\1\x2C\110 AVX,SANDYBRIDGE +reg32,mem32 \333\350\362\370\1\x2C\110 AVX,SANDYBRIDGE,T1F32 +reg32,xmmreg_sae \333\350\362\370\1\x2C\110 AVX,SANDYBRIDGE +reg64,mem32 \333\350\352\362\363\370\1\x2C\110 AVX,SANDYBRIDGE,T1F32 +reg64,xmmreg_sae \333\350\352\362\363\370\1\x2C\110 AVX,SANDYBRIDGE + [VDIVPD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\370\1\x5E\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x5E\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x5E\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x5E\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x5E\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x5E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\370\1\x5E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x5E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\370\1\x5E\75\120 AVX512 + [VDIVPS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \362\370\1\x5E\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x5E\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x5E\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x5E\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x5E\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x5E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\370\1\x5E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x5E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\370\1\x5E\75\120 AVX512 + [VDIVSD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem64 \334\362\370\1\x5E\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \334\362\370\1\x5E\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem64 \334\350\352\362\370\1\x5E\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_er \334\350\352\362\370\1\x5E\75\120 AVX,SANDYBRIDGE + [VDIVSS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem32 \333\362\370\1\x5E\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \333\362\370\1\x5E\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem32 \333\350\362\370\1\x5E\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_er \333\350\362\370\1\x5E\75\120 AVX,SANDYBRIDGE + [VDPPD] (Ch_All) @@ -4194,7 +4371,11 @@ xmmrm,ymmreg,imm8 \361\362\364\372\1\x19\101\26 AVX,SA [VEXTRACTPS] (Ch_All) -rm32,xmmreg,imm8 \361\362\372\1\x17\101\26 AVX,SANDYBRIDGE +mem32,xmmreg,imm8 \350\361\362\372\1\x17\101\26 AVX,SANDYBRIDGE,T1S +reg32,xmmreg,imm8 \350\361\362\372\1\x17\101\26 AVX,SANDYBRIDGE +reg64,xmmreg,imm8 \350\361\372\1\x17\101\26 AVX512 + + [VHADDPD] (Ch_All) @@ -4222,8 +4403,9 @@ ymmreg,ymmreg,xmmrm,imm8 \361\362\364\372\1\x18\75\120\27 AVX,SA [VINSERTPS] (Ch_All) -xmmreg,xmmreg,mem32,imm8 \361\362\372\1\x21\75\120\27 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg,imm8 \361\362\372\1\x21\75\120\27 AVX,SANDYBRIDGE +xmmreg,xmmreg,mem32,imm8 \350\361\362\372\1\x21\75\120\27 AVX,SANDYBRIDGE,T1S +xmmreg,xmmreg,xmmreg,imm8 \350\361\362\372\1\x21\75\120\27 AVX,SANDYBRIDGE + [VLDDQU] (Ch_All) @@ -4254,68 +4436,116 @@ xmmreg,xmmreg,mem128 \361\362\371\1\x2C\75\120 AVX,SA [VMAXPD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x5F\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x5F\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x5F\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x5F\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x5F\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x5F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_sae \350\351\352\361\370\1\x5F\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\370\1\x5F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x5F\75\120 AVX512,TFV + [VMAXPS] (Ch_All) -xmmreg,xmmreg,xmmrm \362\370\1\x5F\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x5F\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x5F\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x5F\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x5F\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x5F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\370\1\x5F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x5F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_sae \350\351\370\1\x5F\75\120 AVX512 + [VMAXSD] (Ch_All) -xmmreg,xmmreg,mem64 \334\362\370\1\x5F\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \334\362\370\1\x5F\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem64 \334\350\352\362\370\1\x5F\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_sae \334\350\352\362\370\1\x5F\75\120 AVX,SANDYBRIDGE + [VMAXSS] (Ch_All) -xmmreg,xmmreg,mem32 \333\362\370\1\x5F\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \333\362\370\1\x5F\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem32 \333\350\362\370\1\x5F\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_sae \333\350\362\370\1\x5F\75\120 AVX,SANDYBRIDGE [VMINPD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x5D\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x5D\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x5D\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x5D\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x5D\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x5D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\370\1\x5D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x5D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_sae \350\351\352\361\370\1\x5D\75\120 AVX512 + [VMINPS] (Ch_All) -xmmreg,xmmreg,xmmrm \362\370\1\x5D\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x5D\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x5D\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x5D\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x5D\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x5D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\370\1\x5D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x5D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_sae \350\351\370\1\x5D\75\120 AVX512 + [VMINSD] (Ch_All) -xmmreg,xmmreg,mem64 \334\362\370\1\x5D\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \334\362\370\1\x5D\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem64 \334\350\352\362\370\1\x5D\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_sae \334\350\352\362\370\1\x5D\75\120 AVX,SANDYBRIDGE + [VMINSS] (Ch_All) -xmmreg,xmmreg,mem32 \333\362\370\1\x5D\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \333\362\370\1\x5D\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem32 \333\350\362\370\1\x5D\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_sae \333\350\362\370\1\x5D\75\120 AVX,SANDYBRIDGE + [VMOVAPD] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \361\362\370\1\x28\110 AVX,SANDYBRIDGE -xmmrm,xmmreg \361\362\370\1\x29\101 AVX,SANDYBRIDGE -ymmreg,ymmrm \361\362\364\370\1\x28\110 AVX,SANDYBRIDGE -ymmrm,ymmreg \361\362\364\370\1\x29\101 AVX,SANDYBRIDGE +mem128_m,xmmreg \350\352\361\362\370\1\x29\101 AVX,SANDYBRIDGE,TFVM +mem256_m,ymmreg \350\352\361\362\364\370\1\x29\101 AVX,SANDYBRIDGE,TFVM +mem512_m,zmmreg \350\351\352\361\370\1\x29\101 AVX512,TFVM +xmmreg_mz,mem128 \350\352\361\362\370\1\x28\110 AVX,SANDYBRIDGE,TFVM +xmmreg_mz,xmmreg \350\352\361\362\370\1\x29\101 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg \350\352\361\362\370\1\x28\110 AVX,SANDYBRIDGE +ymmreg_mz,mem256 \350\352\361\362\364\370\1\x28\110 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg \350\352\361\362\364\370\1\x29\101 AVX,SANDYBRIDGE +ymmreg_mz,ymmreg \350\352\361\362\364\370\1\x28\110 AVX,SANDYBRIDGE +zmmreg_mz,mem512 \350\351\352\361\370\1\x28\110 AVX512,TFVM +zmmreg_mz,zmmreg \350\351\352\361\370\1\x28\110 AVX512 +zmmreg_mz,zmmreg \350\351\352\361\370\1\x29\101 AVX512 + [VMOVAPS] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \362\370\1\x28\110 AVX,SANDYBRIDGE -xmmrm,xmmreg \362\370\1\x29\101 AVX,SANDYBRIDGE -ymmreg,ymmrm \362\364\370\1\x28\110 AVX,SANDYBRIDGE -ymmrm,ymmreg \362\364\370\1\x29\101 AVX,SANDYBRIDGE +mem128_m,xmmreg \350\362\370\1\x29\101 AVX,SANDYBRIDGE,TFVM +mem256_m,ymmreg \350\362\364\370\1\x29\101 AVX,SANDYBRIDGE,TFVM +mem512_m,zmmreg \350\351\370\1\x29\101 AVX512,TFVM +xmmreg_mz,mem128 \350\362\370\1\x28\110 AVX,SANDYBRIDGE,TFVM +xmmreg_mz,xmmreg \350\362\370\1\x29\101 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg \350\362\370\1\x28\110 AVX,SANDYBRIDGE +ymmreg_mz,mem256 \350\362\364\370\1\x28\110 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg \350\362\364\370\1\x28\110 AVX,SANDYBRIDGE +ymmreg_mz,ymmreg \350\362\364\370\1\x29\101 AVX,SANDYBRIDGE +zmmreg_mz,mem512 \350\351\370\1\x28\110 AVX512,TFVM +zmmreg_mz,zmmreg \350\351\370\1\x29\101 AVX512 +zmmreg_mz,zmmreg \350\351\370\1\x28\110 AVX512 + [VMOVD] (Ch_Wop2, Ch_Rop1) -xmmreg,rm32 \361\362\370\1\x6E\110 AVX,SANDYBRIDGE -rm32,xmmreg \361\362\370\1\x7E\101 AVX,SANDYBRIDGE +rm32,xmmreg \350\361\362\370\1\x7E\101 AVX,SANDYBRIDGE,T1S +xmmreg,rm32 \350\361\362\370\1\x6E\110 AVX,SANDYBRIDGE,T1S + [VMOVDDUP] (Ch_Wop2, Ch_Rop1) -ymmreg,ymmrm \334\362\364\370\1\x12\110 AVX,SANDYBRIDGE -xmmreg,mem64 \334\362\370\1\x12\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \334\362\370\1\x12\110 AVX,SANDYBRIDGE +xmmreg_mz,mem64 \334\350\352\362\370\1\x12\110 AVX,SANDYBRIDGE,TMDDUP +xmmreg_mz,xmmreg \334\350\352\362\370\1\x12\110 AVX,SANDYBRIDGE +ymmreg_mz,ymmrm \334\350\352\362\364\370\1\x12\110 AVX,SANDYBRIDGE,TMDDUP +zmmreg_mz,zmmrm \334\350\351\352\370\1\x12\110 AVX512,TMDDUP + [VMOVDQA] (Ch_Wop2, Ch_Rop1) @@ -4333,31 +4563,35 @@ ymmrm,ymmreg \333\362\364\370\1\x7F\101 AVX,SA [VMOVHLPS] (Ch_All) -xmmreg,xmmreg,xmmreg \362\370\1\x12\75\120 AVX,SANDYBRIDGE +xmmreg,xmmreg,xmmreg \350\362\370\1\x12\75\120 AVX,SANDYBRIDGE [VMOVHPD] (Ch_All) -mem64,xmmreg \361\362\370\1\x17\101 AVX,SANDYBRIDGE -xmmreg,xmmreg,mem64 \361\362\370\1\x16\75\120 AVX,SANDYBRIDGE +mem64,xmmreg \350\352\361\362\370\1\x17\101 AVX,SANDYBRIDGE,T1S +xmmreg,xmmreg,mem64 \350\352\361\362\370\1\x16\75\120 AVX,SANDYBRIDGE,T1S + [VMOVHPS] (Ch_All) -xmmreg,xmmreg,mem64 \362\370\1\x16\75\120 AVX,SANDYBRIDGE -mem64,xmmreg \362\370\1\x17\101 AVX,SANDYBRIDGE +mem64,xmmreg \350\362\370\1\x17\101 AVX,SANDYBRIDGE,T2 +xmmreg,xmmreg,mem64 \350\362\370\1\x16\75\120 AVX,SANDYBRIDGE,T2 + [VMOVLHPS] (Ch_All) -xmmreg,xmmreg,xmmreg \362\370\1\x16\75\120 AVX,SANDYBRIDGE +xmmreg,xmmreg,xmmreg \350\362\370\1\x16\75\120 AVX,SANDYBRIDGE [VMOVLPD] (Ch_All) -mem64,xmmreg \361\362\370\1\x13\101 AVX,SANDYBRIDGE -xmmreg,xmmreg,mem64 \361\362\370\1\x12\75\120 AVX,SANDYBRIDGE +mem64,xmmreg \350\352\361\362\370\1\x13\101 AVX,SANDYBRIDGE,T1S +xmmreg,xmmreg,mem64 \350\352\361\362\370\1\x12\75\120 AVX,SANDYBRIDGE,T1S + [VMOVLPS] (Ch_All) -mem64,xmmreg \362\370\1\x13\101 AVX,SANDYBRIDGE -xmmreg,xmmreg,mem64 \362\370\1\x12\75\120 AVX,SANDYBRIDGE +mem64,xmmreg \350\362\370\1\x13\101 AVX,SANDYBRIDGE,T2 +xmmreg,xmmreg,mem64 \350\362\370\1\x12\75\120 AVX,SANDYBRIDGE,T2 + [VMOVMSKPD] (Ch_All) @@ -4375,72 +4609,99 @@ reg64,ymmreg \362\364\370\1\x50\110 AVX,SA [VMOVNTDQ] (Ch_Wop2, Ch_Rop1) -mem128,xmmreg \361\362\370\1\xE7\101 AVX,SANDYBRIDGE -mem256,ymmreg \361\362\364\370\1\xE7\101 AVX,SANDYBRIDGE +mem128,xmmreg \350\361\362\370\1\xE7\101 AVX,SANDYBRIDGE,TFVM +mem256,ymmreg \350\361\362\364\370\1\xE7\101 AVX,SANDYBRIDGE,TFVM +mem512,zmmreg \350\351\361\370\1\xE7\101 AVX512,TFVM [VMOVNTDQA] (Ch_Wop2, Ch_Rop1) -xmmreg,mem128 \361\362\371\1\x2A\110 AVX,SANDYBRIDGE -ymmreg,mem256 \361\362\364\371\1\x2A\110 AVX2 +xmmreg,mem128 \350\361\362\371\1\x2A\110 AVX,SANDYBRIDGE,TFVM +ymmreg,mem256 \350\361\362\364\371\1\x2A\110 AVX2,TFVM +zmmreg,mem512 \350\351\361\371\1\x2A\110 AVX512,TFVM + [VMOVNTPD] (Ch_Wop2, Ch_Rop1) -mem256,ymmreg \361\362\364\370\1\x2B\101 AVX,SANDYBRIDGE -mem128,xmmreg \361\362\370\1\x2B\101 AVX,SANDYBRIDGE +mem128,xmmreg \350\352\361\362\370\1\x2B\101 AVX,SANDYBRIDGE,TFVM +mem256,ymmreg \350\352\361\362\364\370\1\x2B\101 AVX,SANDYBRIDGE,TFVM +mem512,zmmreg \350\351\352\361\370\1\x2B\101 AVX512,TFVM + [VMOVNTPS] (Ch_Wop2, Ch_Rop1) -mem128,ymmreg \362\364\370\1\x2B\101 AVX,SANDYBRIDGE -mem128,xmmreg \362\370\1\x2B\101 AVX,SANDYBRIDGE +mem128,xmmreg \350\362\370\1\x2B\101 AVX,SANDYBRIDGE,TFVM +mem256,ymmreg \350\362\364\370\1\x2B\101 AVX,SANDYBRIDGE,TFVM +mem512,zmmreg \350\351\370\1\x2B\101 AVX512,TFVM + [VMOVQ] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmreg \362\333\370\1\x7E\110 AVX,SANDYBRIDGE -xmmreg,mem64 \362\333\370\1\x7E\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \362\361\370\1\xD6\101 AVX,SANDYBRIDGE -mem64,xmmreg \362\361\370\1\xD6\101 AVX,SANDYBRIDGE -rm64,xmmreg \362\361\363\370\1\x7E\101 AVX,SANDYBRIDGE,X86_64 -xmmreg,rm64 \362\361\363\370\1\x6E\110 AVX,SANDYBRIDGE,X86_64 +mem64,xmmreg \350\352\361\362\370\1\xD6\101 AVX,SANDYBRIDGE,T1S +rm64,xmmreg \350\352\361\362\363\370\1\x7E\101 AVX,SANDYBRIDGE,X86_64,T1S +xmmreg,mem64 \333\350\352\362\370\1\x7E\110 AVX,SANDYBRIDGE,T1S +xmmreg,rm64 \350\352\361\362\363\370\1\x6E\110 AVX,SANDYBRIDGE,X86_64,T1S +xmmreg,xmmreg \333\350\352\362\370\1\x7E\110 AVX,SANDYBRIDGE +xmmreg,xmmreg \350\352\361\362\370\1\xD6\101 AVX,SANDYBRIDGE + [VMOVSD] ; the three ops must be handle by the compiler internally (Ch_Wop2, Ch_Rop1) -xmmreg,xmmreg,xmmreg \334\362\370\1\x10\75\120 AVX,SANDYBRIDGE -xmmreg,mem64 \334\362\370\1\x10\110 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \334\362\370\1\x11\75\102 AVX,SANDYBRIDGE -mem64,xmmreg \334\362\370\1\x11\101 AVX,SANDYBRIDGE +mem64_m,xmmreg \334\350\352\362\370\1\x11\101 AVX,SANDYBRIDGE,T1S +xmmreg_mz,mem64 \334\350\352\362\370\1\x10\110 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg \334\350\352\362\370\1\x11\75\102 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmreg \334\350\352\362\370\1\x10\75\120 AVX,SANDYBRIDGE + [VMOVSHDUP] (Ch_All) -xmmreg,xmmrm \333\362\370\1\x16\110 AVX,SANDYBRIDGE -ymmreg,ymmrm \333\362\364\370\1\x16\110 AVX,SANDYBRIDGE +xmmreg_mz,xmmrm \333\350\362\370\1\x16\110 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmrm \333\350\362\364\370\1\x16\110 AVX,SANDYBRIDGE,TFVM +zmmreg_mz,zmmrm \333\350\351\370\1\x16\110 AVX512,TFVM + [VMOVSLDUP] (Ch_All) -xmmreg,xmmrm \333\362\370\1\x12\110 AVX,SANDYBRIDGE -ymmreg,ymmrm \333\362\364\370\1\x12\110 AVX,SANDYBRIDGE +xmmreg_mz,xmmrm \333\350\362\370\1\x12\110 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmrm \333\350\362\364\370\1\x12\110 AVX,SANDYBRIDGE,TFVM +zmmreg_mz,zmmrm \333\350\351\370\1\x12\110 AVX512,TFVM + [VMOVSS] ; the three ops must be handle by the compiler internally (Ch_Wop2, Ch_Rop1) -xmmreg,xmmreg,xmmreg \333\362\370\1\x10\75\120 AVX,SANDYBRIDGE -xmmreg,mem32 \333\362\370\1\x10\110 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \333\362\370\1\x11\75\102 AVX,SANDYBRIDGE -mem32,xmmreg \333\362\370\1\x11\101 AVX,SANDYBRIDGE +mem32_m,xmmreg \333\350\362\370\1\x11\101 AVX,SANDYBRIDGE,T1S +xmmreg_mz,mem32 \333\350\362\370\1\x10\110 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg \333\350\362\370\1\x11\75\102 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmreg \333\350\362\370\1\x10\75\120 AVX,SANDYBRIDGE + [VMOVUPD] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \361\362\370\1\x10\110 AVX,SANDYBRIDGE -xmmrm,xmmreg \361\362\370\1\x11\101 AVX,SANDYBRIDGE -ymmreg,ymmrm \361\362\364\370\1\x10\110 AVX,SANDYBRIDGE -ymmrm,ymmreg \361\362\364\370\1\x11\101 AVX,SANDYBRIDGE +mem128_m,xmmreg \350\352\361\362\370\1\x11\101 AVX,SANDYBRIDGE,TFVM +mem256_m,ymmreg \350\352\361\362\364\370\1\x11\101 AVX,SANDYBRIDGE,TFVM +mem512_m,zmmreg \350\351\352\361\370\1\x11\101 AVX512,TFVM +xmmreg_mz,xmmreg \350\352\361\362\370\1\x11\101 AVX,SANDYBRIDGE +xmmreg_mz,xmmrm \350\352\361\362\370\1\x10\110 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg \350\352\361\362\364\370\1\x11\101 AVX,SANDYBRIDGE +ymmreg_mz,ymmrm \350\352\361\362\364\370\1\x10\110 AVX,SANDYBRIDGE,TFVM +zmmreg_mz,zmmreg \350\351\352\361\370\1\x11\101 AVX512 +zmmreg_mz,zmmrm \350\351\352\361\370\1\x10\110 AVX512,TFVM + + [VMOVUPS] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \362\370\1\x10\110 AVX,SANDYBRIDGE -xmmrm,xmmreg \362\370\1\x11\101 AVX,SANDYBRIDGE -ymmreg,ymmrm \362\364\370\1\x10\110 AVX,SANDYBRIDGE -ymmrm,ymmreg \362\364\370\1\x11\101 AVX,SANDYBRIDGE +mem128_m,xmmreg \350\362\370\1\x11\101 AVX,SANDYBRIDGE,TFVM +mem256_m,ymmreg \350\362\364\370\1\x11\101 AVX,SANDYBRIDGE,TFVM +mem512_m,zmmreg \350\351\370\1\x11\101 AVX512,TFVM +xmmreg_mz,xmmreg \350\362\370\1\x11\101 AVX,SANDYBRIDGE +xmmreg_mz,xmmrm \350\362\370\1\x10\110 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg \350\362\364\370\1\x11\101 AVX,SANDYBRIDGE +ymmreg_mz,ymmrm \350\362\364\370\1\x10\110 AVX,SANDYBRIDGE,TFVM +zmmreg_mz,zmmreg \350\351\370\1\x11\101 AVX512 +zmmreg_mz,zmmrm \350\351\370\1\x10\110 AVX512,TFVM + [VMPSADBW] (Ch_All) @@ -4449,112 +4710,185 @@ ymmreg,ymmreg,ymmrm,imm8 \361\362\364\372\1\x42\75\120\27 AVX2 [VMULPD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\370\1\x59\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x59\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x59\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x59\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x59\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x59\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\370\1\x59\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x59\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\370\1\x59\75\120 AVX512 + [VMULPS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \362\370\1\x59\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x59\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x59\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x59\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x59\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x59\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\370\1\x59\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x59\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\370\1\x59\75\120 AVX512 + + [VMULSD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem64 \334\362\370\1\x59\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \334\362\370\1\x59\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem64 \334\350\352\362\370\1\x59\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_er \334\350\352\362\370\1\x59\75\120 AVX,SANDYBRIDGE + [VMULSS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem32 \333\362\370\1\x59\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \333\362\370\1\x59\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem32 \333\350\362\370\1\x59\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_er \333\350\362\370\1\x59\75\120 AVX,SANDYBRIDGE + [VORPD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\370\1\x56\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x56\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x56\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x56\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x56\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\x56\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x56\75\120 AVX512,TFV + [VORPS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \362\370\1\x56\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x56\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x56\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x56\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x56\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x56\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\370\1\x56\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x56\75\120 AVX512,TFV + [VPABSB] (Ch_All) -xmmreg,xmmrm \361\362\371\1\x1C\110 AVX,SANDYBRIDGE -ymmreg,ymmrm \361\362\364\371\1\x1C\110 AVX2 +xmmreg_mz,xmmrm \350\361\362\371\1\x1C\110 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmrm \350\361\362\364\371\1\x1C\110 AVX2,TFVM +zmmreg_mz,zmmrm \350\351\361\371\1\x1C\110 AVX512,TFVM + [VPABSD] (Ch_All) -xmmreg,xmmrm \361\362\371\1\x1E\110 AVX,SANDYBRIDGE -ymmreg,ymmrm \361\362\364\371\1\x1E\110 AVX2 +xmmreg_mz,xmmrm \350\361\362\371\1\x1E\110 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem32 \350\361\371\1\x1E\110 AVX512,TFV +ymmreg_mz,ymmrm \350\361\362\364\371\1\x1E\110 AVX2,TFV +ymmreg_mz,bmem32 \350\361\364\371\1\x1E\110 AVX512,TFV +zmmreg_mz,zmmrm \350\351\361\371\1\x1E\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\361\371\1\x1E\110 AVX512,TFV + [VPABSW] (Ch_All) -xmmreg,xmmrm \361\362\371\1\x1D\110 AVX,SANDYBRIDGE -ymmreg,ymmrm \361\362\364\371\1\x1D\110 AVX2 +xmmreg_mz,xmmrm \350\361\362\371\1\x1D\110 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmrm \350\361\362\364\371\1\x1D\110 AVX2,TFVM +zmmreg_mz,zmmrm \350\351\361\371\1\x1D\110 AVX512,TFVM + [VPACKSSDW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x6B\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x6B\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\x6B\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\370\1\x6B\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\x6B\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\370\1\x6B\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\x6B\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\370\1\x6B\75\120 AVX512,TFV + [VPACKSSWB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x63\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x63\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\x63\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\x63\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\x63\75\120 AVX512,TFVM + [VPACKUSDW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x2B\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x2B\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x2B\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x2B\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x2B\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x2B\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x2B\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x2B\75\120 AVX512,TFV + [VPACKUSWB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x67\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x67\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\x67\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\x67\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\x67\75\120 AVX512,TFVM + [VPADDB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\xFC\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xFC\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xFC\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xFC\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xFC\75\120 AVX512,TFVM + [VPADDD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\xFE\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xFE\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xFE\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\370\1\xFE\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xFE\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\370\1\xFE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xFE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\370\1\xFE\75\120 AVX512,TFV + [VPADDQ] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xD4\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xD4\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\xD4\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\xD4\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\xD4\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\xD4\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\xD4\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\xD4\75\120 AVX512,TFV + [VPADDSB] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xEC\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xEC\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xEC\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xEC\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xEC\75\120 AVX512,TFVM + [VPADDSW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xED\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xED\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xED\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xED\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xED\75\120 AVX512,TFVM + [VPADDUSB] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xDC\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xDC\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xDC\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xDC\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xDC\75\120 AVX512,TFVM + [VPADDUSW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xDD\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xDD\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xDD\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xDD\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xDD\75\120 AVX512,TFVM + [VPADDW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xFD\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xFD\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xFD\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xFD\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xFD\75\120 AVX512,TFVM + [VPALIGNR] (Ch_All) -xmmreg,xmmreg,xmmrm,imm8 \361\362\372\1\x0F\75\120\27 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm,imm8 \361\362\364\372\1\x0F\75\120\27 AVX2 +xmmreg_mz,xmmreg,xmmrm,imm8 \350\361\362\372\1\x0F\75\120\27 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm,imm8 \350\361\362\364\372\1\x0F\75\120\27 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\361\372\1\x0F\75\120\27 AVX512,TFVM + [VPAND] (Ch_Rop1, Ch_Rop2, Ch_Wop3) @@ -4568,13 +4902,17 @@ ymmreg,ymmreg,ymmrm \361\362\364\370\1\xDF\75\120 AVX2 [VPAVGB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\xE0\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xE0\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xE0\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xE0\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xE0\75\120 AVX512,TFVM + [VPAVGW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\xE3\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xE3\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xE3\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xE3\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xE3\75\120 AVX512,TFVM + [VPBLENDVB] (Ch_All) @@ -4587,28 +4925,53 @@ xmmreg,xmmreg,xmmrm,imm8 \361\362\372\1\x0E\75\120\27 AVX,SA ymmreg,ymmreg,ymmrm,imm8 \361\362\364\372\1\x0E\75\120\27 AVX2 [VPCLMULQDQ] -(Ch_All) -xmmreg,xmmreg,xmmrm,imm8 \361\362\372\1\x44\75\120\27 AVX,SANDYBRIDGE +(Ch_All, Ch_None) +xmmreg,xmmreg,xmmrm,imm8 \350\361\362\372\1\x44\75\120\27 AVX,SANDYBRIDGE,TFV +ymmreg,ymmreg,ymmrm,imm8 \350\361\364\372\1\x44\75\120\27 AVX512,TFV +zmmreg,zmmreg,zmmrm,imm8 \350\351\361\372\1\x44\75\120\27 AVX512,TFV + [VPCMPEQB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x74\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x74\75\120 AVX2 +kreg_m,xmmreg,xmmrm \350\361\370\1\x74\75\120 AVX512,TFVM +kreg_m,ymmreg,ymmrm \350\361\364\370\1\x74\75\120 AVX512,TFVM +kreg_m,zmmreg,zmmrm \350\351\361\370\1\x74\75\120 AVX512,TFVM +xmmreg,xmmreg,xmmrm \361\362\370\1\x74\75\120 AVX,SANDYBRIDGE +ymmreg,ymmreg,ymmrm \361\362\364\370\1\x74\75\120 AVX2 + [VPCMPEQD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x76\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x76\75\120 AVX2 +kreg_m,xmmreg,xmmrm \350\361\370\1\x76\75\120 AVX512,TFV +kreg_m,xmmreg,bmem32 \350\361\370\1\x76\75\120 AVX512,TFV +kreg_m,ymmreg,ymmrm \350\361\364\370\1\x76\75\120 AVX512,TFV +kreg_m,ymmreg,bmem32 \350\361\364\370\1\x76\75\120 AVX512,TFV +kreg_m,zmmreg,zmmrm \350\351\361\370\1\x76\75\120 AVX512,TFV +kreg_m,zmmreg,bmem32 \350\351\361\370\1\x76\75\120 AVX512,TFV +xmmreg,xmmreg,xmmrm \361\362\370\1\x76\75\120 AVX,SANDYBRIDGE +ymmreg,ymmreg,ymmrm \361\362\364\370\1\x76\75\120 AVX2 + [VPCMPEQQ] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x29\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x29\75\120 AVX2 +kreg_m,xmmreg,xmmrm \350\352\361\371\1\x29\75\120 AVX512,TFV +kreg_m,xmmreg,bmem64 \350\352\361\371\1\x29\75\120 AVX512,TFV +kreg_m,ymmreg,ymmrm \350\352\361\364\371\1\x29\75\120 AVX512,TFV +kreg_m,ymmreg,bmem64 \350\352\361\364\371\1\x29\75\120 AVX512,TFV +kreg_m,zmmreg,zmmrm \350\351\352\361\371\1\x29\75\120 AVX512,TFV +kreg_m,zmmreg,bmem64 \350\351\352\361\371\1\x29\75\120 AVX512,TFV +xmmreg,xmmreg,xmmrm \361\362\371\1\x29\75\120 AVX,SANDYBRIDGE +ymmreg,ymmreg,ymmrm \361\362\364\371\1\x29\75\120 AVX2 + [VPCMPEQW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x75\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x75\75\120 AVX2 +kreg_m,xmmreg,xmmrm \350\361\370\1\x75\75\120 AVX512,TFVM +kreg_m,ymmreg,ymmrm \350\361\364\370\1\x75\75\120 AVX512,TFVM +kreg_m,zmmreg,zmmrm \350\351\361\370\1\x75\75\120 AVX512,TFVM +xmmreg,xmmreg,xmmrm \361\362\370\1\x75\75\120 AVX,SANDYBRIDGE +ymmreg,ymmreg,ymmrm \361\362\364\370\1\x75\75\120 AVX2 + [VPCMPESTRI] (Ch_All) @@ -4620,23 +4983,45 @@ xmmreg,xmmrm,imm8 \361\362\372\1\x60\110\26 AVX,SA [VPCMPGTB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x64\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x64\75\120 AVX2 +kreg_m,xmmreg,xmmrm \350\361\370\1\x64\75\120 AVX512,TFVM +kreg_m,ymmreg,ymmrm \350\361\364\370\1\x64\75\120 AVX512,TFVM +kreg_m,zmmreg,zmmrm \350\351\361\370\1\x64\75\120 AVX512,TFVM +xmmreg,xmmreg,xmmrm \361\362\370\1\x64\75\120 AVX,SANDYBRIDGE +ymmreg,ymmreg,ymmrm \361\362\364\370\1\x64\75\120 AVX2 + [VPCMPGTD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x66\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x66\75\120 AVX2 +kreg_m,xmmreg,xmmrm \350\361\370\1\x66\75\120 AVX512,TFV +kreg_m,xmmreg,bmem32 \350\361\370\1\x66\75\120 AVX512,TFV +kreg_m,ymmreg,ymmrm \350\361\364\370\1\x66\75\120 AVX512,TFV +kreg_m,ymmreg,bmem32 \350\361\364\370\1\x66\75\120 AVX512,TFV +kreg_m,zmmreg,zmmrm \350\351\361\370\1\x66\75\120 AVX512,TFV +kreg_m,zmmreg,bmem32 \350\351\361\370\1\x66\75\120 AVX512,TFV +xmmreg,xmmreg,xmmrm \361\362\370\1\x66\75\120 AVX,SANDYBRIDGE +ymmreg,ymmreg,ymmrm \361\362\364\370\1\x66\75\120 AVX2 + [VPCMPGTQ] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x37\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x37\75\120 AVX2 +kreg_m,xmmreg,xmmrm \350\352\361\371\1\x37\75\120 AVX512,TFV +kreg_m,xmmreg,bmem64 \350\352\361\371\1\x37\75\120 AVX512,TFV +kreg_m,ymmreg,ymmrm \350\352\361\364\371\1\x37\75\120 AVX512,TFV +kreg_m,ymmreg,bmem64 \350\352\361\364\371\1\x37\75\120 AVX512,TFV +kreg_m,zmmreg,zmmrm \350\351\352\361\371\1\x37\75\120 AVX512,TFV +kreg_m,zmmreg,bmem64 \350\351\352\361\371\1\x37\75\120 AVX512,TFV +xmmreg,xmmreg,xmmrm \361\362\371\1\x37\75\120 AVX,SANDYBRIDGE +ymmreg,ymmreg,ymmrm \361\362\364\371\1\x37\75\120 AVX2 + [VPCMPGTW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x65\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x65\75\120 AVX2 +kreg_m,xmmreg,xmmrm \350\361\370\1\x65\75\120 AVX512,TFVM +kreg_m,ymmreg,ymmrm \350\361\364\370\1\x65\75\120 AVX512,TFVM +kreg_m,zmmreg,zmmrm \350\351\361\370\1\x65\75\120 AVX512,TFVM +xmmreg,xmmreg,xmmrm \361\362\370\1\x65\75\120 AVX,SANDYBRIDGE +ymmreg,ymmreg,ymmrm \361\362\364\370\1\x65\75\120 AVX2 + [VPCMPISTRI] (Ch_All) @@ -4652,39 +5037,64 @@ ymmreg,ymmreg,ymmrm,imm8 \361\362\364\372\1\x06\75\120\27 AVX,SA [VPERMILPD] (Ch_All) -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x0D\75\120 AVX,SANDYBRIDGE -xmmreg,xmmrm,imm8 \361\362\372\1\x05\110\26 AVX,SANDYBRIDGE -ymmreg,ymmrm,imm8 \361\362\364\372\1\x05\110\26 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmrm \361\362\371\1\x0D\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\371\1\x0D\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x0D\75\120 AVX512,TFV +xmmreg_mz,xmmrm,imm8 \350\352\361\362\372\1\x05\110\26 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem64,imm8 \350\352\361\372\1\x05\110\26 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\371\1\x0D\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x0D\75\120 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\352\361\362\364\372\1\x05\110\26 AVX,SANDYBRIDGE,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\372\1\x05\110\26 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x0D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x0D\75\120 AVX512,TFV +zmmreg_mz,zmmrm,imm8 \350\351\352\361\372\1\x05\110\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\372\1\x05\110\26 AVX512,TFV + [VPERMILPS] (Ch_All) -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x0C\75\120 AVX,SANDYBRIDGE -xmmreg,xmmrm,imm8 \361\362\372\1\x04\110\26 AVX,SANDYBRIDGE -ymmreg,ymmrm,imm8 \361\362\364\372\1\x04\110\26 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmrm \361\362\371\1\x0C\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x0C\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x0C\75\120 AVX512,TFV +xmmreg_mz,xmmrm,imm8 \350\361\362\372\1\x04\110\26 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem32,imm8 \350\361\372\1\x04\110\26 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x0C\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x0C\75\120 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\361\362\364\372\1\x04\110\26 AVX,SANDYBRIDGE,TFV +ymmreg_mz,bmem32,imm8 \350\361\364\372\1\x04\110\26 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x0C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x0C\75\120 AVX512,TFV +zmmreg_mz,zmmrm,imm8 \350\351\361\372\1\x04\110\26 AVX512,TFV +zmmreg_mz,bmem32,imm8 \350\351\361\372\1\x04\110\26 AVX512,TFV + [VPEXTRB] (Ch_All) -reg32,xmmreg,imm8 \361\362\372\1\x14\101\26 AVX,SANDYBRIDGE -reg64,xmmreg,imm8 \361\362\372\1\x14\101\26 AVX,SANDYBRIDGE -mem8,xmmreg,imm8 \361\362\372\1\x14\101\26 AVX,SANDYBRIDGE +mem8,xmmreg,imm8 \350\361\362\372\1\x14\101\26 AVX,SANDYBRIDGE,T1S +reg16,xmmreg,imm8 \350\361\372\1\x14\101\26 AVX512 +reg32,xmmreg,imm8 \350\361\362\372\1\x14\101\26 AVX,SANDYBRIDGE +reg64,xmmreg,imm8 \350\361\362\372\1\x14\101\26 AVX,SANDYBRIDGE +reg8,xmmreg,imm8 \350\361\372\1\x14\101\26 AVX512 + [VPEXTRD] (Ch_All) -rm32,xmmreg,imm8 \361\362\372\1\x16\101\26 AVX,SANDYBRIDGE +rm32,xmmreg,imm8 \350\361\362\372\1\x16\101\26 AVX,SANDYBRIDGE,T1S + [VPEXTRQ] (Ch_All) -rm64,xmmreg,imm8 \361\362\363\372\1\x16\101\26 AVX,SANDYBRIDGE +rm64,xmmreg,imm8 \350\352\361\362\363\372\1\x16\101\26 AVX,SANDYBRIDGE,T1S + [VPEXTRW] (Ch_All) -reg32,xmmreg,imm8 \361\362\370\1\xC5\110\26 AVX,SANDYBRIDGE -reg64,xmmreg,imm8 \361\362\370\1\xC5\110\26 AVX,SANDYBRIDGE -reg32,xmmreg,imm8 \361\362\372\1\x15\101\26 AVX,SANDYBRIDGE -reg64,xmmreg,imm8 \361\362\372\1\x15\101\26 AVX,SANDYBRIDGE -mem16,xmmreg,imm8 \361\362\372\1\x15\101\26 AVX,SANDYBRIDGE +mem16,xmmreg,imm8 \350\361\362\372\1\x15\101\26 AVX,SANDYBRIDGE,T1S +reg16,xmmreg,imm8 \350\361\362\372\1\x15\101\26 AVX,SANDYBRIDGE +reg16,xmmreg,imm8 \350\361\362\370\1\xC5\110\26 AVX,SANDYBRIDGE +reg32,xmmreg,imm8 \350\361\362\370\1\xC5\110\26 AVX,SANDYBRIDGE +reg32,xmmreg,imm8 \350\361\362\372\1\x15\101\26 AVX,SANDYBRIDGE +reg64,xmmreg,imm8 \350\361\362\372\1\x15\101\26 AVX,SANDYBRIDGE +reg64,xmmreg,imm8 \350\361\362\370\1\xC5\110\26 AVX,SANDYBRIDGE [VPHADDD] @@ -4723,91 +5133,135 @@ ymmreg,ymmreg,ymmrm \361\362\364\371\1\x05\75\120 AVX2 [VPINSRB] (Ch_All) -xmmreg,xmmreg,reg32,imm8 \361\362\372\1\x20\75\120\27 AVX,SANDYBRIDGE -xmmreg,xmmreg,mem8,imm8 \361\362\372\1\x20\75\120\27 AVX,SANDYBRIDGE +xmmreg,xmmreg,reg32,imm8 \350\361\362\372\1\x20\75\120\27 AVX,SANDYBRIDGE +xmmreg,xmmreg,mem8,imm8 \350\361\362\372\1\x20\75\120\27 AVX,SANDYBRIDGE,T1S + [VPINSRD] (Ch_All) -xmmreg,xmmreg,rm32,imm8 \361\362\372\1\x22\75\120\27 AVX,SANDYBRIDGE +xmmreg,xmmreg,rm32,imm8 \350\361\362\372\1\x22\75\120\27 AVX,SANDYBRIDGE,T1S + [VPINSRQ] (Ch_All) -xmmreg,xmmreg,rm64,imm8 \361\362\363\372\1\x22\75\120\27 AVX,SANDYBRIDGE +xmmreg,xmmreg,rm64,imm8 \350\352\361\362\363\372\1\x22\75\120\27 AVX,SANDYBRIDGE,T1S + [VPINSRW] (Ch_All) -xmmreg,xmmreg,reg32,imm8 \361\362\370\1\xC4\75\120\27 AVX,SANDYBRIDGE -xmmreg,xmmreg,mem16,imm8 \361\362\370\1\xC4\75\120\27 AVX,SANDYBRIDGE +xmmreg,xmmreg,mem16,imm8 \350\361\362\370\1\xC4\75\120\27 AVX,SANDYBRIDGE,T1S +xmmreg,xmmreg,reg32,imm8 \350\361\362\370\1\xC4\75\120\27 AVX,SANDYBRIDGE + [VPMADDUBSW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x04\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x04\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x04\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x04\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x04\75\120 AVX512,TFVM + [VPMADDWD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\xF5\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xF5\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xF5\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xF5\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xF5\75\120 AVX512,TFVM + [VPMAXSB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x3C\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x3C\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x3C\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x3C\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x3C\75\120 AVX512,TFVM + [VPMAXSD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x3D\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x3D\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x3D\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x3D\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x3D\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x3D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x3D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x3D\75\120 AVX512,TFV + [VPMAXSW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\xEE\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xEE\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xEE\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xEE\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xEE\75\120 AVX512,TFVM + [VPMAXUB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\xDE\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xDE\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xDE\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xDE\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xDE\75\120 AVX512,TFVM + [VPMAXUD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x3F\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x3F\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x3F\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x3F\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x3F\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x3F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x3F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x3F\75\120 AVX512,TFV + [VPMAXUW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x3E\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x3E\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x3E\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x3E\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x3E\75\120 AVX512,TFVM + [VPMINSB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x38\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x38\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x38\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x38\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x38\75\120 AVX512,TFVM + [VPMINSD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x39\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x39\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x39\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x39\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x39\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x39\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x39\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x39\75\120 AVX512,TFV + [VPMINSW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\xEA\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xEA\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xEA\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xEA\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xEA\75\120 AVX512,TFVM + [VPMINUB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\xDA\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xDA\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xDA\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xDA\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xDA\75\120 AVX512,TFVM + [VPMINUD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x3B\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x3B\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x3B\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x3B\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x3B\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x3B\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x3B\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x3B\75\120 AVX512,TFV + [VPMINUW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x3A\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x3A\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x3A\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x3A\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x3A\75\120 AVX512,TFVM + [VPMOVMSKB] (Ch_All) @@ -4818,117 +5272,181 @@ reg64,ymmreg \361\362\364\370\1\xD7\110 AVX2 [VPMOVSXBD] (Ch_All) -xmmreg,mem32 \361\362\371\1\x21\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x21\110 AVX,SANDYBRIDGE -ymmreg,xmmreg \361\362\364\371\1\x21\110 AVX2 -ymmreg,mem64 \361\362\364\371\1\x21\110 AVX2 +xmmreg_mz,mem32 \350\361\362\371\1\x21\110 AVX,SANDYBRIDGE,TQVM +xmmreg_mz,xmmreg \350\361\362\371\1\x21\110 AVX,SANDYBRIDGE +ymmreg_mz,mem64 \350\361\362\364\371\1\x21\110 AVX2,TQVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x21\110 AVX2 +zmmreg_mz,mem128 \350\351\361\371\1\x21\110 AVX512,TQVM +zmmreg_mz,xmmreg \350\351\361\371\1\x21\110 AVX512 + [VPMOVSXBQ] (Ch_All) -xmmreg,mem16 \361\362\371\1\x22\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x22\110 AVX,SANDYBRIDGE -ymmreg,mem32 \361\362\364\371\1\x22\110 AVX2 -ymmreg,xmmreg \361\362\364\371\1\x22\110 AVX2 +xmmreg_mz,mem16 \350\361\362\371\1\x22\110 AVX,SANDYBRIDGE,TOVM +xmmreg_mz,xmmreg \350\361\362\371\1\x22\110 AVX,SANDYBRIDGE +ymmreg_mz,mem32 \350\361\362\364\371\1\x22\110 AVX2,TOVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x22\110 AVX2 +zmmreg_mz,mem64 \350\351\361\371\1\x22\110 AVX512,TOVM +zmmreg_mz,xmmreg \350\351\361\371\1\x22\110 AVX512 + [VPMOVSXBW] (Ch_All) -xmmreg,mem64 \361\362\371\1\x20\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x20\110 AVX,SANDYBRIDGE -ymmreg,xmmrm \361\362\364\371\1\x20\110 AVX2 +xmmreg_mz,mem64 \350\361\362\371\1\x20\110 AVX,SANDYBRIDGE,THVM +xmmreg_mz,xmmreg \350\361\362\371\1\x20\110 AVX,SANDYBRIDGE +ymmreg_mz,mem128 \350\361\362\364\371\1\x20\110 AVX2,THVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x20\110 AVX2 +zmmreg_mz,mem256 \350\351\361\371\1\x20\110 AVX512,THVM +zmmreg_mz,ymmreg \350\351\361\371\1\x20\110 AVX512 + [VPMOVSXDQ] (Ch_All) -xmmreg,mem64 \361\362\371\1\x25\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x25\110 AVX,SANDYBRIDGE -ymmreg,xmmrm \361\362\364\371\1\x25\110 AVX2 +xmmreg_mz,mem64 \350\361\362\371\1\x25\110 AVX,SANDYBRIDGE,THVM +xmmreg_mz,xmmreg \350\361\362\371\1\x25\110 AVX,SANDYBRIDGE +ymmreg_mz,mem128 \350\361\362\364\371\1\x25\110 AVX2,THVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x25\110 AVX2 +zmmreg_mz,mem256 \350\351\361\371\1\x25\110 AVX512,THVM +zmmreg_mz,ymmreg \350\351\361\371\1\x25\110 AVX512 + [VPMOVSXWD] (Ch_All) -xmmreg,mem64 \361\362\371\1\x23\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x23\110 AVX,SANDYBRIDGE -ymmreg,xmmrm \361\362\364\371\1\x23\110 AVX2 +xmmreg_mz,mem64 \350\361\362\371\1\x23\110 AVX,SANDYBRIDGE,THVM +xmmreg_mz,xmmreg \350\361\362\371\1\x23\110 AVX,SANDYBRIDGE +ymmreg_mz,mem128 \350\361\362\364\371\1\x23\110 AVX2,THVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x23\110 AVX2 +zmmreg_mz,mem256 \350\351\361\371\1\x23\110 AVX512,THVM +zmmreg_mz,ymmreg \350\351\361\371\1\x23\110 AVX512 + [VPMOVSXWQ] (Ch_All) -xmmreg,mem32 \361\362\371\1\x24\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x24\110 AVX,SANDYBRIDGE -ymmreg,mem64 \361\362\364\371\1\x24\110 AVX2 -ymmreg,xmmreg \361\362\364\371\1\x24\110 AVX2 +xmmreg_mz,mem32 \350\361\362\371\1\x24\110 AVX,SANDYBRIDGE,TQVM +xmmreg_mz,xmmreg \350\361\362\371\1\x24\110 AVX,SANDYBRIDGE +ymmreg_mz,mem64 \350\361\362\364\371\1\x24\110 AVX2,TQVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x24\110 AVX2 +zmmreg_mz,mem128 \350\351\361\371\1\x24\110 AVX512,TQVM +zmmreg_mz,xmmreg \350\351\361\371\1\x24\110 AVX512 + [VPMOVZXBD] (Ch_All) -xmmreg,mem32 \361\362\371\1\x31\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x31\110 AVX,SANDYBRIDGE -ymmreg,mem64 \361\362\364\371\1\x31\110 AVX2 -ymmreg,xmmreg \361\362\364\371\1\x31\110 AVX2 +xmmreg_mz,mem32 \350\361\362\371\1\x31\110 AVX,SANDYBRIDGE,TQVM +xmmreg_mz,xmmreg \350\361\362\371\1\x31\110 AVX,SANDYBRIDGE +ymmreg_mz,mem64 \350\361\362\364\371\1\x31\110 AVX2,TQVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x31\110 AVX2 +zmmreg_mz,mem128 \350\351\361\371\1\x31\110 AVX512,TQVM +zmmreg_mz,xmmreg \350\351\361\371\1\x31\110 AVX512 + [VPMOVZXBQ] (Ch_All) -xmmreg,mem16 \361\362\371\1\x32\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x32\110 AVX,SANDYBRIDGE -ymmreg,mem32 \361\362\364\371\1\x32\110 AVX2 -ymmreg,xmmreg \361\362\364\371\1\x32\110 AVX2 +xmmreg_mz,mem16 \350\361\362\371\1\x32\110 AVX,SANDYBRIDGE,TOVM +xmmreg_mz,xmmreg \350\361\362\371\1\x32\110 AVX,SANDYBRIDGE +ymmreg_mz,mem32 \350\361\362\364\371\1\x32\110 AVX2,TOVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x32\110 AVX2 +zmmreg_mz,mem64 \350\351\361\371\1\x32\110 AVX512,TOVM +zmmreg_mz,xmmreg \350\351\361\371\1\x32\110 AVX512 + [VPMOVZXBW] (Ch_All) -xmmreg,mem64 \361\362\371\1\x30\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x30\110 AVX,SANDYBRIDGE -ymmreg,xmmrm \361\362\364\371\1\x30\110 AVX2 +xmmreg_mz,mem64 \350\361\362\371\1\x30\110 AVX,SANDYBRIDGE,THVM +xmmreg_mz,xmmreg \350\361\362\371\1\x30\110 AVX,SANDYBRIDGE +ymmreg_mz,mem128 \350\361\362\364\371\1\x30\110 AVX2,THVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x30\110 AVX2 +zmmreg_mz,mem256 \350\351\361\371\1\x30\110 AVX512,THVM +zmmreg_mz,ymmreg \350\351\361\371\1\x30\110 AVX512 + [VPMOVZXDQ] (Ch_All) -xmmreg,mem64 \361\362\371\1\x35\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x35\110 AVX,SANDYBRIDGE -ymmreg,xmmrm \361\362\364\371\1\x35\110 AVX2 +xmmreg_mz,mem64 \350\361\362\371\1\x35\110 AVX,SANDYBRIDGE,THVM +xmmreg_mz,xmmreg \350\361\362\371\1\x35\110 AVX,SANDYBRIDGE +ymmreg_mz,mem128 \350\361\362\364\371\1\x35\110 AVX2,THVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x35\110 AVX2 +zmmreg_mz,mem256 \350\351\361\371\1\x35\110 AVX512,THVM +zmmreg_mz,ymmreg \350\351\361\371\1\x35\110 AVX512 + [VPMOVZXWD] (Ch_All) -xmmreg,mem64 \361\362\371\1\x33\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x33\110 AVX,SANDYBRIDGE -ymmreg,xmmrm \361\362\364\371\1\x33\110 AVX2 +xmmreg_mz,mem64 \350\361\362\371\1\x33\110 AVX,SANDYBRIDGE,THVM +xmmreg_mz,xmmreg \350\361\362\371\1\x33\110 AVX,SANDYBRIDGE +ymmreg_mz,mem128 \350\361\362\364\371\1\x33\110 AVX2,THVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x33\110 AVX2 +zmmreg_mz,mem256 \350\351\361\371\1\x33\110 AVX512,THVM +zmmreg_mz,ymmreg \350\351\361\371\1\x33\110 AVX512 + [VPMOVZXWQ] (Ch_All) -xmmreg,mem32 \361\362\371\1\x34\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\371\1\x34\110 AVX,SANDYBRIDGE -ymmreg,mem64 \361\362\364\371\1\x34\110 AVX2 -ymmreg,xmmreg \361\362\364\371\1\x34\110 AVX2 +xmmreg_mz,mem32 \350\361\362\371\1\x34\110 AVX,SANDYBRIDGE,TQVM +xmmreg_mz,xmmreg \350\361\362\371\1\x34\110 AVX,SANDYBRIDGE +ymmreg_mz,mem64 \350\361\362\364\371\1\x34\110 AVX2,TQVM +ymmreg_mz,xmmreg \350\361\362\364\371\1\x34\110 AVX2 +zmmreg_mz,mem128 \350\351\361\371\1\x34\110 AVX512,TQVM +zmmreg_mz,xmmreg \350\351\361\371\1\x34\110 AVX512 [VPMULDQ] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\371\1\x28\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x28\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\371\1\x28\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x28\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\371\1\x28\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x28\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x28\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x28\75\120 AVX512,TFV + [VPMULHRSW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\371\1\x0B\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x0B\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x0B\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x0B\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x0B\75\120 AVX512,TFVM + [VPMULHUW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xE4\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xE4\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xE4\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xE4\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xE4\75\120 AVX512,TFVM + [VPMULHW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xE5\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xE5\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xE5\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xE5\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xE5\75\120 AVX512,TFVM + [VPMULLD] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\371\1\x40\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x40\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x40\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x40\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x40\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x40\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x40\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x40\75\120 AVX512,TFV + [VPMULLW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xD5\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xD5\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xD5\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xD5\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xD5\75\120 AVX512,TFVM + [VPMULUDQ] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xF4\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xF4\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\xF4\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\xF4\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\xF4\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\xF4\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\xF4\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\xF4\75\120 AVX512,TFV + [VPOR] (Ch_Rop1, Ch_Rop2, Ch_Wop3) @@ -4937,28 +5455,41 @@ ymmreg,ymmreg,ymmrm \361\362\364\370\1\xEB\75\120 AVX2 [VPSADBW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\xF6\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xF6\75\120 AVX2 +xmmreg,xmmreg,xmmrm \350\361\362\370\1\xF6\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg,ymmreg,ymmrm \350\361\362\364\370\1\xF6\75\120 AVX2,TFVM +zmmreg,zmmreg,zmmrm \350\351\361\370\1\xF6\75\120 AVX512,TFVM + [VPSHUFB] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\371\1\x00\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x00\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x00\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x00\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x00\75\120 AVX512,TFVM + [VPSHUFD] (Ch_All) -xmmreg,xmmrm,imm8 \361\362\370\1\x70\110\26 AVX,SANDYBRIDGE -ymmreg,ymmrm,imm8 \361\362\364\370\1\x70\110\26 AVX2 +xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x70\110\26 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem32,imm8 \350\361\370\1\x70\110\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x70\110\26 AVX2,TFV +ymmreg_mz,bmem32,imm8 \350\361\364\370\1\x70\110\26 AVX512,TFV +zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x70\110\26 AVX512,TFV +zmmreg_mz,bmem32,imm8 \350\351\361\370\1\x70\110\26 AVX512,TFV + [VPSHUFHW] (Ch_All) -xmmreg,xmmrm,imm8 \333\362\370\1\x70\110\26 AVX,SANDYBRIDGE -ymmreg,ymmrm,imm8 \333\362\364\370\1\x70\110\26 AVX2 +xmmreg_mz,xmmrm,imm8 \333\350\362\370\1\x70\110\26 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmrm,imm8 \333\350\362\364\370\1\x70\110\26 AVX2,TFVM +zmmreg_mz,zmmrm,imm8 \333\350\351\370\1\x70\110\26 AVX512,TFVM + [VPSHUFLW] (Ch_All) -xmmreg,xmmrm,imm8 \334\362\370\1\x70\110\26 AVX,SANDYBRIDGE -ymmreg,ymmrm,imm8 \334\362\364\370\1\x70\110\26 AVX2 +xmmreg_mz,xmmrm,imm8 \334\350\362\370\1\x70\110\26 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmrm,imm8 \334\350\362\364\370\1\x70\110\26 AVX2,TFVM +zmmreg_mz,zmmrm,imm8 \334\350\351\370\1\x70\110\26 AVX512,TFVM + [VPSIGNB] (Ch_All) @@ -4977,112 +5508,180 @@ ymmreg,ymmreg,ymmrm \361\362\364\371\1\x09\75\120 AVX2 [VPSLLD] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,imm8 \361\362\370\1\x72\74\216\26 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmrm \361\362\370\1\xF2\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,imm8 \361\362\364\370\1\x72\74\216\26 AVX2 -ymmreg,ymmreg,xmmrm \361\362\364\370\1\xF2\75\120 AVX2 +xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x72\74\216\26 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem32,imm8 \350\361\370\1\x72\74\216\26 AVX512,TFV +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xF2\75\120 AVX,SANDYBRIDGE,TMEM128 +ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x72\74\216\26 AVX2,TFV +ymmreg_mz,bmem32,imm8 \350\361\364\370\1\x72\74\216\26 AVX512,TFV +ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xF2\75\120 AVX2,TMEM128 +zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xF2\75\120 AVX512,TMEM128 +zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x72\74\216\26 AVX512,TFV +zmmreg_mz,bmem32,imm8 \350\351\361\370\1\x72\74\216\26 AVX512,TFV + [VPSLLDQ] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,imm8 \361\362\370\1\x73\74\217\26 AVX,SANDYBRIDGE -ymmreg,ymmreg,imm8 \361\362\364\370\1\x73\74\217\26 AVX2 +xmmreg,mem128,imm8 \350\361\370\1\x73\74\217\26 AVX512,TFVM +xmmreg,xmmreg,imm8 \350\361\362\370\1\x73\74\217\26 AVX,SANDYBRIDGE,TFVM +ymmreg,mem256,imm8 \350\361\364\370\1\x73\74\217\26 AVX512,TFVM +ymmreg,ymmreg,imm8 \350\361\362\364\370\1\x73\74\217\26 AVX2,TFVM +zmmreg,mem512,imm8 \350\351\361\370\1\x73\74\217\26 AVX512,TFVM +zmmreg,zmmreg,imm8 \350\351\361\370\1\x73\74\217\26 AVX512,TFVM [VPSLLQ] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xF3\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,imm8 \361\362\370\1\x73\74\216\26 AVX,SANDYBRIDGE -ymmreg,ymmreg,xmmrm \361\362\364\370\1\xF3\75\120 AVX2 -ymmreg,ymmreg,imm8 \361\362\364\370\1\x73\74\216\26 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\xF3\75\120 AVX,SANDYBRIDGE,TMEM128 +xmmreg_mz,xmmrm,imm8 \350\352\361\362\370\1\x73\74\216\26 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem64,imm8 \350\352\361\370\1\x73\74\216\26 AVX512,TFV +ymmreg_mz,ymmreg,xmmrm \350\352\361\362\364\370\1\xF3\75\120 AVX2,TMEM128 +ymmreg_mz,ymmrm,imm8 \350\352\361\362\364\370\1\x73\74\216\26 AVX2,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\370\1\x73\74\216\26 AVX512,TFV +zmmreg_mz,zmmreg,xmmrm \350\351\352\361\370\1\xF3\75\120 AVX512,TMEM128 +zmmreg_mz,zmmrm,imm8 \350\351\352\361\370\1\x73\74\216\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\370\1\x73\74\216\26 AVX512,TFV + [VPSLLW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,imm8 \361\362\370\1\x71\74\216\26 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmrm \361\362\370\1\xF1\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,imm8 \361\362\364\370\1\x71\74\216\26 AVX2 -ymmreg,ymmreg,xmmrm \361\362\364\370\1\xF1\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xF1\75\120 AVX,SANDYBRIDGE,TMEM128 +xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x71\74\216\26 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xF1\75\120 AVX2,TMEM128 +ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x71\74\216\26 AVX2,TFVM +zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xF1\75\120 AVX512,TMEM128 +zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x71\74\216\26 AVX512,TFVM [VPSRAD] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,imm8 \361\362\370\1\x72\74\214\26 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmrm \361\362\370\1\xE2\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,imm8 \361\362\364\370\1\x72\74\214\26 AVX2 -ymmreg,ymmreg,xmmrm \361\362\364\370\1\xE2\75\120 AVX2 +xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x72\74\214\26 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem32,imm8 \350\361\370\1\x72\74\214\26 AVX512,TFV +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xE2\75\120 AVX,SANDYBRIDGE,TMEM128 +ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x72\74\214\26 AVX2,TFV +ymmreg_mz,bmem32,imm8 \350\361\364\370\1\x72\74\214\26 AVX512,TFV +ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xE2\75\120 AVX2,TMEM128 +zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xE2\75\120 AVX512,TMEM128 +zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x72\74\214\26 AVX512,TFV +zmmreg_mz,bmem32,imm8 \350\351\361\370\1\x72\74\214\26 AVX512,TFV + [VPSRAW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,imm8 \361\362\370\1\x71\74\214\26 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmrm \361\362\370\1\xE1\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,imm8 \361\362\364\370\1\x71\74\214\26 AVX2 -ymmreg,ymmreg,xmmrm \361\362\364\370\1\xE1\75\120 AVX2 +xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x71\74\214\26 AVX,SANDYBRIDGE,TFVM +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xE1\75\120 AVX,SANDYBRIDGE,TMEM128 +ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x71\74\214\26 AVX2,TFVM +ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xE1\75\120 AVX2,TMEM128 +zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xE1\75\120 AVX512,TMEM128 +zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x71\74\214\26 AVX512,TFVM + [VPSRLD] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,imm8 \361\362\370\1\x72\74\212\26 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmrm \361\362\370\1\xD2\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,imm8 \361\362\364\370\1\x72\74\212\26 AVX2 -ymmreg,ymmreg,xmmrm \361\362\364\370\1\xD2\75\120 AVX2 +xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x72\74\212\26 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem32,imm8 \350\361\370\1\x72\74\212\26 AVX512,TFV +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xD2\75\120 AVX,SANDYBRIDGE,TMEM128 +ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xD2\75\120 AVX2,TMEM128 +ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x72\74\212\26 AVX2,TFV +ymmreg_mz,bmem32,imm8 \350\361\364\370\1\x72\74\212\26 AVX512,TFV +zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xD2\75\120 AVX512,TMEM128 +zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x72\74\212\26 AVX512,TFV +zmmreg_mz,bmem32,imm8 \350\351\361\370\1\x72\74\212\26 AVX512,TFV [VPSRLDQ] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,imm8 \361\362\370\1\x73\74\213\26 AVX,SANDYBRIDGE -ymmreg,ymmreg,imm8 \361\362\364\370\1\x73\74\213\26 AVX2 +xmmreg,mem128,imm8 \350\361\370\1\x73\74\213\26 AVX512,TFVM +xmmreg,xmmreg,imm8 \350\361\362\370\1\x73\74\213\26 AVX,SANDYBRIDGE,TFVM +ymmreg,mem256,imm8 \350\361\364\370\1\x73\74\213\26 AVX512,TFVM +ymmreg,ymmreg,imm8 \350\361\362\364\370\1\x73\74\213\26 AVX2,TFVM +zmmreg,zmmrm,imm8 \350\351\361\370\1\x73\74\213\26 AVX512,TFVM + + [VPSRLQ] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,imm8 \361\362\370\1\x73\74\212\26 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmrm \361\362\370\1\xD3\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,imm8 \361\362\364\370\1\x73\74\212\26 AVX2 -ymmreg,ymmreg,xmmrm \361\362\364\370\1\xD3\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\xD3\75\120 AVX,SANDYBRIDGE,TMEM128 +xmmreg_mz,xmmrm,imm8 \350\352\361\362\370\1\x73\74\212\26 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem64,imm8 \350\352\361\370\1\x73\74\212\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\352\361\362\364\370\1\x73\74\212\26 AVX2,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\370\1\x73\74\212\26 AVX512,TFV +ymmreg_mz,ymmreg,xmmrm \350\352\361\362\364\370\1\xD3\75\120 AVX2,TMEM128 +zmmreg_mz,zmmreg,xmmrm \350\351\352\361\370\1\xD3\75\120 AVX512,TMEM128 +zmmreg_mz,zmmrm,imm8 \350\351\352\361\370\1\x73\74\212\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\370\1\x73\74\212\26 AVX512,TFV + [VPSRLW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,imm8 \361\362\370\1\x71\74\212\26 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmrm \361\362\370\1\xD1\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,imm8 \361\362\364\370\1\x71\74\212\26 AVX2 -ymmreg,ymmreg,xmmrm \361\362\364\370\1\xD1\75\120 AVX2 +xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x71\74\212\26 AVX,SANDYBRIDGE,TFVM +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xD1\75\120 AVX,SANDYBRIDGE,TMEM128 +ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x71\74\212\26 AVX2,TFVM +ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xD1\75\120 AVX2,TMEM128 +zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xD1\75\120 AVX512,TMEM128 +zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x71\74\212\26 AVX512,TFVM + [VPSUBB] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xF8\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xF8\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xF8\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xF8\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xF8\75\120 AVX512,TFVM + [VPSUBD] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xFA\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xFA\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xFA\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\370\1\xFA\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xFA\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\370\1\xFA\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xFA\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\370\1\xFA\75\120 AVX512,TFV + [VPSUBQ] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xFB\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xFB\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\xFB\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\xFB\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\xFB\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\xFB\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\xFB\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\xFB\75\120 AVX512,TFV + [VPSUBSB] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xE8\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xE8\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xE8\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xE8\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xE8\75\120 AVX512,TFVM + [VPSUBSW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xE9\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xE9\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xE9\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xE9\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xE9\75\120 AVX512,TFVM + [VPSUBUSB] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xD8\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xD8\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xD8\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xD8\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xD8\75\120 AVX512,TFVM + [VPSUBUSW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xD9\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xD9\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xD9\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xD9\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xD9\75\120 AVX512,TFVM + [VPSUBW] (Ch_Rop1, Ch_Rop2, Ch_Wop3) -xmmreg,xmmreg,xmmrm \361\362\370\1\xF9\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\xF9\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xF9\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\xF9\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xF9\75\120 AVX512,TFVM + [VPTEST] (Ch_All) @@ -5091,43 +5690,71 @@ xmmreg,xmmrm \361\362\371\1\x17\110 AVX,SA [VPUNPCKHBW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x68\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x68\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\x68\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\x68\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\x68\75\120 AVX512,TFVM + [VPUNPCKHDQ] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x6A\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x6A\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\x6A\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\370\1\x6A\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\x6A\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\370\1\x6A\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\x6A\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\370\1\x6A\75\120 AVX512,TFV + [VPUNPCKHQDQ] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x6D\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x6D\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x6D\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x6D\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x6D\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x6D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\x6D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x6D\75\120 AVX512,TFV + [VPUNPCKHWD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x69\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x69\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\x69\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\x69\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\x69\75\120 AVX512,TFVM + [VPUNPCKLBW] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x60\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x60\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\x60\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\x60\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\x60\75\120 AVX512,TFVM + [VPUNPCKLDQ] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x62\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x62\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\x62\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\370\1\x62\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\x62\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\370\1\x62\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\x62\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\370\1\x62\75\120 AVX512,TFV + [VPUNPCKLQDQ] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x6C\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x6C\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x6C\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x6C\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x6C\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x6C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\x6C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x6C\75\120 AVX512,TFV + [VPUNPCKLWD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x61\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x61\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\x61\75\120 AVX,SANDYBRIDGE,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\370\1\x61\75\120 AVX2,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\x61\75\120 AVX512,TFVM + [VPXOR] (Ch_Rop1, Ch_Rop2, Ch_Wop3) @@ -5176,33 +5803,57 @@ xmmreg,xmmreg,xmmreg \333\362\370\1\x52\75\120 AVX,SA [VSHUFPD] (Ch_All) -xmmreg,xmmreg,xmmrm,imm8 \361\362\370\1\xC6\75\120\27 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm,imm8 \361\362\364\370\1\xC6\75\120\27 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm,imm8 \350\352\361\362\370\1\xC6\75\120\27 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64,imm8 \350\352\361\370\1\xC6\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm,imm8 \350\352\361\362\364\370\1\xC6\75\120\27 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64,imm8 \350\352\361\364\370\1\xC6\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\352\361\370\1\xC6\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem64,imm8 \350\351\352\361\370\1\xC6\75\120\27 AVX512,TFV + [VSHUFPS] (Ch_All) -xmmreg,xmmreg,xmmrm,imm8 \362\370\1\xC6\75\120\27 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm,imm8 \362\364\370\1\xC6\75\120\27 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm,imm8 \350\362\370\1\xC6\75\120\27 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32,imm8 \350\370\1\xC6\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm,imm8 \350\362\364\370\1\xC6\75\120\27 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32,imm8 \350\364\370\1\xC6\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\370\1\xC6\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem32,imm8 \350\351\370\1\xC6\75\120\27 AVX512,TFV + [VSQRTPD] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \361\362\370\1\x51\110 AVX,SANDYBRIDGE -ymmreg,ymmrm \361\362\364\370\1\x51\110 AVX,SANDYBRIDGE +xmmreg_mz,xmmrm \350\352\361\362\370\1\x51\110 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem64 \350\352\361\370\1\x51\110 AVX512,TFV +ymmreg_mz,ymmrm \350\352\361\362\364\370\1\x51\110 AVX,SANDYBRIDGE,TFV +ymmreg_mz,bmem64 \350\352\361\364\370\1\x51\110 AVX512,TFV +zmmreg_mz,mem512 \350\351\352\361\370\1\x51\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\370\1\x51\110 AVX512,TFV +zmmreg_mz,zmmreg_er \350\351\352\361\370\1\x51\110 AVX512 + [VSQRTPS] (Ch_Wop2, Ch_Rop1) -xmmreg,xmmrm \362\370\1\x51\110 AVX,SANDYBRIDGE -ymmreg,ymmrm \362\364\370\1\x51\110 AVX,SANDYBRIDGE +xmmreg_mz,xmmrm \350\362\370\1\x51\110 AVX,SANDYBRIDGE,TFV +xmmreg_mz,bmem32 \350\370\1\x51\110 AVX512,TFV +ymmreg_mz,ymmrm \350\362\364\370\1\x51\110 AVX,SANDYBRIDGE,TFV +ymmreg_mz,bmem32 \350\364\370\1\x51\110 AVX512,TFV +zmmreg_mz,mem512 \350\351\370\1\x51\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\370\1\x51\110 AVX512,TFV +zmmreg_mz,zmmreg_er \350\351\370\1\x51\110 AVX512 + [VSQRTSD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem64 \334\362\370\1\x51\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \334\362\370\1\x51\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmreg_er \334\350\352\362\370\1\x51\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem64 \334\350\352\362\370\1\x51\75\120 AVX,SANDYBRIDGE,T1S + [VSQRTSS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem32 \333\362\370\1\x51\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \333\362\370\1\x51\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmreg_er \333\350\362\370\1\x51\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem32 \333\350\362\370\1\x51\75\120 AVX,SANDYBRIDGE,T1S + [VSTMXCSR] (Ch_All) @@ -5210,23 +5861,37 @@ mem32 \362\370\1\xAE\203 AVX,SA [VSUBPD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\370\1\x5C\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x5C\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x5C\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x5C\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x5C\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x5C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\370\1\x5C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x5C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\370\1\x5C\75\120 AVX512,TFV + [VSUBPS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \362\370\1\x5C\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x5C\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x5C\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x5C\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x5C\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x5C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\370\1\x5C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x5C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\370\1\x5C\75\120 AVX512 + [VSUBSD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem64 \334\362\370\1\x5C\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \334\362\370\1\x5C\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem64 \334\350\352\362\370\1\x5C\75\120 AVX,SANDYBRIDGE,T1S +xmmreg_mz,xmmreg,xmmreg_er \334\350\352\362\370\1\x5C\75\120 AVX,SANDYBRIDGE,T1S + [VSUBSS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,mem32 \333\362\370\1\x5C\75\120 AVX,SANDYBRIDGE -xmmreg,xmmreg,xmmreg \333\362\370\1\x5C\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmreg_er \333\350\362\370\1\x5C\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,mem32 \333\350\362\370\1\x5C\75\120 AVX,SANDYBRIDGE,T1S + [VTESTPD] (Ch_All) @@ -5240,43 +5905,75 @@ xmmreg,xmmrm \361\362\371\1\x0E\110 AVX,SA [VUCOMISD] (Ch_Rop1, Ch_Rop2, Ch_WZeroFlag, Ch_WParityFlag, Ch_WCarryFlag, Ch_W0OverflowFlag, Ch_W0SignFlag, Ch_W0AuxiliaryFlag) -xmmreg,mem64 \361\362\370\1\x2E\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \361\362\370\1\x2E\110 AVX,SANDYBRIDGE +xmmreg,mem64 \350\352\361\362\370\1\x2E\110 AVX,SANDYBRIDGE,T1S +xmmreg,xmmreg_sae \350\352\361\362\370\1\x2E\110 AVX,SANDYBRIDGE + [VUCOMISS] (Ch_Rop1, Ch_Rop2, Ch_WZeroFlag, Ch_WParityFlag, Ch_WCarryFlag, Ch_W0OverflowFlag, Ch_W0SignFlag, Ch_W0AuxiliaryFlag) -xmmreg,mem32 \362\370\1\x2E\110 AVX,SANDYBRIDGE -xmmreg,xmmreg \362\370\1\x2E\110 AVX,SANDYBRIDGE +xmmreg,mem32 \350\362\370\1\x2E\110 AVX,SANDYBRIDGE,T1S +xmmreg,xmmreg_sae \350\362\370\1\x2E\110 AVX,SANDYBRIDGE + [VUNPCKHPD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x15\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x15\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x15\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x15\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x15\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x15\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\x15\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x15\75\120 AVX512,TFV + [VUNPCKHPS] (Ch_All) -xmmreg,xmmreg,xmmrm \362\370\1\x15\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x15\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x15\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x15\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x15\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x15\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\370\1\x15\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x15\75\120 AVX512,TFV + [VUNPCKLPD] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\370\1\x14\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x14\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x14\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x14\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x14\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x14\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\x14\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x14\75\120 AVX512,TFV + [VUNPCKLPS] (Ch_All) -xmmreg,xmmreg,xmmrm \362\370\1\x14\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x14\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x14\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x14\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x14\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x14\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\370\1\x14\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x14\75\120 AVX512,TFV + [VXORPD] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\370\1\x57\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \361\362\364\370\1\x57\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\x57\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\x57\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\364\370\1\x57\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\x57\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\x57\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\x57\75\120 AVX512,TFV + [VXORPS] (Ch_Wop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \362\370\1\x57\75\120 AVX,SANDYBRIDGE -ymmreg,ymmreg,ymmrm \362\364\370\1\x57\75\120 AVX,SANDYBRIDGE +xmmreg_mz,xmmreg,xmmrm \350\362\370\1\x57\75\120 AVX,SANDYBRIDGE,TFV +xmmreg_mz,xmmreg,bmem32 \350\370\1\x57\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\362\364\370\1\x57\75\120 AVX,SANDYBRIDGE,TFV +ymmreg_mz,ymmreg,bmem32 \350\364\370\1\x57\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\370\1\x57\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\370\1\x57\75\120 AVX512,TFV + [VZEROALL] (Ch_All) @@ -5400,31 +6097,70 @@ xmmreg,xmmreg,xmmrm,imm8 \361\362\372\1\x02\75\120\27 AVX2 [VPBROADCASTB] (Ch_All) -xmmreg,xmmreg \361\362\371\1\x78\110 AVX2 -ymmreg,xmmreg \361\362\364\371\1\x78\110 AVX2 -xmmreg,mem8 \361\362\371\1\x78\110 AVX2 -ymmreg,mem8 \361\362\364\371\1\x78\110 AVX2 +xmmreg_mz,mem8 \350\361\362\371\1\x78\110 AVX2,T1S +xmmreg_mz,xmmreg \350\361\362\371\1\x78\110 AVX2 +xmmreg_mz,reg16 \350\361\371\1\x7A\110 AVX512 +xmmreg_mz,reg32 \350\361\371\1\x7A\110 AVX512 +xmmreg_mz,reg64 \350\361\371\1\x7A\110 AVX512 +xmmreg_mz,reg8 \350\361\371\1\x7A\110 AVX512 +ymmreg_mz,mem8 \350\361\362\364\371\1\x78\110 AVX2,T1S +ymmreg_mz,xmmreg \350\361\362\364\371\1\x78\110 AVX2 +ymmreg_mz,reg16 \350\361\364\371\1\x7A\110 AVX512 +ymmreg_mz,reg32 \350\361\364\371\1\x7A\110 AVX512 +ymmreg_mz,reg64 \350\361\364\371\1\x7A\110 AVX512 +ymmreg_mz,reg8 \350\361\364\371\1\x7A\110 AVX512 +zmmreg_mz,mem8 \350\351\361\371\1\x78\110 AVX512,T1S +zmmreg_mz,reg16 \350\351\361\371\1\x7A\110 AVX512 +zmmreg_mz,reg32 \350\351\361\371\1\x7A\110 AVX512 +zmmreg_mz,reg64 \350\351\361\371\1\x7A\110 AVX512 +zmmreg_mz,reg8 \350\351\361\371\1\x7A\110 AVX512 +zmmreg_mz,xmmreg \350\351\361\371\1\x78\110 AVX512 + [VPBROADCASTD] (Ch_All) -ymmreg,xmmreg \361\362\364\371\1\x58\110 AVX2 -xmmreg,mem32 \361\362\371\1\x58\110 AVX2 -xmmreg,xmmreg \361\362\371\1\x58\110 AVX2 -ymmreg,mem32 \361\362\364\371\1\x58\110 AVX2 +xmmreg_mz,mem32 \350\361\362\371\1\x58\110 AVX2,T1S +xmmreg_mz,xmmreg \350\361\362\371\1\x58\110 AVX2 +xmmreg_mz,reg32 \350\361\371\1\x7C\110 AVX512 +ymmreg_mz,mem32 \350\361\362\364\371\1\x58\110 AVX2,T1S +ymmreg_mz,xmmreg \350\361\362\364\371\1\x58\110 AVX2 +ymmreg_mz,reg32 \350\361\364\371\1\x7C\110 AVX512 +zmmreg_mz,mem32 \350\351\361\371\1\x58\110 AVX512,T1S +zmmreg_mz,reg32 \350\351\361\371\1\x7C\110 AVX512 +zmmreg_mz,xmmreg \350\351\361\371\1\x58\110 AVX512 + [VPBROADCASTQ] (Ch_All) -ymmreg,mem64 \361\362\364\371\1\x59\110 AVX2 -xmmreg,mem64 \361\362\371\1\x59\110 AVX2 -xmmreg,xmmreg \361\362\371\1\x59\110 AVX2 -ymmreg,xmmreg \361\362\364\371\1\x59\110 AVX2 +xmmreg_mz,mem64 \350\352\361\362\371\1\x59\110 AVX2,T1S +xmmreg_mz,xmmreg \350\352\361\362\371\1\x59\110 AVX2 +xmmreg_mz,reg64 \350\352\361\371\1\x7C\110 AVX512 +ymmreg_mz,mem64 \350\352\361\362\364\371\1\x59\110 AVX2,T1S +ymmreg_mz,xmmreg \350\352\361\362\364\371\1\x59\110 AVX2 +ymmreg_mz,reg64 \350\352\361\364\371\1\x7C\110 AVX512 +zmmreg_mz,mem64 \350\351\352\361\371\1\x59\110 AVX512,T1S +zmmreg_mz,reg64 \350\351\352\361\371\1\x7C\110 AVX512 +zmmreg_mz,xmmreg \350\351\352\361\371\1\x59\110 AVX512 + [VPBROADCASTW] (Ch_All) -xmmreg,mem16 \361\362\371\1\x79\110 AVX2 -xmmreg,xmmreg \361\362\371\1\x79\110 AVX2 -ymmreg,mem16 \361\362\364\371\1\x79\110 AVX2 -ymmreg,xmmreg \361\362\364\371\1\x79\110 AVX2 +xmmreg_mz,mem16 \350\361\362\371\1\x79\110 AVX2,T1S +xmmreg_mz,xmmreg \350\361\362\371\1\x79\110 AVX2 +xmmreg_mz,reg16 \350\361\371\1\x7B\110 AVX512 +xmmreg_mz,reg32 \350\361\371\1\x7B\110 AVX512 +xmmreg_mz,reg64 \350\361\371\1\x7B\110 AVX512 +ymmreg_mz,mem16 \350\361\362\364\371\1\x79\110 AVX2,T1S +ymmreg_mz,xmmreg \350\361\362\364\371\1\x79\110 AVX2 +ymmreg_mz,reg16 \350\361\364\371\1\x7B\110 AVX512 +ymmreg_mz,reg32 \350\361\364\371\1\x7B\110 AVX512 +ymmreg_mz,reg64 \350\361\364\371\1\x7B\110 AVX512 +zmmreg_mz,mem16 \350\351\361\371\1\x79\110 AVX512,T1S +zmmreg_mz,reg16 \350\351\361\371\1\x7B\110 AVX512 +zmmreg_mz,reg32 \350\351\361\371\1\x7B\110 AVX512 +zmmreg_mz,reg64 \350\351\361\371\1\x7B\110 AVX512 +zmmreg_mz,xmmreg \350\351\361\371\1\x79\110 AVX512 + [VPERM2I128] (Ch_All) @@ -5432,19 +6168,44 @@ ymmreg,ymmreg,ymmrm,imm8 \361\362\364\372\1\x46\75\120\27 AVX2 [VPERMD] (Ch_All) -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x36\75\120 AVX2 +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x36\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x36\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x36\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x36\75\120 AVX512,TFV + [VPERMPD] (Ch_All) -ymmreg,ymmrm,imm8 \361\362\363\364\372\1\x01\110\26 AVX2 +ymmreg_mz,mem256,imm8 \350\352\361\362\363\364\372\1\x01\110\26 AVX2,TFV +ymmreg_mz,ymmreg,imm8 \350\352\361\362\363\364\372\1\x01\110\26 AVX2,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\372\1\x01\110\26 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x16\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x16\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x16\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x16\75\120 AVX512,TFV +zmmreg_mz,zmmrm,imm8 \350\351\352\361\372\1\x01\110\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\372\1\x01\110\26 AVX512,TFV + [VPERMPS] (Ch_All) -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x16\75\120 AVX2 +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x16\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x16\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x16\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x16\75\120 AVX512,TFV + [VPERMQ] (Ch_All) -ymmreg,ymmrm,imm8 \361\362\363\364\372\1\x00\110\26 AVX2 +ymmreg_mz,ymmrm,imm8 \350\352\361\362\363\364\372\1\x00\110\26 AVX2,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\372\1\x00\110\26 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x36\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x36\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x36\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x36\75\120 AVX512,TFV +zmmreg_mz,zmmrm,imm8 \350\351\352\361\372\1\x00\110\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\372\1\x00\110\26 AVX512,TFV + [VPMASKMOVD] (Ch_All) @@ -5462,68 +6223,125 @@ ymmreg,ymmreg,mem256 \361\362\363\364\371\1\x8C\75\120 AVX2 [VPSLLVD] (Ch_All) -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x47\75\120 AVX2 -xmmreg,xmmreg,xmmrm \361\362\371\1\x47\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x47\75\120 AVX2,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x47\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x47\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x47\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x47\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x47\75\120 AVX512,TFV + [VPSLLVQ] (Ch_All) -xmmreg,xmmreg,xmmrm \361\362\363\371\1\x47\75\120 AVX2 -ymmreg,ymmreg,ymmrm \361\362\363\364\371\1\x47\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\x47\75\120 AVX2,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x47\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\x47\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x47\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x47\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x47\75\120 AVX512,TFV + [VPSRAVD] (Ch_All) -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x46\75\120 AVX2 -xmmreg,xmmreg,xmmrm \361\362\371\1\x46\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x46\75\120 AVX2,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x46\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x46\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x46\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x46\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x46\75\120 AVX512,TFV + [VPSRLVD] (Ch_All) -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x45\75\120 AVX2 -xmmreg,xmmreg,xmmrm \361\362\371\1\x45\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x45\75\120 AVX2,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x45\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x45\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x45\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x45\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x45\75\120 AVX512,TFV + [VPSRLVQ] (Ch_All) -ymmreg,ymmreg,ymmrm \361\362\363\364\371\1\x45\75\120 AVX2 -xmmreg,xmmreg,xmmrm \361\362\363\371\1\x45\75\120 AVX2 +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\x45\75\120 AVX2,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x45\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\x45\75\120 AVX2,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x45\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x45\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x45\75\120 AVX512,TFV + [VGATHERDPD] (Ch_All) -xmmreg,xmem64,xmmreg \361\362\363\371\1\x92\76\110 AVX2 -ymmreg,xmem64,ymmreg \361\362\363\364\371\1\x92\76\110 AVX2 +xmmreg,xmem32,xmmreg \361\362\363\371\1\x92\76\110 AVX2 +xmmreg_m,xmem32 \350\352\361\371\1\x92\110 AVX512,T1S +ymmreg,xmem32,ymmreg \361\362\363\364\371\1\x92\76\110 AVX2 I +ymmreg_m,xmem32 \350\352\361\364\371\1\x92\110 AVX512,T1S +zmmreg_m,ymem32 \350\351\352\361\371\1\x92\110 AVX512,T1S + + [VGATHERDPS] (Ch_All) -xmmreg,xmem32,xmmreg \361\362\371\1\x92\76\110 AVX2 -ymmreg,ymem32,ymmreg \361\362\364\371\1\x92\76\110 AVX2 +xmmreg,xmem32,xmmreg \361\362\371\1\x92\76\110 AVX2 +xmmreg_m,xmem32 \350\361\371\1\x92\110 AVX512,T1S +ymmreg,ymem32,ymmreg \361\362\364\371\1\x92\76\110 AVX2 +ymmreg_m,ymem32 \350\361\364\371\1\x92\110 AVX512,T1S +zmmreg_m,zmem32 \350\351\361\371\1\x92\110 AVX512,T1S + [VGATHERQPD] (Ch_All) -xmmreg,xmem64,xmmreg \361\362\363\371\1\x93\76\110 AVX2 -ymmreg,ymem64,ymmreg \361\362\363\364\371\1\x93\76\110 AVX2 +xmmreg,xmem64,xmmreg \361\362\363\371\1\x93\76\110 AVX2 +xmmreg_m,xmem64 \350\352\361\371\1\x93\110 AVX512,T1S +ymmreg,ymem64,ymmreg \361\362\363\364\371\1\x93\76\110 AVX2 +ymmreg_m,ymem64 \350\352\361\364\371\1\x93\110 AVX512,T1S +zmmreg_m,zmem64 \350\351\352\361\371\1\x93\110 AVX512,T1S + [VGATHERQPS] (Ch_All) -xmmreg,xmem32,xmmreg \361\362\371\1\x93\76\110 AVX2 -xmmreg,ymem32,xmmreg \361\362\364\371\1\x93\76\110 AVX2 +xmmreg,xmem32,xmmreg \361\362\371\1\x93\76\110 AVX2 +xmmreg,ymem32,xmmreg \361\362\364\371\1\x93\76\110 AVX2 +xmmreg_m,xmem32 \350\361\371\1\x93\110 AVX512,T1S +xmmreg_m,ymem32 \350\361\364\371\1\x93\110 AVX512,T1S +ymmreg_m,zmem32 \350\351\361\371\1\x93\110 AVX512,T1S + [VPGATHERDD] (Ch_All) -xmmreg,xmem32,xmmreg \361\362\371\1\x90\76\110 AVX2 -ymmreg,ymem32,ymmreg \361\362\364\371\1\x90\76\110 AVX2 +xmmreg,xmem32,xmmreg \361\362\371\1\x90\76\110 AVX2 +xmmreg_m,xmem32 \350\361\371\1\x90\110 AVX512,T1S +ymmreg,ymem32,ymmreg \361\362\364\371\1\x90\76\110 AVX2 +ymmreg_m,ymem32 \350\361\364\371\1\x90\110 AVX512,T1S +zmmreg_m,zmem32 \350\351\361\371\1\x90\110 AVX512,T1S + [VPGATHERDQ] (Ch_All) -xmmreg,xmem64,xmmreg \361\362\363\371\1\x90\76\110 AVX2 -ymmreg,xmem64,ymmreg \361\362\363\364\371\1\x90\76\110 AVX2 +xmmreg,xmem64,xmmreg \361\362\363\371\1\x90\76\110 AVX2 +xmmreg_m,xmem64 \350\352\361\371\1\x90\110 AVX512,T1S +ymmreg,xmem64,ymmreg \361\362\363\364\371\1\x90\76\110 AVX2 +ymmreg_m,xmem64 \350\352\361\364\371\1\x90\110 AVX512,T1S +zmmreg_m,ymem64 \350\351\352\361\371\1\x90\110 AVX512,T1S [VPGATHERQD] (Ch_All) -xmmreg,xmem32,xmmreg \361\362\371\1\x91\76\110 AVX2 -xmmreg,ymem32,xmmreg \361\362\364\371\1\x91\76\110 AVX2 +xmmreg,xmem32,xmmreg \361\362\371\1\x91\76\110 AVX2 +xmmreg,ymem32,xmmreg \361\362\364\371\1\x91\76\110 AVX2 +xmmreg_m,xmem32 \350\361\371\1\x91\110 AVX512,T1S +xmmreg_m,ymem32 \350\361\364\371\1\x91\110 AVX512,T1S +ymmreg_m,zmem32 \350\351\361\371\1\x91\110 AVX512,T1S + [VPGATHERQQ] (Ch_All) -xmmreg,xmem64,xmmreg \361\362\363\371\1\x91\76\110 AVX2 -ymmreg,ymem64,ymmreg \361\362\363\364\371\1\x91\76\110 AVX2 +xmmreg,xmem64,xmmreg \361\362\363\371\1\x91\76\110 AVX2 +xmmreg_m,xmem64 \350\352\361\371\1\x91\110 AVX512,T1S +ymmreg,ymem64,ymmreg \361\362\363\364\371\1\x91\76\110 AVX2 +ymmreg_m,ymem64 \350\352\361\364\371\1\x91\110 AVX512,T1S +zmmreg_m,zmem64 \350\351\352\361\371\1\x91\110 AVX512,T1S + ;******************************************************************************* ;********** NEC V20/V30 ******************************************************** @@ -5604,286 +6422,491 @@ rm16,imm \2\x0F\x19\200\25 NEC,SW ;******************************************************************************* ;********** FMA **************************************************************** ;******************************************************************************* -[VFMADD132PD] +[VFMADDPD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\x98\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\x98\75\120 FMA +xmmreg,xmmreg,xmmrm,xmmreg \361\362\372\1\x69\75\120\367 FMA4 +xmmreg,xmmreg,xmmreg,xmmrm \361\362\372\363\1\x69\75\130\366 FMA4 -[VFMADD213PD] +[VFMADD132PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xA8\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xA8\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\x98\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x98\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\x98\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x98\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\x98\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x98\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\x98\75\120 AVX512 -[VFMADD231PD] +[VFMADD132PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xB8\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xB8\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x98\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x98\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x98\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x98\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\x98\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\x98\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x98\75\120 AVX512,TFV -[VFMADDPD] +[VFMADD132SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm,xmmreg \361\362\372\1\x69\75\120\367 FMA4 -xmmreg,xmmreg,xmmreg,xmmrm \361\362\372\363\1\x69\75\130\366 FMA4 +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\x99\75\120 FMA,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\x99\75\120 FMA -[VFMADD132PS] +[VFMADD132SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\x98\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x98\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\x99\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\x99\75\120 FMA,T1S -[VFMADD213PS] +[VFMADD213PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xA8\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xA8\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xA8\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xA8\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xA8\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xA8\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xA8\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xA8\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xA8\75\120 AVX512 -[VFMADD231PS] +[VFMADD213PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xB8\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xB8\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xA8\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xA8\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xA8\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xA8\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xA8\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xA8\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xA8\75\120 AVX512,TFV -[VFMADD132SD] +[VFMADD213SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\x99\75\120 FMA +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\xA9\75\120 FMA,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\xA9\75\120 FMA -[VFMADD213SD] +[VFMADD213SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xa9\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\xA9\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\xA9\75\120 FMA,T1S -[VFMADD231SD] +[VFMADD231PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xb9\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xB8\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xB8\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xB8\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xB8\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xB8\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xB8\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xB8\75\120 AVX512,TFV -[VFMADD132SS] +[VFMADD231PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\x99\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xB8\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xB8\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xB8\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xB8\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xB8\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xB8\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xB8\75\120 AVX512,TFV -[VFMADD213SS] +[VFMADD231SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xA9\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\xB9\75\120 FMA +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\xB9\75\120 FMA,T1S [VFMADD231SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xb9\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\xB9\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\xB9\75\120 FMA,T1S [VFMADDSUB132PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\x96\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\x96\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\x96\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x96\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\x96\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x96\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\x96\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x96\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\x96\75\120 AVX512 -[VFMADDSUB213PD] +[VFMADDSUB132PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xA6\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xA6\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x96\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x96\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x96\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x96\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\x96\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x96\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\x96\75\120 AVX512 -[VFMADDSUB231PD] +[VFMADDSUB213PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xB6\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xB6\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xA6\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xA6\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xA6\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xA6\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xA6\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xA6\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xA6\75\120 AVX512 -[VFMADDSUB132PS] +[VFMADDSUB213PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\x96\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x96\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xA6\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xA6\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xA6\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xA6\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xA6\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xA6\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xA6\75\120 AVX512,TFV -[VFMADDSUB213PS] +[VFMADDSUB231PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xA6\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xA6\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xB6\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xB6\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xB6\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xB6\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xB6\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xB6\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xB6\75\120 AVX512,TFV [VFMADDSUB231PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xB6\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xB6\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xB6\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xB6\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xB6\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xB6\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xB6\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xB6\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xB6\75\120 AVX512 -[VFMSUBADD132PD] +[VFMSUB132PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\x97\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\x97\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\x9A\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x9A\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\x9A\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x9A\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\x9A\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\x9A\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x9A\75\120 AVX512,TFV -[VFMSUBADD213PD] +[VFMSUB132PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xA7\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xA7\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x9A\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x9A\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x9A\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x9A\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\x9A\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\x9A\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x9A\75\120 AVX512,TFV -[VFMSUBADD231PD] +[VFMSUB132SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xB7\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xB7\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\x9B\75\120 FMA +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\x9B\75\120 FMA,T1S -[VFMSUBADD132PS] +[VFMSUB132SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\x97\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x97\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\x9B\75\120 FMA,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\x9B\75\120 FMA -[VFMSUBADD213PS] +[VFMSUB213PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xA7\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xA7\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xAA\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xAA\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xAA\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xAA\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xAA\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xAA\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xAA\75\120 AVX512,TFV -[VFMSUBADD231PS] +[VFMSUB213PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xB7\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xB7\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xAA\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xAA\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xAA\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xAA\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xAA\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xAA\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xAA\75\120 AVX512,TFV -[VFMSUB132PD] +[VFMSUB213SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\x9A\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\x9A\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\xAB\75\120 FMA +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\xAB\75\120 FMA,T1S -[VFMSUB213PD] +[VFMSUB213SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xAA\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xAA\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\xAB\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\xAB\75\120 FMA,T1S [VFMSUB231PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xBA\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xBA\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xBA\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xBA\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xBA\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xBA\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xBA\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xBA\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xBA\75\120 AVX512,TFV -[VFMSUB132PS] +[VFMSUB231PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\x9A\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x9A\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xBA\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xBA\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xBA\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xBA\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xBA\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xBA\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xBA\75\120 AVX512,TFV -[VFMSUB213PS] +[VFMSUB231SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xAA\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xAA\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\xBB\75\120 FMA +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\xBB\75\120 FMA,T1S -[VFMSUB231PS] +[VFMSUB231SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xBA\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xBA\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\xBB\75\120 FMA,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\xBB\75\120 FMA -[VFMSUB132SD] +[VFMSUBADD132PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\x9B\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\x97\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x97\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\x97\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x97\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\x97\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\x97\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x97\75\120 AVX512,TFV -[VFMSUB213SD] +[VFMSUBADD132PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xAB\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x97\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x97\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x97\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x97\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\x97\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x97\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\x97\75\120 AVX512 -[VFMSUB231SD] +[VFMSUBADD213PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xBB\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xA7\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xA7\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xA7\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xA7\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xA7\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xA7\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xA7\75\120 AVX512 -[VFMSUB132SS] +[VFMSUBADD213PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\x9B\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xA7\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xA7\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xA7\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xA7\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xA7\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xA7\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xA7\75\120 AVX512,TFV -[VFMSUB213SS] +[VFMSUBADD231PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xAB\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xB7\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xB7\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xB7\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xB7\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xB7\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xB7\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xB7\75\120 AVX512,TFV -[VFMSUB231SS] +[VFMSUBADD231PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xBB\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xB7\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xB7\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xB7\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xB7\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xB7\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xB7\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xB7\75\120 AVX512,TFV [VFNMADD132PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\x9C\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\x9C\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\x9C\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x9C\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\x9C\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x9C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\x9C\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\x9C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x9C\75\120 AVX512,TFV -[VFNMADD213PD] +[VFNMADD132PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xAC\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xAC\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x9C\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x9C\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x9C\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x9C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\x9C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x9C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\x9C\75\120 AVX512 -[VFNMADD231PD] +[VFNMADD132SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xBC\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xBC\75\120 FMA +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\x9D\75\120 FMA,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\x9D\75\120 FMA -[VFNMADD132PS] +[VFNMADD132SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\x9C\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x9C\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\x9D\75\120 FMA,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\x9D\75\120 FMA -[VFNMADD213PS] +[VFNMADD213PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xAC\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xAC\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xAC\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xAC\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xAC\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xAC\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xAC\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xAC\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xAC\75\120 AVX512,TFV -[VFNMADD231PS] +[VFNMADD213PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xBC\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xBC\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xAC\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xAC\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xAC\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xAC\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xAC\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xAC\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xAC\75\120 AVX512 -[VFNMADD132SD] +[VFNMADD213SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\x9D\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\xAD\75\120 FMA +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\xAD\75\120 FMA,T1S -[VFNMADD213SD] +[VFNMADD213SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xAD\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\xAD\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\xAD\75\120 FMA,T1S -[VFNMADD231SD] +[VFNMADD231PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xBD\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xBC\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xBC\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xBC\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xBC\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xBC\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xBC\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xBC\75\120 AVX512,TFV -[VFNMADD132SS] +[VFNMADD231PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\x9D\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xBC\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xBC\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xBC\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xBC\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xBC\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xBC\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xBC\75\120 AVX512,TFV -[VFNMADD213SS] +[VFNMADD231SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xAD\75\120 FMA +xmmreg,xmmreg,mem64 \361\362\363\371\1\xBD\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\xBD\75\120 FMA [VFNMADD231SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xBD\75\120 FMA +xmmreg,xmmreg,xmmreg \361\362\371\1\xBD\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\xBD\75\120 FMA,T1S [VFNMSUB132PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\x9E\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\x9E\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\x9E\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x9E\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\x9E\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x9E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\x9E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x9E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\x9E\75\120 AVX512 -[VFNMSUB213PD] +[VFNMSUB132PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xAE\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xAE\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\x9E\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x9E\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\x9E\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x9E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\x9E\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\x9E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x9E\75\120 AVX512,TFV -[VFNMSUB231PD] +[VFNMSUB132SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xBE\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\363\1\xBE\75\120 FMA +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\x9F\75\120 FMA,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\x9F\75\120 FMA -[VFNMSUB132PS] +[VFNMSUB132SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\x9E\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\x9E\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\x9F\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\x9F\75\120 FMA,T1S -[VFNMSUB213PS] +[VFNMSUB213PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xAE\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xAE\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xAE\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xAE\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xAE\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xAE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xAE\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xAE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xAE\75\120 AVX512,TFV -[VFNMSUB231PS] +[VFNMSUB213PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xBE\75\120 FMA -ymmreg,ymmreg,ymmrm \361\362\364\371\1\xBE\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xAE\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xAE\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xAE\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xAE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xAE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xAE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xAE\75\120 AVX512 -[VFNMSUB132SD] +[VFNMSUB213SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\x9F\75\120 FMA +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\xAF\75\120 FMA,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\xAF\75\120 FMA -[VFNMSUB213SD] +[VFNMSUB213SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xAF\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\xAF\75\120 FMA,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\xAF\75\120 FMA -[VFNMSUB231SD] +[VFNMSUB231PD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\363\1\xBF\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\352\361\362\363\371\1\xBE\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xBE\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\362\363\364\371\1\xBE\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xBE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\xBE\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\xBE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xBE\75\120 AVX512,TFV -[VFNMSUB132SS] +[VFNMSUB231PS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\x9F\75\120 FMA +xmmreg_mz,xmmreg,xmmrm \350\361\362\371\1\xBE\75\120 FMA,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\xBE\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\362\364\371\1\xBE\75\120 FMA,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\xBE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\xBE\75\120 AVX512 +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\xBE\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xBE\75\120 AVX512,TFV -[VFNMSUB213SS] +[VFNMSUB231SD] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xAF\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\xBF\75\120 FMA +xmmreg_mz,xmmreg,mem64 \350\352\361\362\363\371\1\xBF\75\120 FMA,T1S [VFNMSUB231SS] (Ch_Mop3, Ch_Rop2, Ch_Rop1) -xmmreg,xmmreg,xmmrm \361\362\371\1\xBF\75\120 FMA +xmmreg_mz,xmmreg,xmmreg_er \350\361\362\371\1\xBF\75\120 FMA +xmmreg_mz,xmmreg,mem32 \350\361\362\371\1\xBF\75\120 FMA,T1S + ;******************************************************************************* ;********** TSX **************************************************************** @@ -5938,3 +6961,1984 @@ void \3\x0F\x01\xD0 XSAVE (Ch_All) mem \2\x0F\x0D\202 PREFETCHWT1 + +;******************************************************************************* +;********** AVX 512 - MASKRegister ********************************************* +;******************************************************************************* + + +[KADDB] +(Ch_All) +kreg,kreg,kreg \361\362\364\370\1\x4A\75\120 AVX512 + +[KADDD] +(Ch_All) +kreg,kreg,kreg \361\362\363\364\370\1\x4A\75\120 AVX512 + +[KADDQ] +(Ch_All) +kreg,kreg,kreg \362\363\364\370\1\x4A\75\120 AVX512 + +[KADDW] +(Ch_All) +kreg,kreg,kreg \362\364\370\1\x4A\75\120 AVX512 + +[KANDB] +(Ch_All) +kreg,kreg,kreg \361\362\364\370\1\x41\75\120 AVX512 + +[KANDD] +(Ch_All) +kreg,kreg,kreg \361\362\363\364\370\1\x41\75\120 AVX512 + +[KANDNB] +(Ch_All) +kreg,kreg,kreg \361\362\364\370\1\x42\75\120 AVX512 + +[KANDND] +(Ch_All) +kreg,kreg,kreg \361\362\363\364\370\1\x42\75\120 AVX512 + +[KANDNQ] +(Ch_All) +kreg,kreg,kreg \362\363\364\370\1\x42\75\120 AVX512 + +[KANDNW] +(Ch_All) +kreg,kreg,kreg \362\364\370\1\x42\75\120 AVX512 + +[KANDQ] +(Ch_All) +kreg,kreg,kreg \362\363\364\370\1\x41\75\120 AVX512 + +[KANDW] +(Ch_All) +kreg,kreg,kreg \362\364\370\1\x41\75\120 AVX512 + +[KMOVB] +(Ch_All) +kreg,kreg \361\362\370\1\x90\110 AVX512 +kreg,mem8 \361\362\370\1\x90\110 AVX512 +kreg,reg32 \361\362\370\1\x92\110 AVX512 +mem8,kreg \361\362\370\1\x91\101 AVX512 +reg32,kreg \361\362\370\1\x93\110 AVX512 + +[KMOVD] +(Ch_All) +kreg,kreg \361\362\363\370\1\x90\110 AVX512 +kreg,mem32 \361\362\363\370\1\x90\110 AVX512 +kreg,reg32 \334\362\370\1\x92\110 AVX512 +mem32,kreg \361\362\363\370\1\x91\101 AVX512 +reg32,kreg \334\362\370\1\x93\110 AVX512 + +[KMOVQ] +(Ch_All) +kreg,kreg \362\363\370\1\x90\110 AVX512 +kreg,mem64 \362\363\370\1\x90\110 AVX512 +kreg,reg64 \334\362\363\370\1\x92\110 AVX512 +mem64,kreg \362\363\370\1\x91\101 AVX512 +reg64,kreg \334\362\363\370\1\x93\110 AVX512 + +[KMOVW] +(Ch_All) +kreg,kreg \362\370\1\x90\110 AVX512 +kreg,mem16 \362\370\1\x90\110 AVX512 +kreg,reg32 \362\370\1\x92\110 AVX512 +mem16,kreg \362\370\1\x91\101 AVX512 +reg32,kreg \362\370\1\x93\110 AVX512 + +[KNOTB] +(Ch_All) +kreg,kreg \361\362\370\1\x44\110 AVX512 + +[KNOTD] +(Ch_All) +kreg,kreg \361\362\363\370\1\x44\110 AVX512 + +[KNOTQ] +(Ch_All) +kreg,kreg \362\363\370\1\x44\110 AVX512 + +[KNOTW] +(Ch_All) +kreg,kreg \362\370\1\x44\110 AVX512 + +[KORB] +(Ch_All) +kreg,kreg,kreg \361\362\364\370\1\x45\75\120 AVX512 + +[KORD] +(Ch_All) +kreg,kreg,kreg \361\362\363\364\370\1\x45\75\120 AVX512 + +[KORQ] +(Ch_All) +kreg,kreg,kreg \362\363\364\370\1\x45\75\120 AVX512 + +[KORTESTB] +(Ch_All) +kreg,kreg \361\362\370\1\x98\110 AVX512 + +[KORTESTD] +(Ch_All) +kreg,kreg \361\362\363\370\1\x98\110 AVX512 + +[KORTESTQ] +(Ch_All) +kreg,kreg \362\363\370\1\x98\110 AVX512 + +[KORTESTW] +(Ch_All) +kreg,kreg \362\370\1\x98\110 AVX512 + +[KORW] +(Ch_All) +kreg,kreg,kreg \362\364\370\1\x45\75\120 AVX512 + +[KSHIFTLB] +(Ch_All) +kreg,kreg,imm8 \361\362\372\1\x32\110\26 AVX512 + +[KSHIFTLD] +(Ch_All) +kreg,kreg,imm8 \361\362\372\1\x33\110\26 AVX512 + +[KSHIFTLQ] +(Ch_All) +kreg,kreg,imm8 \361\362\363\372\1\x33\110\26 AVX512 + +[KSHIFTLW] +(Ch_All) +kreg,kreg,imm8 \361\362\363\372\1\x32\110\26 AVX512 + +[KSHIFTRB] +(Ch_All) +kreg,kreg,imm8 \361\362\372\1\x30\110\26 AVX512 + +[KSHIFTRD] +(Ch_All) +kreg,kreg,imm8 \361\362\372\1\x31\110\26 AVX512 + +[KSHIFTRQ] +(Ch_All) +kreg,kreg,imm8 \361\362\363\372\1\x31\110\26 AVX512 + +[KSHIFTRW] +(Ch_All) +kreg,kreg,imm8 \361\362\363\372\1\x30\110\26 AVX512 + +[KTESTB] +(Ch_All) +kreg,kreg \361\362\370\1\x99\110 AVX512 + +[KTESTD] +(Ch_All) +kreg,kreg \361\362\363\370\1\x99\110 AVX512 + +[KTESTQ] +(Ch_All) +kreg,kreg \362\363\370\1\x99\110 AVX512 + +[KTESTW] +(Ch_All) +kreg,kreg \362\370\1\x99\110 AVX512 + +[KUNPCKBW] +(Ch_All) +kreg,kreg,kreg \361\362\364\370\1\x4B\75\120 AVX512 + +[KUNPCKDQ] +(Ch_All) +kreg,kreg,kreg \362\363\364\370\1\x4B\75\120 AVX512 + +[KUNPCKWD] +(Ch_All) +kreg,kreg,kreg \362\364\370\1\x4B\75\120 AVX512 + +[KXNORB] +(Ch_All) +kreg,kreg,kreg \361\362\364\370\1\x46\75\120 AVX512 + +[KXNORD] +(Ch_All) +kreg,kreg,kreg \361\362\363\364\370\1\x46\75\120 AVX512 + +[KXNORQ] +(Ch_All) +kreg,kreg,kreg \362\363\364\370\1\x46\75\120 AVX512 + +[KXNORW] +(Ch_All) +kreg,kreg,kreg \362\364\370\1\x46\75\120 AVX512 + +[KXORB] +(Ch_All) +kreg,kreg,kreg \361\362\364\370\1\x47\75\120 AVX512 + +[KXORD] +(Ch_All) +kreg,kreg,kreg \361\362\363\364\370\1\x47\75\120 AVX512 + +[KXORQ] +(Ch_All) +kreg,kreg,kreg \362\363\364\370\1\x47\75\120 AVX512 + +[KXORW] +(Ch_All) +kreg,kreg,kreg \362\364\370\1\x47\75\120 AVX512 + + +;******************************************************************************* +;*********************** AVX 512 ********************************************* +;******************************************************************************* + + + +[VALIGND] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm,imm8 \350\361\372\1\x03\75\120\27 AVX512,TFV +xmmreg_mz,xmmreg,bmem32,imm8 \350\361\372\1\x03\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm,imm8 \350\361\364\372\1\x03\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem32,imm8 \350\361\364\372\1\x03\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\361\372\1\x03\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem32,imm8 \350\351\361\372\1\x03\75\120\27 AVX512,TFV + +[VALIGNQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm,imm8 \350\352\361\372\1\x03\75\120\27 AVX512,TFV +xmmreg_mz,xmmreg,bmem64,imm8 \350\352\361\372\1\x03\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm,imm8 \350\352\361\364\372\1\x03\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem64,imm8 \350\352\361\364\372\1\x03\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\352\361\372\1\x03\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem64,imm8 \350\351\352\361\372\1\x03\75\120\27 AVX512,TFV + +[VBLENDMPD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x65\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x65\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x65\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x65\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x65\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x65\75\120 AVX512,TFV + +[VBLENDMPS] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x65\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x65\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x65\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x65\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x65\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x65\75\120 AVX512,TFV + +[VBROADCASTF32X2] +(Ch_All) +ymmreg_mz,xmmreg \350\361\364\371\1\x19\110 AVX512 +ymmreg_mz,mem64 \350\361\364\371\1\x19\110 AVX512,T2 +zmmreg_mz,xmmreg \350\351\361\371\1\x19\110 AVX512 +zmmreg_mz,mem64 \350\351\361\371\1\x19\110 AVX512,T2 + +[VBROADCASTF32X4] +(Ch_All) +ymmreg_mz,mem128 \350\361\364\371\1\x1A\110 AVX512,T4 +zmmreg_mz,mem128 \350\351\361\371\1\x1A\110 AVX512,T4 + +[VBROADCASTF32X8] +(Ch_All) +zmmreg_mz,mem256 \350\351\361\371\1\x1B\110 AVX512,T8 + +[VBROADCASTF64X2] +(Ch_All) +ymmreg_mz,mem128 \350\352\361\364\371\1\x1A\110 AVX512,T2 +zmmreg_mz,mem128 \350\351\352\361\371\1\x1A\110 AVX512,T2 + +[VBROADCASTF64X4] +(Ch_All) +zmmreg_mz,mem256 \350\351\352\361\371\1\x1B\110 AVX512,T4 + +[VBROADCASTI32X2] +(Ch_All) +xmmreg_mz,xmmreg \350\361\371\1\x59\110 AVX512 +xmmreg_mz,mem64 \350\361\371\1\x59\110 AVX512,T2 +ymmreg_mz,xmmreg \350\361\364\371\1\x59\110 AVX512 +ymmreg_mz,mem64 \350\361\364\371\1\x59\110 AVX512,T2 +zmmreg_mz,xmmreg \350\351\361\371\1\x59\110 AVX512 +zmmreg_mz,mem64 \350\351\361\371\1\x59\110 AVX512,T2 + +[VBROADCASTI32X4] +(Ch_All) +ymmreg_mz,mem128 \350\361\364\371\1\x5A\110 AVX512,T4 +zmmreg_mz,mem128 \350\351\361\371\1\x5A\110 AVX512,T4 + +[VBROADCASTI32X8] +(Ch_All) +zmmreg_mz,mem256 \350\351\361\371\1\x5B\110 AVX512,T8 + +[VBROADCASTI64X2] +(Ch_All) +ymmreg_mz,mem128 \350\352\361\364\371\1\x5A\110 AVX512,T2 +zmmreg_mz,mem128 \350\351\352\361\371\1\x5A\110 AVX512,T2 + +[VBROADCASTI64X4] +(Ch_All) +zmmreg_mz,mem256 \350\351\352\361\371\1\x5B\110 AVX512,T4 + +[VCOMPRESSPD] +(Ch_All) +mem128_m,xmmreg \350\352\361\371\1\x8A\101 AVX512,T1S +mem256_m,ymmreg \350\352\361\364\371\1\x8A\101 AVX512,T1S +mem512_m,zmmreg \350\351\352\361\371\1\x8A\101 AVX512,T1S + +[VCOMPRESSPS] +(Ch_All) +mem128_m,xmmreg \350\361\371\1\x8A\101 AVX512,T1S +mem256_m,ymmreg \350\361\364\371\1\x8A\101 AVX512,T1S +mem512_m,zmmreg \350\351\361\371\1\x8A\101 AVX512,T1S +xmmreg_mz,xmmreg \350\361\371\1\x8A\101 AVX512 +ymmreg_mz,ymmreg \350\361\364\371\1\x8A\101 AVX512 +zmmreg_mz,zmmreg \350\351\361\371\1\x8A\101 AVX512 + +[VCVTPD2QQ] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\370\1\x7B\110 AVX512,TFV +xmmreg_mz,bmem64 \350\352\361\370\1\x7B\110 AVX512,TFV +ymmreg_mz,ymmrm \350\352\361\364\370\1\x7B\110 AVX512,TFV +ymmreg_mz,bmem64 \350\352\361\364\370\1\x7B\110 AVX512,TFV +zmmreg_mz,mem512 \350\351\352\361\370\1\x7B\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\370\1\x7B\110 AVX512,TFV +zmmreg_mz,zmmreg_er \350\351\352\361\370\1\x7B\110 AVX512 + +[VCVTPD2UDQ] +(Ch_All) +xmmreg_mz,mem128 \350\352\370\1\x79\110 AVX512,TFV +xmmreg_mz,mem256 \350\352\364\370\1\x79\110 AVX512,TFV +xmmreg_mz,xmmreg \350\352\370\1\x79\110 AVX512 +xmmreg_mz,bmem64 \350\352\370\1\x79\110 AVX512,BCST2,TFV +xmmreg_mz,bmem64 \350\352\364\370\1\x79\110 AVX512,BCST4,TFV +xmmreg_mz,ymmreg \350\352\364\370\1\x79\110 AVX512 +ymmreg_mz,mem512 \350\351\352\370\1\x79\110 AVX512,TFV +ymmreg_mz,bmem64 \350\351\352\370\1\x79\110 AVX512,BCST8,TFV +ymmreg_mz,zmmreg_er \350\351\352\370\1\x79\110 AVX512 + +[VCVTPD2UQQ] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\370\1\x79\110 AVX512,TFV +xmmreg_mz,bmem64 \350\352\361\370\1\x79\110 AVX512,BCST2,TFV +ymmreg_mz,ymmrm \350\352\361\364\370\1\x79\110 AVX512,TFV +ymmreg_mz,bmem64 \350\352\361\364\370\1\x79\110 AVX512,BCST4,TFV +zmmreg_mz,mem512 \350\351\352\361\370\1\x79\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\370\1\x79\110 AVX512,BCST8,TFV +zmmreg_mz,zmmreg_er \350\351\352\361\370\1\x79\110 AVX512 + +[VCVTPS2QQ] +(Ch_All) +xmmreg_mz,xmmreg \350\361\370\1\x7B\110 AVX512 +xmmreg_mz,mem64 \350\361\370\1\x7B\110 AVX512,THV +xmmreg_mz,bmem32 \350\361\370\1\x7B\110 AVX512,BCST2,THV +ymmreg_mz,xmmrm \350\361\364\370\1\x7B\110 AVX512,THV +ymmreg_mz,bmem32 \350\361\364\370\1\x7B\110 AVX512,BCST4,THV +zmmreg_mz,mem256 \350\351\361\370\1\x7B\110 AVX512,THV +zmmreg_mz,bmem32 \350\351\361\370\1\x7B\110 AVX512,BCST8,THV +zmmreg_mz,ymmreg_er \350\351\361\370\1\x7B\110 AVX512 + +[VCVTPS2UDQ] +(Ch_All) +xmmreg_mz,xmmrm \350\370\1\x79\110 AVX512,TFV +xmmreg_mz,bmem32 \350\370\1\x79\110 AVX512,BCST4,TFV +ymmreg_mz,ymmrm \350\364\370\1\x79\110 AVX512,TFV +ymmreg_mz,bmem32 \350\364\370\1\x79\110 AVX512,BCST8,TFV +zmmreg_mz,mem512 \350\351\370\1\x79\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\370\1\x79\110 AVX512,BCST16,TFV +zmmreg_mz,zmmreg_er \350\351\370\1\x79\110 AVX512 + +[VCVTPS2UQQ] +(Ch_All) +xmmreg_mz,xmmreg \350\361\370\1\x79\110 AVX512 +xmmreg_mz,mem64 \350\361\370\1\x79\110 AVX512,THV +xmmreg_mz,bmem32 \350\361\370\1\x79\110 AVX512,BCST2,THV +ymmreg_mz,xmmrm \350\361\364\370\1\x79\110 AVX512,THV +ymmreg_mz,bmem32 \350\361\364\370\1\x79\110 AVX512,BCST4,THV +zmmreg_mz,mem256 \350\351\361\370\1\x79\110 AVX512,THV +zmmreg_mz,bmem32 \350\351\361\370\1\x79\110 AVX512,BCST8,THV +zmmreg_mz,ymmreg_er \350\351\361\370\1\x79\110 AVX512 + +[VCVTQQ2PD] +(Ch_All) +xmmreg_mz,xmmrm \333\350\352\370\1\xE6\110 AVX512,TFV +xmmreg_mz,bmem64 \333\350\352\370\1\xE6\110 AVX512,TFV +ymmreg_mz,ymmrm \333\350\352\364\370\1\xE6\110 AVX512,TFV +ymmreg_mz,bmem64 \333\350\352\364\370\1\xE6\110 AVX512,TFV +zmmreg_mz,mem512 \333\350\351\352\370\1\xE6\110 AVX512,TFV +zmmreg_mz,bmem64 \333\350\351\352\370\1\xE6\110 AVX512,TFV +zmmreg_mz,zmmreg_er \333\350\351\352\370\1\xE6\110 AVX512 + +[VCVTQQ2PS] +(Ch_All) +xmmreg_mz,mem128 \350\352\370\1\x5B\110 AVX512,TFV +xmmreg_mz,mem256 \350\352\364\370\1\x5B\110 AVX512,TFV +xmmreg_mz,xmmreg \350\352\370\1\x5B\110 AVX512 +xmmreg_mz,bmem64 \350\352\370\1\x5B\110 AVX512,BCST2,TFV +xmmreg_mz,bmem64 \350\352\364\370\1\x5B\110 AVX512,BCST4,TFV +xmmreg_mz,ymmreg \350\352\364\370\1\x5B\110 AVX512 +ymmreg_mz,mem512 \350\351\352\370\1\x5B\110 AVX512,TFV +ymmreg_mz,bmem64 \350\351\352\370\1\x5B\110 AVX512,BCST8,TFV +ymmreg_mz,zmmreg_er \350\351\352\370\1\x5B\110 AVX512 + +[VCVTSD2USI] +(Ch_All) +reg32,mem64 \334\350\370\1\x79\110 AVX512,T1F64 +reg32,xmmreg_er \334\350\370\1\x79\110 AVX512 +reg64,mem64 \334\350\352\370\1\x79\110 AVX512,T1F64 +reg64,xmmreg_er \334\350\352\370\1\x79\110 AVX512 + +[VCVTSS2USI] +(Ch_All) +reg32,mem32 \333\350\370\1\x79\110 AVX512,T1F32 +reg32,xmmreg_er \333\350\370\1\x79\110 AVX512 +reg64,mem32 \333\350\352\370\1\x79\110 AVX512,T1F32 +reg64,xmmreg_er \333\350\352\370\1\x79\110 AVX512 + +[VCVTTPD2QQ] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\370\1\x7A\110 AVX512,TFV +xmmreg_mz,bmem64 \350\352\361\370\1\x7A\110 AVX512,TFV +ymmreg_mz,ymmrm \350\352\361\364\370\1\x7A\110 AVX512,TFV +ymmreg_mz,bmem64 \350\352\361\364\370\1\x7A\110 AVX512,TFV +zmmreg_mz,mem512 \350\351\352\361\370\1\x7A\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\370\1\x7A\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\352\361\370\1\x7A\110 AVX512 + +[VCVTTPD2UDQ] +(Ch_All) +xmmreg_mz,mem128 \350\352\370\1\x78\110 AVX512,TFV +xmmreg_mz,mem256 \350\352\364\370\1\x78\110 AVX512,TFV +xmmreg_mz,xmmreg \350\352\370\1\x78\110 AVX512 +xmmreg_mz,bmem64 \350\352\370\1\x78\110 AVX512,BCST2,TFV +xmmreg_mz,bmem64 \350\352\364\370\1\x78\110 AVX512,BCST4,TFV +xmmreg_mz,ymmreg \350\352\364\370\1\x78\110 AVX512 +ymmreg_mz,mem512 \350\351\352\370\1\x78\110 AVX512,TFV +ymmreg_mz,bmem64 \350\351\352\370\1\x78\110 AVX512,BCST8,TFV +ymmreg_mz,zmmreg_sae \350\351\352\370\1\x78\110 AVX512 + +[VCVTTPD2UQQ] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\370\1\x78\110 AVX512,TFV +xmmreg_mz,bmem64 \350\352\361\370\1\x78\110 AVX512,TFV +ymmreg_mz,ymmrm \350\352\361\364\370\1\x78\110 AVX512,TFV +ymmreg_mz,bmem64 \350\352\361\364\370\1\x78\110 AVX512,TFV +zmmreg_mz,mem512 \350\351\352\361\370\1\x78\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\370\1\x78\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\352\361\370\1\x78\110 AVX512 + +[VCVTTPS2QQ] +(Ch_All) +xmmreg_mz,xmmreg \350\361\370\1\x7A\110 AVX512 +xmmreg_mz,mem64 \350\361\370\1\x7A\110 AVX512,THV +xmmreg_mz,bmem32 \350\361\370\1\x7A\110 AVX512,BCST2,THV +ymmreg_mz,xmmrm \350\361\364\370\1\x7A\110 AVX512,THV +ymmreg_mz,bmem32 \350\361\364\370\1\x7A\110 AVX512,BCST4,THV +zmmreg_mz,mem256 \350\351\361\370\1\x7A\110 AVX512,THV +zmmreg_mz,bmem32 \350\351\361\370\1\x7A\110 AVX512,BCST8,THV +zmmreg_mz,ymmreg_sae \350\351\361\370\1\x7A\110 AVX512 + +[VCVTTPS2UDQ] +(Ch_All) +xmmreg_mz,xmmrm \350\370\1\x78\110 AVX512,TFV +xmmreg_mz,bmem32 \350\370\1\x78\110 AVX512,TFV +ymmreg_mz,ymmrm \350\364\370\1\x78\110 AVX512,TFV +ymmreg_mz,bmem32 \350\364\370\1\x78\110 AVX512,TFV +zmmreg_mz,mem512 \350\351\370\1\x78\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\370\1\x78\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\370\1\x78\110 AVX512 + +[VCVTTPS2UQQ] +(Ch_All) +xmmreg_mz,xmmreg \350\361\370\1\x78\110 AVX512 +xmmreg_mz,mem64 \350\361\370\1\x78\110 AVX512,THV +xmmreg_mz,bmem32 \350\361\370\1\x78\110 AVX512,BCST2,THV +ymmreg_mz,xmmrm \350\361\364\370\1\x78\110 AVX512,THV +ymmreg_mz,bmem32 \350\361\364\370\1\x78\110 AVX512,BCST4,THV +zmmreg_mz,mem256 \350\351\361\370\1\x78\110 AVX512,THV +zmmreg_mz,bmem32 \350\351\361\370\1\x78\110 AVX512,BCST8,THV +zmmreg_mz,ymmreg_sae \350\351\361\370\1\x78\110 AVX512 + +[VCVTTSD2USI] +(Ch_All) +reg32,mem64 \334\350\370\1\x78\110 AVX512,T1F64 +reg32,xmmreg_sae \334\350\370\1\x78\110 AVX512 +reg64,mem64 \334\350\352\370\1\x78\110 AVX512,T1F64 +reg64,xmmreg_sae \334\350\352\370\1\x78\110 AVX512 + +[VCVTTSS2USI] +(Ch_All) +reg32,mem32 \333\350\370\1\x78\110 AVX512,T1F32 +reg32,xmmreg_sae \333\350\370\1\x78\110 AVX512 +reg64,mem32 \333\350\352\370\1\x78\110 AVX512,T1F32 +reg64,xmmreg_sae \333\350\352\370\1\x78\110 AVX512 + +[VCVTUDQ2PD] +(Ch_All) +xmmreg_mz,xmmreg \333\350\370\1\x7A\110 AVX512 +xmmreg_mz,mem64 \333\350\370\1\x7A\110 AVX512,THV +xmmreg_mz,bmem32 \333\350\370\1\x7A\110 AVX512,BCST2,THV +ymmreg_mz,xmmrm \333\350\364\370\1\x7A\110 AVX512,THV +ymmreg_mz,bmem32 \333\350\364\370\1\x7A\110 AVX512,BCST4,THV +zmmreg_mz,mem256 \333\350\351\370\1\x7A\110 AVX512,THV +zmmreg_mz,bmem32 \333\350\351\370\1\x7A\110 AVX512,BCST8,THV +zmmreg_mz,ymmreg_er \333\350\351\370\1\x7A\110 AVX512 + +[VCVTUDQ2PS] +(Ch_All) +xmmreg_mz,xmmrm \334\350\370\1\x7A\110 AVX512,TFV +xmmreg_mz,bmem32 \334\350\370\1\x7A\110 AVX512,TFV +ymmreg_mz,ymmrm \334\350\364\370\1\x7A\110 AVX512,TFV +ymmreg_mz,bmem32 \334\350\364\370\1\x7A\110 AVX512,TFV +zmmreg_mz,mem512 \334\350\351\370\1\x7A\110 AVX512,TFV +zmmreg_mz,bmem32 \334\350\351\370\1\x7A\110 AVX512,TFV +zmmreg_mz,zmmreg_er \334\350\351\370\1\x7A\110 AVX512 + +[VCVTUQQ2PD] +(Ch_All) +xmmreg_mz,xmmrm \333\350\352\370\1\x7A\110 AVX512,TFV +xmmreg_mz,bmem64 \333\350\352\370\1\x7A\110 AVX512,TFV +ymmreg_mz,ymmrm \333\350\352\364\370\1\x7A\110 AVX512,TFV +ymmreg_mz,bmem64 \333\350\352\364\370\1\x7A\110 AVX512,TFV +zmmreg_mz,mem512 \333\350\351\352\370\1\x7A\110 AVX512,TFV +zmmreg_mz,bmem64 \333\350\351\352\370\1\x7A\110 AVX512,TFV +zmmreg_mz,zmmreg_er \333\350\351\352\370\1\x7A\110 AVX512 + +[VCVTUQQ2PS] +(Ch_All) +xmmreg_mz,mem128 \334\350\352\370\1\x7A\110 AVX512,TFV +xmmreg_mz,mem256 \334\350\352\364\370\1\x7A\110 AVX512,TFV +xmmreg_mz,xmmreg \334\350\352\370\1\x7A\110 AVX512 +xmmreg_mz,bmem64 \334\350\352\370\1\x7A\110 AVX512,BCST2,TFV +xmmreg_mz,bmem64 \334\350\352\364\370\1\x7A\110 AVX512,BCST4,TFV +xmmreg_mz,ymmreg \334\350\352\364\370\1\x7A\110 AVX512 +ymmreg_mz,mem512 \334\350\351\352\370\1\x7A\110 AVX512,TFV +ymmreg_mz,bmem64 \334\350\351\352\370\1\x7A\110 AVX512,BCST8,TFV +ymmreg_mz,zmmreg_er \334\350\351\352\370\1\x7A\110 AVX512 + +[VCVTUSI2SD] +(Ch_All) +xmmreg,xmmreg_er,rm64 \334\350\352\370\1\x7B\75\120 AVX512,T1S +xmmreg,xmmreg_er,rm32 \334\350\370\1\x7B\75\120 AVX512,T1S + +[VCVTUSI2SS] +(Ch_All) +xmmreg,xmmreg_er,rm64 \333\350\352\370\1\x7B\75\120 AVX512,T1S +xmmreg,xmmreg_er,rm32 \333\350\370\1\x7B\75\120 AVX512,T1S + +[VDBPSADBW] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm,imm8 \350\361\372\1\x42\75\120\27 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm,imm8 \350\361\364\372\1\x42\75\120\27 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\361\372\1\x42\75\120\27 AVX512,TFVM + +[VEXP2PD] +(Ch_All) +zmmreg_mz,mem512 \350\351\352\361\371\1\xC8\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\371\1\xC8\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\352\361\371\1\xC8\110 AVX512 + +[VEXP2PS] +(Ch_All) +zmmreg_mz,mem512 \350\351\361\371\1\xC8\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\361\371\1\xC8\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\361\371\1\xC8\110 AVX512 + +[VEXPANDPD] +(Ch_All) +xmmreg_mz,mem128 \350\352\361\371\1\x88\110 AVX512,T1S +xmmreg_mz,xmmreg \350\352\361\371\1\x88\110 AVX512 +ymmreg_mz,mem256 \350\352\361\364\371\1\x88\110 AVX512,T1S +ymmreg_mz,ymmreg \350\352\361\364\371\1\x88\110 AVX512 +zmmreg_mz,mem512 \350\351\352\361\371\1\x88\110 AVX512,T1S +zmmreg_mz,zmmreg \350\351\352\361\371\1\x88\110 AVX512 + +[VEXPANDPS] +(Ch_All) +xmmreg_mz,mem128 \350\361\371\1\x88\110 AVX512,T1S +xmmreg_mz,xmmreg \350\361\371\1\x88\110 AVX512 +ymmreg_mz,mem256 \350\361\364\371\1\x88\110 AVX512,T1S +ymmreg_mz,ymmreg \350\361\364\371\1\x88\110 AVX512 +zmmreg_mz,mem512 \350\351\361\371\1\x88\110 AVX512,T1S +zmmreg_mz,zmmreg \350\351\361\371\1\x88\110 AVX512 + +[VEXTRACTF32X4] +(Ch_All) +mem128_m,ymmreg,imm8 \350\361\364\372\1\x19\101\26 AVX512,T4 +mem128_m,zmmreg,imm8 \350\351\361\372\1\x19\101\26 AVX512,T4 +xmmreg_mz,ymmreg,imm8 \350\361\364\372\1\x19\101\26 AVX512 +xmmreg_mz,zmmreg,imm8 \350\351\361\372\1\x19\101\26 AVX512 + +[VEXTRACTF32X8] +(Ch_All) +mem256_m,zmmreg,imm8 \350\351\361\372\1\x1B\101\26 AVX512,T8 +ymmreg_mz,zmmreg,imm8 \350\351\361\372\1\x1B\101\26 AVX512 + +[VEXTRACTF64X2] +(Ch_All) +mem128_m,ymmreg,imm8 \350\352\361\364\372\1\x19\101\26 AVX512,T2 +mem128_m,zmmreg,imm8 \350\351\352\361\372\1\x19\101\26 AVX512,T2 +xmmreg_mz,ymmreg,imm8 \350\352\361\364\372\1\x19\101\26 AVX512 +xmmreg_mz,zmmreg,imm8 \350\351\352\361\372\1\x19\101\26 AVX512 + +[VEXTRACTF64X4] +(Ch_All) +mem256_m,zmmreg,imm8 \350\351\352\361\372\1\x1B\101\26 AVX512,T4 +ymmreg_mz,zmmreg,imm8 \350\351\352\361\372\1\x1B\101\26 AVX512 + +[VEXTRACTI32X4] +(Ch_All) +mem128_m,ymmreg,imm8 \350\361\364\372\1\x39\101\26 AVX512,T4 +mem128_m,zmmreg,imm8 \350\351\361\372\1\x39\101\26 AVX512,T4 +xmmreg_mz,ymmreg,imm8 \350\361\364\372\1\x39\101\26 AVX512 +xmmreg_mz,zmmreg,imm8 \350\351\361\372\1\x39\101\26 AVX512 + +[VEXTRACTI32X8] +(Ch_All) +mem256_m,zmmreg,imm8 \350\351\361\372\1\x3B\101\26 AVX512,T8 +ymmreg_mz,zmmreg,imm8 \350\351\361\372\1\x3B\101\26 AVX512 + +[VEXTRACTI64X2] +(Ch_All) +mem128_m,ymmreg,imm8 \350\352\361\364\372\1\x39\101\26 AVX512,T2 +mem128_m,zmmreg,imm8 \350\351\352\361\372\1\x39\101\26 AVX512,T2 +xmmreg_mz,ymmreg,imm8 \350\352\361\364\372\1\x39\101\26 AVX512 +xmmreg_mz,zmmreg,imm8 \350\351\352\361\372\1\x39\101\26 AVX512 + +[VEXTRACTI64X4] +(Ch_All) +mem256_m,zmmreg,imm8 \350\351\352\361\372\1\x3B\101\26 AVX512,T4 +ymmreg_mz,zmmreg,imm8 \350\351\352\361\372\1\x3B\101\26 AVX512 + +[VFIXUPIMMPD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm,imm8 \350\352\361\372\1\x54\75\120\27 AVX512,TFV +xmmreg_mz,xmmreg,bmem64,imm8 \350\352\361\372\1\x54\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm,imm8 \350\352\361\364\372\1\x54\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem64,imm8 \350\352\361\364\372\1\x54\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,mem512,imm8 \350\351\352\361\372\1\x54\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem64,imm8 \350\351\352\361\372\1\x54\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_sae,imm8 \350\351\352\361\372\1\x54\75\120\27 AVX512 + +[VFIXUPIMMPS] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm,imm8 \350\361\372\1\x54\75\120\27 AVX512,TFV +xmmreg_mz,xmmreg,bmem32,imm8 \350\361\372\1\x54\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm,imm8 \350\361\364\372\1\x54\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem32,imm8 \350\361\364\372\1\x54\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,mem512,imm8 \350\351\361\372\1\x54\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem32,imm8 \350\351\361\372\1\x54\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_sae,imm8 \350\351\361\372\1\x54\75\120\27 AVX512 + +[VFIXUPIMMSD] +(Ch_All) +xmmreg_mz,xmmreg,mem64,imm8 \350\352\361\372\1\x55\75\120\27 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\352\361\372\1\x55\75\120\27 AVX512 + +[VFIXUPIMMSS] +(Ch_All) +xmmreg_mz,xmmreg,mem32,imm8 \350\361\372\1\x55\75\120\27 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\361\372\1\x55\75\120\27 AVX512 + + +[VFPCLASSPD] +(Ch_All) +kreg_m,xmmrm,imm8 \350\352\361\372\1\x66\110\26 AVX512,TFV +kreg_m,bmem64,imm8 \350\352\361\372\1\x66\110\26 AVX512,BCST2,TFV +kreg_m,ymmrm,imm8 \350\352\361\364\372\1\x66\110\26 AVX512,TFV +kreg_m,bmem64,imm8 \350\352\361\364\372\1\x66\110\26 AVX512,BCST4,TFV +kreg_m,zmmrm,imm8 \350\351\352\361\372\1\x66\110\26 AVX512,TFV +kreg_m,bmem64,imm8 \350\351\352\361\372\1\x66\110\26 AVX512,BCST8,TFV + +[VFPCLASSPS] +(Ch_All) +kreg_m,xmmrm,imm8 \350\361\372\1\x66\110\26 AVX512,TFV +kreg_m,bmem32,imm8 \350\361\372\1\x66\110\26 AVX512,BCST4,TFV +kreg_m,ymmrm,imm8 \350\361\364\372\1\x66\110\26 AVX512,TFV +kreg_m,bmem32,imm8 \350\361\364\372\1\x66\110\26 AVX512,BCST8,TFV +kreg_m,zmmrm,imm8 \350\351\361\372\1\x66\110\26 AVX512,TFV +kreg_m,bmem32,imm8 \350\351\361\372\1\x66\110\26 AVX512,BCST16,TFV + +[VFPCLASSSD] +(Ch_All) +kreg_m,xmmreg,imm8 \350\352\361\372\1\x67\110\26 AVX512 +kreg_m,mem64,imm8 \350\352\361\372\1\x67\110\26 AVX512,T1S + +[VFPCLASSSS] +(Ch_All) +kreg_m,xmmreg,imm8 \350\361\372\1\x67\110\26 AVX512 +kreg_m,mem32,imm8 \350\361\372\1\x67\110\26 AVX512,T1S + + +[VGETEXPPD] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\371\1\x42\110 AVX512,TFV +xmmreg_mz,bmem64 \350\352\361\371\1\x42\110 AVX512,TFV +ymmreg_mz,ymmrm \350\352\361\364\371\1\x42\110 AVX512,TFV +ymmreg_mz,bmem64 \350\352\361\364\371\1\x42\110 AVX512,TFV +zmmreg_mz,mem512 \350\351\352\361\371\1\x42\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\371\1\x42\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\352\361\371\1\x42\110 AVX512 + +[VGETEXPPS] +(Ch_All) +xmmreg_mz,xmmrm \350\361\371\1\x42\110 AVX512,TFV +xmmreg_mz,bmem32 \350\361\371\1\x42\110 AVX512,TFV +ymmreg_mz,ymmrm \350\361\364\371\1\x42\110 AVX512,TFV +ymmreg_mz,bmem32 \350\361\364\371\1\x42\110 AVX512,TFV +zmmreg_mz,mem512 \350\351\361\371\1\x42\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\361\371\1\x42\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\361\371\1\x42\110 AVX512 + +[VGETEXPSD] +(Ch_All) +xmmreg_mz,xmmreg,mem64 \350\352\361\371\1\x43\75\120 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae \350\352\361\371\1\x43\75\120 AVX512 + +[VGETEXPSS] +(Ch_All) +xmmreg_mz,xmmreg,mem32 \350\361\371\1\x43\75\120 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae \350\361\371\1\x43\75\120 AVX512 + +[VGETMANTPD] +(Ch_All) +xmmreg_mz,xmmrm,imm8 \350\352\361\372\1\x26\110\26 AVX512,TFV +xmmreg_mz,bmem64,imm8 \350\352\361\372\1\x26\110\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\352\361\364\372\1\x26\110\26 AVX512,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\372\1\x26\110\26 AVX512,TFV +zmmreg_mz,mem512,imm8 \350\351\352\361\372\1\x26\110\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\372\1\x26\110\26 AVX512,TFV +zmmreg_mz,zmmreg_sae,imm8 \350\351\352\361\372\1\x26\110\26 AVX512 + +[VGETMANTPS] +(Ch_All) +xmmreg_mz,xmmrm,imm8 \350\361\372\1\x26\110\26 AVX512,TFV +xmmreg_mz,bmem32,imm8 \350\361\372\1\x26\110\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\361\364\372\1\x26\110\26 AVX512,TFV +ymmreg_mz,bmem32,imm8 \350\361\364\372\1\x26\110\26 AVX512,TFV +zmmreg_mz,mem512,imm8 \350\351\361\372\1\x26\110\26 AVX512,TFV +zmmreg_mz,bmem32,imm8 \350\351\361\372\1\x26\110\26 AVX512,TFV +zmmreg_mz,zmmreg_sae,imm8 \350\351\361\372\1\x26\110\26 AVX512 + +[VGETMANTSD] +(Ch_All) +xmmreg_mz,xmmreg,mem64,imm8 \350\352\361\372\1\x27\75\120\27 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\352\361\372\1\x27\75\120\27 AVX512 + +[VGETMANTSS] +(Ch_All) +xmmreg_mz,xmmreg,mem32,imm8 \350\361\372\1\x27\75\120\27 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\361\372\1\x27\75\120\27 AVX512 + +[VINSERTF32X4] +(Ch_All) +ymmreg_mz,ymmreg,xmmrm,imm8 \350\361\364\372\1\x18\75\120\27 AVX512,T4 +zmmreg_mz,zmmreg,xmmrm,imm8 \350\351\361\372\1\x18\75\120\27 AVX512,T4 + +[VINSERTF32X8] +(Ch_All) +zmmreg_mz,zmmreg,ymmrm,imm8 \350\351\361\372\1\x1A\75\120\27 AVX512,T8 + +[VINSERTF64X2] +(Ch_All) +ymmreg_mz,ymmreg,xmmrm,imm8 \350\352\361\364\372\1\x18\75\120\27 AVX512,T2 +zmmreg_mz,zmmreg,xmmrm,imm8 \350\351\352\361\372\1\x18\75\120\27 AVX512,T2 + +[VINSERTF64X4] +(Ch_All) +zmmreg_mz,zmmreg,ymmrm,imm8 \350\351\352\361\372\1\x1A\75\120\27 AVX512,T4 + +[VINSERTI32X4] +(Ch_All) +ymmreg_mz,ymmreg,xmmrm,imm8 \350\361\364\372\1\x38\75\120\27 AVX512,T4 +zmmreg_mz,zmmreg,xmmrm,imm8 \350\351\361\372\1\x38\75\120\27 AVX512,T4 + +[VINSERTI32X8] +(Ch_All) +zmmreg_mz,zmmreg,ymmrm,imm8 \350\351\361\372\1\x3A\75\120\27 AVX512,T8 + +[VINSERTI64X2] +(Ch_All) +ymmreg_mz,ymmreg,xmmrm,imm8 \350\352\361\364\372\1\x38\75\120\27 AVX512,T2 +zmmreg_mz,zmmreg,xmmrm,imm8 \350\351\352\361\372\1\x38\75\120\27 AVX512,T2 + +[VINSERTI64X4] +(Ch_All) +zmmreg_mz,zmmreg,ymmrm,imm8 \350\351\352\361\372\1\x3A\75\120\27 AVX512,T4 + +[VMOVDQA32] +(Ch_All) +xmmreg_mz,xmmrm \350\361\370\1\x6F\110 AVX512,TFVM +xmmrm_mz,xmmreg \350\361\370\1\x7F\101 AVX512,TFVM +ymmreg_mz,ymmrm \350\361\364\370\1\x6F\110 AVX512,TFVM +ymmrm_mz,ymmreg \350\361\364\370\1\x7F\101 AVX512,TFVM +zmmreg_mz,zmmrm \350\351\361\370\1\x6F\110 AVX512,TFVM +zmmrm_mz,zmmreg \350\351\361\370\1\x7F\101 AVX512,TFVM + +[VMOVDQA64] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\370\1\x6F\110 AVX512,TFVM +xmmrm_mz,xmmreg \350\352\361\370\1\x7F\101 AVX512,TFVM +ymmreg_mz,ymmrm \350\352\361\364\370\1\x6F\110 AVX512,TFVM +ymmrm_mz,ymmreg \350\352\361\364\370\1\x7F\101 AVX512,TFVM +zmmreg_mz,zmmrm \350\351\352\361\370\1\x6F\110 AVX512,TFVM +zmmrm_mz,zmmreg \350\351\352\361\370\1\x7F\101 AVX512,TFVM + +[VMOVDQU16] +(Ch_All) +xmmreg_mz,xmmrm \334\350\352\370\1\x6F\110 AVX512,TFVM +xmmrm_mz,xmmreg \334\350\352\370\1\x7F\101 AVX512,TFVM +ymmreg_mz,ymmrm \334\350\352\364\370\1\x6F\110 AVX512,TFVM +ymmrm_mz,ymmreg \334\350\352\364\370\1\x7F\101 AVX512,TFVM +zmmreg_mz,zmmrm \334\350\351\352\370\1\x6F\110 AVX512,TFVM +zmmrm_mz,zmmreg \334\350\351\352\370\1\x7F\101 AVX512,TFVM + +[VMOVDQU32] +(Ch_All) +xmmreg_mz,xmmrm \333\350\370\1\x6F\110 AVX512,TFVM +xmmrm_mz,xmmreg \333\350\370\1\x7F\101 AVX512,TFVM +ymmreg_mz,ymmrm \333\350\364\370\1\x6F\110 AVX512,TFVM +ymmrm_mz,ymmreg \333\350\364\370\1\x7F\101 AVX512,TFVM +zmmreg_mz,zmmrm \333\350\351\370\1\x6F\110 AVX512,TFVM +zmmrm_mz,zmmreg \333\350\351\370\1\x7F\101 AVX512,TFVM + +[VMOVDQU64] +(Ch_All) +xmmreg_mz,xmmrm \333\350\352\370\1\x6F\110 AVX512,TFVM +xmmrm_mz,xmmreg \333\350\352\370\1\x7F\101 AVX512,TFVM +ymmreg_mz,ymmrm \333\350\352\364\370\1\x6F\110 AVX512,TFVM +ymmrm_mz,ymmreg \333\350\352\364\370\1\x7F\101 AVX512,TFVM +zmmreg_mz,zmmrm \333\350\351\352\370\1\x6F\110 AVX512,TFVM +zmmrm_mz,zmmreg \333\350\351\352\370\1\x7F\101 AVX512,TFVM + +[VMOVDQU8] +(Ch_All) +xmmreg_mz,xmmrm \334\350\370\1\x6F\110 AVX512,TFVM +xmmrm_mz,xmmreg \334\350\370\1\x7F\101 AVX512,TFVM +ymmreg_mz,ymmrm \334\350\364\370\1\x6F\110 AVX512,TFVM +ymmrm_mz,ymmreg \334\350\364\370\1\x7F\101 AVX512,TFVM +zmmreg_mz,zmmrm \334\350\351\370\1\x6F\110 AVX512,TFVM +zmmrm_mz,zmmreg \334\350\351\370\1\x7F\101 AVX512,TFVM + +[VPABSQ] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\371\1\x1F\110 AVX512,TFV +xmmreg_mz,bmem64 \350\352\361\371\1\x1F\110 AVX512,TFV +ymmreg_mz,ymmrm \350\352\361\364\371\1\x1F\110 AVX512,TFV +ymmreg_mz,bmem64 \350\352\361\364\371\1\x1F\110 AVX512,TFV +zmmreg_mz,zmmrm \350\351\352\361\371\1\x1F\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\371\1\x1F\110 AVX512,TFV + +[VPANDD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\370\1\xDB\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\370\1\xDB\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\370\1\xDB\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\370\1\xDB\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xDB\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\370\1\xDB\75\120 AVX512,TFV + +[VPANDND] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\370\1\xDF\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\370\1\xDF\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\370\1\xDF\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\370\1\xDF\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xDF\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\370\1\xDF\75\120 AVX512,TFV + +[VPANDNQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\370\1\xDF\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\xDF\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\370\1\xDF\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\xDF\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\xDF\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\xDF\75\120 AVX512,TFV + +[VPANDQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\370\1\xDB\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\xDB\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\370\1\xDB\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\xDB\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\xDB\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\xDB\75\120 AVX512,TFV + +[VPBLENDMB] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x66\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x66\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x66\75\120 AVX512,TFVM + +[VPBLENDMD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x64\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x64\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x64\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x64\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x64\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x64\75\120 AVX512,TFV + +[VPBLENDMQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x64\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x64\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x64\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x64\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x64\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x64\75\120 AVX512,TFV + +[VPBLENDMW] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x66\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x66\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x66\75\120 AVX512,TFVM + + +[VPCMPB] +(Ch_All) +kreg_m,xmmreg,xmmrm,imm8 \350\361\372\1\x3F\75\120\27 AVX512,TFVM +kreg_m,ymmreg,ymmrm,imm8 \350\361\364\372\1\x3F\75\120\27 AVX512,TFVM +kreg_m,zmmreg,zmmrm,imm8 \350\351\361\372\1\x3F\75\120\27 AVX512,TFVM + +[VPCMPD] +(Ch_All) +kreg_m,xmmreg,xmmrm,imm8 \350\361\372\1\x1F\75\120\27 AVX512,TFV +kreg_m,xmmreg,bmem32,imm8 \350\361\372\1\x1F\75\120\27 AVX512,TFV +kreg_m,ymmreg,ymmrm,imm8 \350\361\364\372\1\x1F\75\120\27 AVX512,TFV +kreg_m,ymmreg,bmem32,imm8 \350\361\364\372\1\x1F\75\120\27 AVX512,TFV +kreg_m,zmmreg,zmmrm,imm8 \350\351\361\372\1\x1F\75\120\27 AVX512,TFV +kreg_m,zmmreg,bmem32,imm8 \350\351\361\372\1\x1F\75\120\27 AVX512,TFV + +[VPCMPQ] +(Ch_All) +kreg_m,xmmreg,xmmrm,imm8 \350\352\361\372\1\x1F\75\120\27 AVX512,TFV +kreg_m,xmmreg,bmem64,imm8 \350\352\361\372\1\x1F\75\120\27 AVX512,TFV +kreg_m,ymmreg,ymmrm,imm8 \350\352\361\364\372\1\x1F\75\120\27 AVX512,TFV +kreg_m,ymmreg,bmem64,imm8 \350\352\361\364\372\1\x1F\75\120\27 AVX512,TFV +kreg_m,zmmreg,zmmrm,imm8 \350\351\352\361\372\1\x1F\75\120\27 AVX512,TFV +kreg_m,zmmreg,bmem64,imm8 \350\351\352\361\372\1\x1F\75\120\27 AVX512,TFV + +[VPCMPUB] +(Ch_All) +kreg_m,xmmreg,xmmrm,imm8 \350\361\372\1\x3E\75\120\27 AVX512,TFVM +kreg_m,ymmreg,ymmrm,imm8 \350\361\364\372\1\x3E\75\120\27 AVX512,TFVM +kreg_m,zmmreg,zmmrm,imm8 \350\351\361\372\1\x3E\75\120\27 AVX512,TFVM + +[VPCMPUD] +(Ch_All) +kreg_m,xmmreg,xmmrm,imm8 \350\361\372\1\x1E\75\120\27 AVX512,TFV +kreg_m,xmmreg,bmem32,imm8 \350\361\372\1\x1E\75\120\27 AVX512,TFV +kreg_m,ymmreg,ymmrm,imm8 \350\361\364\372\1\x1E\75\120\27 AVX512,TFV +kreg_m,ymmreg,bmem32,imm8 \350\361\364\372\1\x1E\75\120\27 AVX512,TFV +kreg_m,zmmreg,zmmrm,imm8 \350\351\361\372\1\x1E\75\120\27 AVX512,TFV +kreg_m,zmmreg,bmem32,imm8 \350\351\361\372\1\x1E\75\120\27 AVX512,TFV + +[VPCMPUQ] +(Ch_All) +kreg_m,xmmreg,xmmrm,imm8 \350\352\361\372\1\x1E\75\120\27 AVX512,TFV +kreg_m,xmmreg,bmem64,imm8 \350\352\361\372\1\x1E\75\120\27 AVX512,TFV +kreg_m,ymmreg,ymmrm,imm8 \350\352\361\364\372\1\x1E\75\120\27 AVX512,TFV +kreg_m,ymmreg,bmem64,imm8 \350\352\361\364\372\1\x1E\75\120\27 AVX512,TFV +kreg_m,zmmreg,zmmrm,imm8 \350\351\352\361\372\1\x1E\75\120\27 AVX512,TFV +kreg_m,zmmreg,bmem64,imm8 \350\351\352\361\372\1\x1E\75\120\27 AVX512,TFV + +[VPCMPUW] +(Ch_All) +kreg_m,xmmreg,xmmrm,imm8 \350\352\361\372\1\x3E\75\120\27 AVX512,TFVM +kreg_m,ymmreg,ymmrm,imm8 \350\352\361\364\372\1\x3E\75\120\27 AVX512,TFVM +kreg_m,zmmreg,zmmrm,imm8 \350\351\352\361\372\1\x3E\75\120\27 AVX512,TFVM + +[VPCMPW] +(Ch_All) +kreg_m,xmmreg,xmmrm,imm8 \350\352\361\372\1\x3F\75\120\27 AVX512,TFVM +kreg_m,ymmreg,ymmrm,imm8 \350\352\361\364\372\1\x3F\75\120\27 AVX512,TFVM +kreg_m,zmmreg,zmmrm,imm8 \350\351\352\361\372\1\x3F\75\120\27 AVX512,TFVM + +[VPCOMPRESSD] +(Ch_All) +mem128_m,xmmreg \350\361\371\1\x8B\101 AVX512,T1S +mem256_m,ymmreg \350\361\364\371\1\x8B\101 AVX512,T1S +mem512_m,zmmreg \350\351\361\371\1\x8B\101 AVX512,T1S +xmmreg_mz,xmmreg \350\361\371\1\x8B\101 AVX512 +ymmreg_mz,ymmreg \350\361\364\371\1\x8B\101 AVX512 +zmmreg_mz,zmmreg \350\351\361\371\1\x8B\101 AVX512 + +[VPCOMPRESSQ] +(Ch_All) +mem128_m,xmmreg \350\352\361\371\1\x8B\101 AVX512,T1S +mem256_m,ymmreg \350\352\361\364\371\1\x8B\101 AVX512,T1S +mem512_m,zmmreg \350\351\352\361\371\1\x8B\101 AVX512,T1S +xmmreg_mz,xmmreg \350\352\361\371\1\x8B\101 AVX512 +ymmreg_mz,ymmreg \350\352\361\364\371\1\x8B\101 AVX512 +zmmreg_mz,zmmreg \350\351\352\361\371\1\x8B\101 AVX512 + +[VPCONFLICTD] +(Ch_All) +xmmreg_mz,xmmrm \350\361\371\1\xC4\110 AVX512,TFV +xmmreg_mz,bmem32 \350\361\371\1\xC4\110 AVX512,TFV +ymmreg_mz,ymmrm \350\361\364\371\1\xC4\110 AVX512,TFV +ymmreg_mz,bmem32 \350\361\364\371\1\xC4\110 AVX512,TFV +zmmreg_mz,zmmrm \350\351\361\371\1\xC4\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\361\371\1\xC4\110 AVX512,TFV + +[VPCONFLICTQ] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\371\1\xC4\110 AVX512,TFV +xmmreg_mz,bmem64 \350\352\361\371\1\xC4\110 AVX512,TFV +ymmreg_mz,ymmrm \350\352\361\364\371\1\xC4\110 AVX512,TFV +ymmreg_mz,bmem64 \350\352\361\364\371\1\xC4\110 AVX512,TFV +zmmreg_mz,zmmrm \350\351\352\361\371\1\xC4\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\371\1\xC4\110 AVX512,TFV + +[VPERMB] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x8D\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x8D\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x8D\75\120 AVX512,TFVM + +[VPERMI2B] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x75\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x75\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x75\75\120 AVX512,TFVM + +[VPERMI2D] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x76\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x76\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x76\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x76\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x76\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x76\75\120 AVX512,TFV + +[VPERMI2PD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x77\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x77\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x77\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x77\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x77\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x77\75\120 AVX512,TFV + +[VPERMI2PS] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x77\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x77\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x77\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x77\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x77\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x77\75\120 AVX512,TFV + +[VPERMI2Q] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x76\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x76\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x76\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x76\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x76\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x76\75\120 AVX512,TFV + +[VPERMI2W] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x75\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x75\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x75\75\120 AVX512,TFVM + +[VPERMT2B] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x7D\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x7D\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x7D\75\120 AVX512,TFVM + +[VPERMT2D] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x7E\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x7E\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x7E\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x7E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x7E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x7E\75\120 AVX512,TFV + +[VPERMT2PD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x7F\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x7F\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x7F\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x7F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x7F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x7F\75\120 AVX512,TFV + +[VPERMT2PS] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x7F\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x7F\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x7F\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x7F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x7F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x7F\75\120 AVX512,TFV + +[VPERMT2Q] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x7E\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x7E\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x7E\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x7E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x7E\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x7E\75\120 AVX512,TFV + +[VPERMT2W] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x7D\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x7D\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x7D\75\120 AVX512,TFVM + +[VPERMW] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x8D\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x8D\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x8D\75\120 AVX512,TFVM + +[VPEXPANDD] +(Ch_All) +xmmreg_mz,mem128 \350\361\371\1\x89\110 AVX512,T1S +xmmreg_mz,xmmreg \350\361\371\1\x89\110 AVX512 +ymmreg_mz,mem256 \350\361\364\371\1\x89\110 AVX512,T1S +ymmreg_mz,ymmreg \350\361\364\371\1\x89\110 AVX512 +zmmreg_mz,mem512 \350\351\361\371\1\x89\110 AVX512,T1S +zmmreg_mz,zmmreg \350\351\361\371\1\x89\110 AVX512 + +[VPEXPANDQ] +(Ch_All) +xmmreg_mz,mem128 \350\352\361\371\1\x89\110 AVX512,T1S +xmmreg_mz,xmmreg \350\352\361\371\1\x89\110 AVX512 +ymmreg_mz,mem256 \350\352\361\364\371\1\x89\110 AVX512,T1S +ymmreg_mz,ymmreg \350\352\361\364\371\1\x89\110 AVX512 +zmmreg_mz,mem512 \350\351\352\361\371\1\x89\110 AVX512,T1S +zmmreg_mz,zmmreg \350\351\352\361\371\1\x89\110 AVX512 + +[VPLZCNTD] +(Ch_All) +xmmreg_mz,xmmrm \350\361\371\1\x44\110 AVX512,TFV +xmmreg_mz,bmem32 \350\361\371\1\x44\110 AVX512,TFV +ymmreg_mz,ymmrm \350\361\364\371\1\x44\110 AVX512,TFV +ymmreg_mz,bmem32 \350\361\364\371\1\x44\110 AVX512,TFV +zmmreg_mz,zmmrm \350\351\361\371\1\x44\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\361\371\1\x44\110 AVX512,TFV + +[VPLZCNTQ] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\371\1\x44\110 AVX512,TFV +xmmreg_mz,bmem64 \350\352\361\371\1\x44\110 AVX512,TFV +ymmreg_mz,ymmrm \350\352\361\364\371\1\x44\110 AVX512,TFV +ymmreg_mz,bmem64 \350\352\361\364\371\1\x44\110 AVX512,TFV +zmmreg_mz,zmmrm \350\351\352\361\371\1\x44\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\371\1\x44\110 AVX512,TFV + +[VPMADD52HUQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\xB5\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xB5\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\xB5\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xB5\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\xB5\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xB5\75\120 AVX512,TFV + +[VPMADD52LUQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\xB4\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\xB4\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\xB4\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\xB4\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\xB4\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\xB4\75\120 AVX512,TFV + +[VPMAXSQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x3D\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x3D\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x3D\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x3D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x3D\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x3D\75\120 AVX512,TFV + +[VPMAXUQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x3F\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x3F\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x3F\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x3F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x3F\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x3F\75\120 AVX512,TFV + +[VPMINSQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x39\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x39\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x39\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x39\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x39\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x39\75\120 AVX512,TFV + +[VPMINUQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x3B\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x3B\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x3B\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x3B\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x3B\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x3B\75\120 AVX512,TFV + +[VPMOVB2M] +(Ch_All) +kreg,xmmreg \333\350\371\1\x29\110 AVX512 +kreg,ymmreg \333\350\364\371\1\x29\110 AVX512 +kreg,zmmreg \333\350\351\371\1\x29\110 AVX512 + +[VPMOVD2M] +(Ch_All) +kreg,xmmreg \333\350\371\1\x39\110 AVX512 +kreg,ymmreg \333\350\364\371\1\x39\110 AVX512 +kreg,zmmreg \333\350\351\371\1\x39\110 AVX512 + +[VPMOVDB] +(Ch_All) +mem128_m,zmmreg \333\350\351\371\1\x31\101 AVX512,TQVM +mem32_m,xmmreg \333\350\371\1\x31\101 AVX512,TQVM +mem64_m,ymmreg \333\350\364\371\1\x31\101 AVX512,TQVM +xmmreg_mz,xmmreg \333\350\371\1\x31\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x31\101 AVX512 +xmmreg_mz,zmmreg \333\350\351\371\1\x31\101 AVX512 + +[VPMOVDW] +(Ch_All) +mem128_m,ymmreg \333\350\364\371\1\x33\101 AVX512,THVM +mem256_m,zmmreg \333\350\351\371\1\x33\101 AVX512,THVM +mem64_m,xmmreg \333\350\371\1\x33\101 AVX512,THVM +xmmreg_mz,xmmreg \333\350\371\1\x33\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x33\101 AVX512 +ymmreg_mz,zmmreg \333\350\351\371\1\x33\101 AVX512 + +[VPMOVM2B] +(Ch_All) +xmmreg,kreg \333\350\371\1\x28\110 AVX512 +ymmreg,kreg \333\350\364\371\1\x28\110 AVX512 +zmmreg,kreg \333\350\351\371\1\x28\110 AVX512 + +[VPMOVM2D] +(Ch_All) +xmmreg,kreg \333\350\371\1\x38\110 AVX512 +ymmreg,kreg \333\350\364\371\1\x38\110 AVX512 +zmmreg,kreg \333\350\351\371\1\x38\110 AVX512 + +[VPMOVM2Q] +(Ch_All) +xmmreg,kreg \333\350\352\371\1\x38\110 AVX512 +ymmreg,kreg \333\350\352\364\371\1\x38\110 AVX512 +zmmreg,kreg \333\350\351\352\371\1\x38\110 AVX512 + +[VPMOVM2W] +(Ch_All) +xmmreg,kreg \333\350\352\371\1\x28\110 AVX512 +ymmreg,kreg \333\350\352\364\371\1\x28\110 AVX512 +zmmreg,kreg \333\350\351\352\371\1\x28\110 AVX512 + +[VPMOVQ2M] +(Ch_All) +kreg,xmmreg \333\350\352\371\1\x39\110 AVX512 +kreg,ymmreg \333\350\352\364\371\1\x39\110 AVX512 +kreg,zmmreg \333\350\351\352\371\1\x39\110 AVX512 + +[VPMOVQB] +(Ch_All) +mem16_m,xmmreg \333\350\371\1\x32\101 AVX512,TOVM +mem32_m,ymmreg \333\350\364\371\1\x32\101 AVX512,TOVM +mem64_m,zmmreg \333\350\351\371\1\x32\101 AVX512,TOVM +xmmreg_mz,xmmreg \333\350\371\1\x32\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x32\101 AVX512 +xmmreg_mz,zmmreg \333\350\351\371\1\x32\101 AVX512 + +[VPMOVQD] +(Ch_All) +mem128_m,ymmreg \333\350\364\371\1\x35\101 AVX512,THVM +mem256_m,zmmreg \333\350\351\371\1\x35\101 AVX512,THVM +mem64_m,xmmreg \333\350\371\1\x35\101 AVX512,THVM +xmmreg_mz,xmmreg \333\350\371\1\x35\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x35\101 AVX512 +ymmreg_mz,zmmreg \333\350\351\371\1\x35\101 AVX512 + +[VPMOVQW] +(Ch_All) +mem128_m,zmmreg \333\350\351\371\1\x34\101 AVX512,TQVM +mem32_m,xmmreg \333\350\371\1\x34\101 AVX512,TQVM +mem64_m,ymmreg \333\350\364\371\1\x34\101 AVX512,TQVM +xmmreg_mz,xmmreg \333\350\371\1\x34\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x34\101 AVX512 +xmmreg_mz,zmmreg \333\350\351\371\1\x34\101 AVX512 + +[VPMOVSDB] +(Ch_All) +mem128_m,zmmreg \333\350\351\371\1\x21\101 AVX512,TQVM +mem32_m,xmmreg \333\350\371\1\x21\101 AVX512,TQVM +mem64_m,ymmreg \333\350\364\371\1\x21\101 AVX512,TQVM +xmmreg_mz,xmmreg \333\350\371\1\x21\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x21\101 AVX512 +xmmreg_mz,zmmreg \333\350\351\371\1\x21\101 AVX512 + +[VPMOVSDW] +(Ch_All) +mem128_m,ymmreg \333\350\364\371\1\x23\101 AVX512,THVM +mem256_m,zmmreg \333\350\351\371\1\x23\101 AVX512,THVM +mem64_m,xmmreg \333\350\371\1\x23\101 AVX512,THVM +xmmreg_mz,xmmreg \333\350\371\1\x23\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x23\101 AVX512 +ymmreg_mz,zmmreg \333\350\351\371\1\x23\101 AVX512 + +[VPMOVSQB] +(Ch_All) +mem16_m,xmmreg \333\350\371\1\x22\101 AVX512,TOVM +mem32_m,ymmreg \333\350\364\371\1\x22\101 AVX512,TOVM +mem64_m,zmmreg \333\350\351\371\1\x22\101 AVX512,TOVM +xmmreg_mz,xmmreg \333\350\371\1\x22\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x22\101 AVX512 +xmmreg_mz,zmmreg \333\350\351\371\1\x22\101 AVX512 + +[VPMOVSQD] +(Ch_All) +mem128_m,ymmreg \333\350\364\371\1\x25\101 AVX512,THVM +mem256_m,zmmreg \333\350\351\371\1\x25\101 AVX512,THVM +mem64_m,xmmreg \333\350\371\1\x25\101 AVX512,THVM +xmmreg_mz,xmmreg \333\350\371\1\x25\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x25\101 AVX512 +ymmreg_mz,zmmreg \333\350\351\371\1\x25\101 AVX512 + +[VPMOVSQW] +(Ch_All) +mem128_m,zmmreg \333\350\351\371\1\x24\101 AVX512,TQVM +mem32_m,xmmreg \333\350\371\1\x24\101 AVX512,TQVM +mem64_m,ymmreg \333\350\364\371\1\x24\101 AVX512,TQVM +xmmreg_mz,xmmreg \333\350\371\1\x24\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x24\101 AVX512 +xmmreg_mz,zmmreg \333\350\351\371\1\x24\101 AVX512 + +[VPMOVSWB] +(Ch_All) +mem128_m,ymmreg \333\350\364\371\1\x20\101 AVX512,THVM +mem256_m,zmmreg \333\350\351\371\1\x20\101 AVX512,THVM +mem64_m,xmmreg \333\350\371\1\x20\101 AVX512,THVM +xmmreg_mz,xmmreg \333\350\371\1\x20\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x20\101 AVX512 +ymmreg_mz,zmmreg \333\350\351\371\1\x20\101 AVX512 + +[VPMOVUSDB] +(Ch_All) +mem128_m,zmmreg \333\350\351\371\1\x11\101 AVX512,TQVM +mem32_m,xmmreg \333\350\371\1\x11\101 AVX512,TQVM +mem64_m,ymmreg \333\350\364\371\1\x11\101 AVX512,TQVM +xmmreg_mz,xmmreg \333\350\371\1\x11\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x11\101 AVX512 +xmmreg_mz,zmmreg \333\350\351\371\1\x11\101 AVX512 + +[VPMOVUSDW] +(Ch_All) +mem128_m,ymmreg \333\350\364\371\1\x13\101 AVX512,THVM +mem256_m,zmmreg \333\350\351\371\1\x13\101 AVX512,THVM +mem64_m,xmmreg \333\350\371\1\x13\101 AVX512,THVM +xmmreg_mz,xmmreg \333\350\371\1\x13\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x13\101 AVX512 +ymmreg_mz,zmmreg \333\350\351\371\1\x13\101 AVX512 + +[VPMOVUSQB] +(Ch_All) +mem16_m,xmmreg \333\350\371\1\x12\101 AVX512,TOVM +mem32_m,ymmreg \333\350\364\371\1\x12\101 AVX512,TOVM +mem64_m,zmmreg \333\350\351\371\1\x12\101 AVX512,TOVM +xmmreg_mz,xmmreg \333\350\371\1\x12\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x12\101 AVX512 +xmmreg_mz,zmmreg \333\350\351\371\1\x12\101 AVX512 + +[VPMOVUSQD] +(Ch_All) +mem128_m,ymmreg \333\350\364\371\1\x15\101 AVX512,THVM +mem256_m,zmmreg \333\350\351\371\1\x15\101 AVX512,THVM +mem64_m,xmmreg \333\350\371\1\x15\101 AVX512,THVM +xmmreg_mz,xmmreg \333\350\371\1\x15\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x15\101 AVX512 +ymmreg_mz,zmmreg \333\350\351\371\1\x15\101 AVX512 + +[VPMOVUSQW] +(Ch_All) +mem128_m,zmmreg \333\350\351\371\1\x14\101 AVX512,TQVM +mem32_m,xmmreg \333\350\371\1\x14\101 AVX512,TQVM +mem64_m,ymmreg \333\350\364\371\1\x14\101 AVX512,TQVM +xmmreg_mz,xmmreg \333\350\371\1\x14\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x14\101 AVX512 +xmmreg_mz,zmmreg \333\350\351\371\1\x14\101 AVX512 + +[VPMOVUSWB] +(Ch_All) +mem128_m,ymmreg \333\350\364\371\1\x10\101 AVX512,THVM +mem256_m,zmmreg \333\350\351\371\1\x10\101 AVX512,THVM +mem64_m,xmmreg \333\350\371\1\x10\101 AVX512,THVM +xmmreg_mz,xmmreg \333\350\371\1\x10\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x10\101 AVX512 +ymmreg_mz,zmmreg \333\350\351\371\1\x10\101 AVX512 + +[VPMOVW2M] +(Ch_All) +kreg,xmmreg \333\350\352\371\1\x29\110 AVX512 +kreg,ymmreg \333\350\352\364\371\1\x29\110 AVX512 +kreg,zmmreg \333\350\351\352\371\1\x29\110 AVX512 + +[VPMOVWB] +(Ch_All) +mem128_m,ymmreg \333\350\364\371\1\x30\101 AVX512,THVM +mem256_m,zmmreg \333\350\351\371\1\x30\101 AVX512,THVM +mem64_m,xmmreg \333\350\371\1\x30\101 AVX512,THVM +xmmreg_mz,xmmreg \333\350\371\1\x30\101 AVX512 +xmmreg_mz,ymmreg \333\350\364\371\1\x30\101 AVX512 +ymmreg_mz,zmmreg \333\350\351\371\1\x30\101 AVX512 + +[VPMULLQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x40\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x40\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x40\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x40\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x40\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x40\75\120 AVX512,TFV + +[VPMULTISHIFTQB] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x83\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x83\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x83\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x83\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x83\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x83\75\120 AVX512,TFV + +[VPORD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\370\1\xEB\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\370\1\xEB\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\370\1\xEB\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\370\1\xEB\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xEB\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\370\1\xEB\75\120 AVX512,TFV + +[VPORQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\370\1\xEB\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\xEB\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\370\1\xEB\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\xEB\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\xEB\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\xEB\75\120 AVX512,TFV + +[VPROLD] +(Ch_All) +xmmreg_mz,xmmrm,imm8 \350\361\370\1\x72\74\211\26 AVX512,TFV +xmmreg_mz,bmem32,imm8 \350\361\370\1\x72\74\211\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\361\364\370\1\x72\74\211\26 AVX512,TFV +ymmreg_mz,bmem32,imm8 \350\361\364\370\1\x72\74\211\26 AVX512,TFV +zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x72\74\211\26 AVX512,TFV +zmmreg_mz,bmem32,imm8 \350\351\361\370\1\x72\74\211\26 AVX512,TFV + +[VPROLQ] +(Ch_All) +xmmreg_mz,xmmrm,imm8 \350\352\361\370\1\x72\74\211\26 AVX512,TFV +xmmreg_mz,bmem64,imm8 \350\352\361\370\1\x72\74\211\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\352\361\364\370\1\x72\74\211\26 AVX512,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\370\1\x72\74\211\26 AVX512,TFV +zmmreg_mz,zmmrm,imm8 \350\351\352\361\370\1\x72\74\211\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\370\1\x72\74\211\26 AVX512,TFV + +[VPROLVD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x15\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x15\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x15\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x15\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x15\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x15\75\120 AVX512,TFV + +[VPROLVQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x15\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x15\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x15\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x15\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x15\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x15\75\120 AVX512,TFV + +[VPRORD] +(Ch_All) +xmmreg_mz,xmmrm,imm8 \350\361\370\1\x72\74\210\26 AVX512,TFV +xmmreg_mz,bmem32,imm8 \350\361\370\1\x72\74\210\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\361\364\370\1\x72\74\210\26 AVX512,TFV +ymmreg_mz,bmem32,imm8 \350\361\364\370\1\x72\74\210\26 AVX512,TFV +zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x72\74\210\26 AVX512,TFV +zmmreg_mz,bmem32,imm8 \350\351\361\370\1\x72\74\210\26 AVX512,TFV + +[VPRORQ] +(Ch_All) +xmmreg_mz,xmmrm,imm8 \350\352\361\370\1\x72\74\210\26 AVX512,TFV +xmmreg_mz,bmem64,imm8 \350\352\361\370\1\x72\74\210\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\352\361\364\370\1\x72\74\210\26 AVX512,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\370\1\x72\74\210\26 AVX512,TFV +zmmreg_mz,zmmrm,imm8 \350\351\352\361\370\1\x72\74\210\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\370\1\x72\74\210\26 AVX512,TFV + +[VPRORVD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x14\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x14\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x14\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x14\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\371\1\x14\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x14\75\120 AVX512,TFV + +[VPRORVQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x14\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x14\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x14\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x14\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x14\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x14\75\120 AVX512,TFV + +[VPSCATTERDD] +(Ch_All) +xmem32_m,xmmreg \350\361\371\1\xA0\101 AVX512,T1S +ymem32_m,ymmreg \350\361\364\371\1\xA0\101 AVX512,T1S +zmem32_m,zmmreg \350\351\361\371\1\xA0\101 AVX512,T1S + +[VPSCATTERDQ] +(Ch_All) +xmem64_m,xmmreg \350\352\361\371\1\xA0\101 AVX512,T1S +xmem64_m,ymmreg \350\352\361\364\371\1\xA0\101 AVX512,T1S +ymem64_m,zmmreg \350\351\352\361\371\1\xA0\101 AVX512,T1S + +[VPSCATTERQD] +(Ch_All) +xmem32_m,xmmreg \350\361\371\1\xA1\101 AVX512,T1S +ymem32_m,xmmreg \350\361\364\371\1\xA1\101 AVX512,T1S +zmem32_m,ymmreg \350\351\361\371\1\xA1\101 AVX512,T1S + +[VPSCATTERQQ] +(Ch_All) +xmem64_m,xmmreg \350\352\361\371\1\xA1\101 AVX512,T1S +ymem64_m,ymmreg \350\352\361\364\371\1\xA1\101 AVX512,T1S +zmem64_m,zmmreg \350\351\352\361\371\1\xA1\101 AVX512,T1S + +[VPSLLVW] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x12\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x12\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x12\75\120 AVX512,TFVM + +[VPSRAQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\370\1\xE2\75\120 AVX512,TMEM128 +xmmreg_mz,xmmrm,imm8 \350\352\361\370\1\x72\74\214\26 AVX512,TFV +xmmreg_mz,bmem64,imm8 \350\352\361\370\1\x72\74\214\26 AVX512,TFV +ymmreg_mz,ymmreg,xmmrm \350\352\361\364\370\1\xE2\75\120 AVX512,TMEM128 +ymmreg_mz,ymmrm,imm8 \350\352\361\364\370\1\x72\74\214\26 AVX512,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\370\1\x72\74\214\26 AVX512,TFV +zmmreg_mz,zmmreg,xmmrm \350\351\352\361\370\1\xE2\75\120 AVX512,TMEM128 +zmmreg_mz,zmmrm,imm8 \350\351\352\361\370\1\x72\74\214\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\370\1\x72\74\214\26 AVX512,TFV + +[VPSRAVQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x46\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x46\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x46\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x46\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x46\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x46\75\120 AVX512,TFV + +[VPSRAVW] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x11\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x11\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x11\75\120 AVX512,TFVM + +[VPSRLVW] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x10\75\120 AVX512,TFVM +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x10\75\120 AVX512,TFVM +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\371\1\x10\75\120 AVX512,TFVM + +[VPTERNLOGD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm,imm8 \350\361\372\1\x25\75\120\27 AVX512,TFV +xmmreg_mz,xmmreg,bmem32,imm8 \350\361\372\1\x25\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm,imm8 \350\361\364\372\1\x25\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem32,imm8 \350\361\364\372\1\x25\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\361\372\1\x25\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem32,imm8 \350\351\361\372\1\x25\75\120\27 AVX512,TFV + +[VPTERNLOGQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm,imm8 \350\352\361\372\1\x25\75\120\27 AVX512,TFV +xmmreg_mz,xmmreg,bmem64,imm8 \350\352\361\372\1\x25\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm,imm8 \350\352\361\364\372\1\x25\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem64,imm8 \350\352\361\364\372\1\x25\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\352\361\372\1\x25\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem64,imm8 \350\351\352\361\372\1\x25\75\120\27 AVX512,TFV + +[VPTESTMB] +(Ch_All) +kreg_m,xmmreg,xmmrm \350\361\371\1\x26\75\120 AVX512,TFVM +kreg_m,ymmreg,ymmrm \350\361\364\371\1\x26\75\120 AVX512,TFVM +kreg_m,zmmreg,zmmrm \350\351\361\371\1\x26\75\120 AVX512,TFVM + +[VPTESTMD] +(Ch_All) +kreg_m,xmmreg,xmmrm \350\361\371\1\x27\75\120 AVX512,TFV +kreg_m,xmmreg,bmem32 \350\361\371\1\x27\75\120 AVX512,TFV +kreg_m,ymmreg,ymmrm \350\361\364\371\1\x27\75\120 AVX512,TFV +kreg_m,ymmreg,bmem32 \350\361\364\371\1\x27\75\120 AVX512,TFV +kreg_m,zmmreg,zmmrm \350\351\361\371\1\x27\75\120 AVX512,TFV +kreg_m,zmmreg,bmem32 \350\351\361\371\1\x27\75\120 AVX512,TFV + +[VPTESTMQ] +(Ch_All) +kreg_m,xmmreg,xmmrm \350\352\361\371\1\x27\75\120 AVX512,TFV +kreg_m,xmmreg,bmem64 \350\352\361\371\1\x27\75\120 AVX512,TFV +kreg_m,ymmreg,ymmrm \350\352\361\364\371\1\x27\75\120 AVX512,TFV +kreg_m,ymmreg,bmem64 \350\352\361\364\371\1\x27\75\120 AVX512,TFV +kreg_m,zmmreg,zmmrm \350\351\352\361\371\1\x27\75\120 AVX512,TFV +kreg_m,zmmreg,bmem64 \350\351\352\361\371\1\x27\75\120 AVX512,TFV + +[VPTESTMW] +(Ch_All) +kreg_m,xmmreg,xmmrm \350\352\361\371\1\x26\75\120 AVX512,TFVM +kreg_m,ymmreg,ymmrm \350\352\361\364\371\1\x26\75\120 AVX512,TFVM +kreg_m,zmmreg,zmmrm \350\351\352\361\371\1\x26\75\120 AVX512,TFVM + +[VPTESTNMB] +(Ch_All) +kreg_m,xmmreg,xmmrm \333\350\371\1\x26\75\120 AVX512,TFVM +kreg_m,ymmreg,ymmrm \333\350\364\371\1\x26\75\120 AVX512,TFVM +kreg_m,zmmreg,zmmrm \333\350\351\371\1\x26\75\120 AVX512,TFVM + +[VPTESTNMD] +(Ch_All) +kreg_m,xmmreg,xmmrm \333\350\371\1\x27\75\120 AVX512,TFV +kreg_m,xmmreg,bmem32 \333\350\371\1\x27\75\120 AVX512,TFV +kreg_m,ymmreg,ymmrm \333\350\364\371\1\x27\75\120 AVX512,TFV +kreg_m,ymmreg,bmem32 \333\350\364\371\1\x27\75\120 AVX512,TFV +kreg_m,zmmreg,zmmrm \333\350\351\371\1\x27\75\120 AVX512,TFV +kreg_m,zmmreg,bmem32 \333\350\351\371\1\x27\75\120 AVX512,TFV + +[VPTESTNMQ] +(Ch_All) +kreg_m,xmmreg,xmmrm \333\350\352\371\1\x27\75\120 AVX512,TFV +kreg_m,xmmreg,bmem64 \333\350\352\371\1\x27\75\120 AVX512,TFV +kreg_m,ymmreg,ymmrm \333\350\352\364\371\1\x27\75\120 AVX512,TFV +kreg_m,ymmreg,bmem64 \333\350\352\364\371\1\x27\75\120 AVX512,TFV +kreg_m,zmmreg,zmmrm \333\350\351\352\371\1\x27\75\120 AVX512,TFV +kreg_m,zmmreg,bmem64 \333\350\351\352\371\1\x27\75\120 AVX512,TFV + +[VPTESTNMW] +(Ch_All) +kreg_m,xmmreg,xmmrm \333\350\352\371\1\x26\75\120 AVX512,TFVM +kreg_m,ymmreg,ymmrm \333\350\352\364\371\1\x26\75\120 AVX512,TFVM +kreg_m,zmmreg,zmmrm \333\350\351\352\371\1\x26\75\120 AVX512,TFVM + +[VPXORD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\370\1\xEF\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\370\1\xEF\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\370\1\xEF\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\370\1\xEF\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\361\370\1\xEF\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\370\1\xEF\75\120 AVX512,TFV + +[VPXORQ] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\370\1\xEF\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\370\1\xEF\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\370\1\xEF\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\370\1\xEF\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm \350\351\352\361\370\1\xEF\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\370\1\xEF\75\120 AVX512,TFV + +[VRANGEPD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm,imm8 \350\352\361\372\1\x50\75\120\27 AVX512,TFV +xmmreg_mz,xmmreg,bmem64,imm8 \350\352\361\372\1\x50\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm,imm8 \350\352\361\364\372\1\x50\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem64,imm8 \350\352\361\364\372\1\x50\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,mem512,imm8 \350\351\352\361\372\1\x50\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem64,imm8 \350\351\352\361\372\1\x50\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_sae,imm8 \350\351\352\361\372\1\x50\75\120\27 AVX512 + +[VRANGEPS] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm,imm8 \350\361\372\1\x50\75\120\27 AVX512,TFV +xmmreg_mz,xmmreg,bmem32,imm8 \350\361\372\1\x50\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm,imm8 \350\361\364\372\1\x50\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem32,imm8 \350\361\364\372\1\x50\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,mem512,imm8 \350\351\361\372\1\x50\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem32,imm8 \350\351\361\372\1\x50\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_sae,imm8 \350\351\361\372\1\x50\75\120\27 AVX512 + +[VRANGESD] +(Ch_All) +xmmreg_mz,xmmreg,mem64,imm8 \350\352\361\372\1\x51\75\120\27 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\352\361\372\1\x51\75\120\27 AVX512 + +[VRANGESS] +(Ch_All) +xmmreg_mz,xmmreg,mem32,imm8 \350\361\372\1\x51\75\120\27 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\361\372\1\x51\75\120\27 AVX512 + +[VRCP14PD] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\371\1\x4C\110 AVX512,TFV +xmmreg_mz,bmem64 \350\352\361\371\1\x4C\110 AVX512,TFV +ymmreg_mz,ymmrm \350\352\361\364\371\1\x4C\110 AVX512,TFV +ymmreg_mz,bmem64 \350\352\361\364\371\1\x4C\110 AVX512,TFV +zmmreg_mz,zmmrm \350\351\352\361\371\1\x4C\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\371\1\x4C\110 AVX512,TFV + +[VRCP14PS] +(Ch_All) +xmmreg_mz,xmmrm \350\361\371\1\x4C\110 AVX512,TFV +xmmreg_mz,bmem32 \350\361\371\1\x4C\110 AVX512,TFV +ymmreg_mz,ymmrm \350\361\364\371\1\x4C\110 AVX512,TFV +ymmreg_mz,bmem32 \350\361\364\371\1\x4C\110 AVX512,TFV +zmmreg_mz,zmmrm \350\351\361\371\1\x4C\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\361\371\1\x4C\110 AVX512,TFV + +[VRCP14SD] +(Ch_All) +xmmreg_mz,xmmreg,mem64 \350\352\361\371\1\x4D\75\120 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg \350\352\361\371\1\x4D\75\120 AVX512 + +[VRCP14SS] +(Ch_All) +xmmreg_mz,xmmreg,mem32 \350\361\371\1\x4D\75\120 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg \350\361\371\1\x4D\75\120 AVX512 + +[VRCP28PD] +(Ch_All) +zmmreg_mz,mem512 \350\351\352\361\371\1\xCA\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\371\1\xCA\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\352\361\371\1\xCA\110 AVX512 + +[VRCP28PS] +(Ch_All) +zmmreg_mz,mem512 \350\351\361\371\1\xCA\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\361\371\1\xCA\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\361\371\1\xCA\110 AVX512 + +[VRCP28SD] +(Ch_All) +xmmreg_mz,xmmreg,mem64 \350\352\361\371\1\xCB\75\120 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae \350\352\361\371\1\xCB\75\120 AVX512 + +[VRCP28SS] +(Ch_All) +xmmreg_mz,xmmreg,mem32 \350\361\371\1\xCB\75\120 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae \350\361\371\1\xCB\75\120 AVX512 + +[VREDUCEPD] +(Ch_All) +xmmreg_mz,xmmrm,imm8 \350\352\361\372\1\x56\110\26 AVX512,TFV +xmmreg_mz,bmem64,imm8 \350\352\361\372\1\x56\110\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\352\361\364\372\1\x56\110\26 AVX512,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\372\1\x56\110\26 AVX512,TFV +zmmreg_mz,mem512,imm8 \350\351\352\361\372\1\x56\110\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\372\1\x56\110\26 AVX512,TFV +zmmreg_mz,zmmreg_sae,imm8 \350\351\352\361\372\1\x56\110\26 AVX512 + +[VREDUCEPS] +(Ch_All) +xmmreg_mz,xmmrm,imm8 \350\361\372\1\x56\110\26 AVX512,TFV +xmmreg_mz,bmem32,imm8 \350\361\372\1\x56\110\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\361\364\372\1\x56\110\26 AVX512,TFV +ymmreg_mz,bmem32,imm8 \350\361\364\372\1\x56\110\26 AVX512,TFV +zmmreg_mz,mem512,imm8 \350\351\361\372\1\x56\110\26 AVX512,TFV +zmmreg_mz,bmem32,imm8 \350\351\361\372\1\x56\110\26 AVX512,TFV +zmmreg_mz,zmmreg_sae,imm8 \350\351\361\372\1\x56\110\26 AVX512 + +[VREDUCESD] +(Ch_All) +xmmreg_mz,xmmreg,mem64,imm8 \350\352\361\372\1\x57\75\120\27 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\352\361\372\1\x57\75\120\27 AVX512 + +[VREDUCESS] +(Ch_All) +xmmreg_mz,xmmreg,mem32,imm8 \350\361\372\1\x57\75\120\27 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\361\372\1\x57\75\120\27 AVX512 + +[VRNDSCALEPD] +(Ch_All) +xmmreg_mz,xmmrm,imm8 \350\352\361\372\1\x09\110\26 AVX512,TFV +xmmreg_mz,bmem64,imm8 \350\352\361\372\1\x09\110\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\352\361\364\372\1\x09\110\26 AVX512,TFV +ymmreg_mz,bmem64,imm8 \350\352\361\364\372\1\x09\110\26 AVX512,TFV +zmmreg_mz,mem512,imm8 \350\351\352\361\372\1\x09\110\26 AVX512,TFV +zmmreg_mz,bmem64,imm8 \350\351\352\361\372\1\x09\110\26 AVX512,TFV +zmmreg_mz,zmmreg_sae,imm8 \350\351\352\361\372\1\x09\110\26 AVX512 + +[VRNDSCALEPS] +(Ch_All) +xmmreg_mz,xmmrm,imm8 \350\361\372\1\x08\110\26 AVX512,TFV +xmmreg_mz,bmem32,imm8 \350\361\372\1\x08\110\26 AVX512,TFV +ymmreg_mz,ymmrm,imm8 \350\361\364\372\1\x08\110\26 AVX512,TFV +ymmreg_mz,bmem32,imm8 \350\361\364\372\1\x08\110\26 AVX512,TFV +zmmreg_mz,mem512,imm8 \350\351\361\372\1\x08\110\26 AVX512,TFV +zmmreg_mz,bmem32,imm8 \350\351\361\372\1\x08\110\26 AVX512,TFV +zmmreg_mz,zmmreg_sae,imm8 \350\351\361\372\1\x08\110\26 AVX512 + +[VRNDSCALESD] +(Ch_All) +xmmreg_mz,xmmreg,mem64,imm8 \350\352\361\372\1\x0B\75\120\27 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\352\361\372\1\x0B\75\120\27 AVX512 + +[VRNDSCALESS] +(Ch_All) +xmmreg_mz,xmmreg,mem32,imm8 \350\361\372\1\x0A\75\120\27 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\361\372\1\x0A\75\120\27 AVX512 + +[VRSQRT14PD] +(Ch_All) +xmmreg_mz,xmmrm \350\352\361\371\1\x4E\110 AVX512,TFV +xmmreg_mz,bmem64 \350\352\361\371\1\x4E\110 AVX512,TFV +ymmreg_mz,ymmrm \350\352\361\364\371\1\x4E\110 AVX512,TFV +ymmreg_mz,bmem64 \350\352\361\364\371\1\x4E\110 AVX512,TFV +zmmreg_mz,zmmrm \350\351\352\361\371\1\x4E\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\371\1\x4E\110 AVX512,TFV + +[VRSQRT14PS] +(Ch_All) +xmmreg_mz,xmmrm \350\361\371\1\x4E\110 AVX512,TFV +xmmreg_mz,bmem32 \350\361\371\1\x4E\110 AVX512,TFV +ymmreg_mz,ymmrm \350\361\364\371\1\x4E\110 AVX512,TFV +ymmreg_mz,bmem32 \350\361\364\371\1\x4E\110 AVX512,TFV +zmmreg_mz,zmmrm \350\351\361\371\1\x4E\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\361\371\1\x4E\110 AVX512,TFV + +[VRSQRT14SD] +(Ch_All) +xmmreg_mz,xmmreg,xmmreg \350\352\361\371\1\x4F\75\120 AVX512 +xmmreg_mz,xmmreg,mem64 \350\352\361\371\1\x4F\75\120 AVX512,T1S + +[VRSQRT14SS] +(Ch_All) +xmmreg_mz,xmmreg,xmmreg \350\361\371\1\x4F\75\120 AVX512 +xmmreg_mz,xmmreg,mem32 \350\361\371\1\x4F\75\120 AVX512,T1S + +[VRSQRT28PD] +(Ch_All) +zmmreg_mz,mem512 \350\351\352\361\371\1\xCC\110 AVX512,TFV +zmmreg_mz,bmem64 \350\351\352\361\371\1\xCC\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\352\361\371\1\xCC\110 AVX512 + +[VRSQRT28PS] +(Ch_All) +zmmreg_mz,mem512 \350\351\361\371\1\xCC\110 AVX512,TFV +zmmreg_mz,bmem32 \350\351\361\371\1\xCC\110 AVX512,TFV +zmmreg_mz,zmmreg_sae \350\351\361\371\1\xCC\110 AVX512 + +[VRSQRT28SD] +(Ch_All) +xmmreg_mz,xmmreg,mem64 \350\352\361\371\1\xCD\75\120 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae \350\352\361\371\1\xCD\75\120 AVX512 + +[VRSQRT28SS] +(Ch_All) +xmmreg_mz,xmmreg,mem32 \350\361\371\1\xCD\75\120 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_sae \350\361\371\1\xCD\75\120 AVX512 + +[VSCALEFPD] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\352\361\371\1\x2C\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem64 \350\352\361\371\1\x2C\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\352\361\364\371\1\x2C\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem64 \350\352\361\364\371\1\x2C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\352\361\371\1\x2C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem64 \350\351\352\361\371\1\x2C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\352\361\371\1\x2C\75\120 AVX512 + +[VSCALEFPS] +(Ch_All) +xmmreg_mz,xmmreg,xmmrm \350\361\371\1\x2C\75\120 AVX512,TFV +xmmreg_mz,xmmreg,bmem32 \350\361\371\1\x2C\75\120 AVX512,TFV +ymmreg_mz,ymmreg,ymmrm \350\361\364\371\1\x2C\75\120 AVX512,TFV +ymmreg_mz,ymmreg,bmem32 \350\361\364\371\1\x2C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,mem512 \350\351\361\371\1\x2C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x2C\75\120 AVX512,TFV +zmmreg_mz,zmmreg,zmmreg_er \350\351\361\371\1\x2C\75\120 AVX512 + +[VSCALEFSD] +(Ch_All) +xmmreg_mz,xmmreg,mem64 \350\352\361\371\1\x2D\75\120 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\352\361\371\1\x2D\75\120 AVX512 + +[VSCALEFSS] +(Ch_All) +xmmreg_mz,xmmreg,mem32 \350\361\371\1\x2D\75\120 AVX512,T1S +xmmreg_mz,xmmreg,xmmreg_er \350\361\371\1\x2D\75\120 AVX512 + +[VSCATTERDPD] +(Ch_All) +xmem64_m,xmmreg \350\352\361\371\1\xA2\101 AVX512,T1S +xmem64_m,ymmreg \350\352\361\364\371\1\xA2\101 AVX512,T1S +ymem64_m,zmmreg \350\351\352\361\371\1\xA2\101 AVX512,T1S + +[VSCATTERDPS] +(Ch_All) +xmem32_m,xmmreg \350\361\371\1\xA2\101 AVX512,T1S +ymem32_m,ymmreg \350\361\364\371\1\xA2\101 AVX512,T1S +zmem32_m,zmmreg \350\351\361\371\1\xA2\101 AVX512,T1S + + +[VSCATTERQPD] +(Ch_All) +xmem64_m,xmmreg \350\352\361\371\1\xA3\101 AVX512,T1S +ymem64_m,ymmreg \350\352\361\364\371\1\xA3\101 AVX512,T1S +zmem64_m,zmmreg \350\351\352\361\371\1\xA3\101 AVX512,T1S + +[VSCATTERQPS] +(Ch_All) +xmem32_m,xmmreg \350\361\371\1\xA3\101 AVX512,T1S +ymem32_m,xmmreg \350\361\364\371\1\xA3\101 AVX512,T1S +zmem32_m,ymmreg \350\351\361\371\1\xA3\101 AVX512,T1S + +[VSHUFF32X4] +(Ch_All) +ymmreg_mz,ymmreg,ymmrm,imm8 \350\361\364\372\1\x23\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem32,imm8 \350\361\364\372\1\x23\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\361\372\1\x23\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem32,imm8 \350\351\361\372\1\x23\75\120\27 AVX512,TFV + +[VSHUFF64X2] +(Ch_All) +ymmreg_mz,ymmreg,ymmrm,imm8 \350\352\361\364\372\1\x23\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem64,imm8 \350\352\361\364\372\1\x23\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\352\361\372\1\x23\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem64,imm8 \350\351\352\361\372\1\x23\75\120\27 AVX512,TFV + +[VSHUFI32X4] +(Ch_All) +ymmreg_mz,ymmreg,ymmrm,imm8 \350\361\364\372\1\x43\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem32,imm8 \350\361\364\372\1\x43\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\361\372\1\x43\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem32,imm8 \350\351\361\372\1\x43\75\120\27 AVX512,TFV + +[VSHUFI64X2] +(Ch_All) +ymmreg_mz,ymmreg,ymmrm,imm8 \350\352\361\364\372\1\x43\75\120\27 AVX512,TFV +ymmreg_mz,ymmreg,bmem64,imm8 \350\352\361\364\372\1\x43\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,zmmrm,imm8 \350\351\352\361\372\1\x43\75\120\27 AVX512,TFV +zmmreg_mz,zmmreg,bmem64,imm8 \350\351\352\361\372\1\x43\75\120\27 AVX512,TFV + diff --git a/compiler/x86/x86reg.dat b/compiler/x86/x86reg.dat index bd94e9b2fc..db0cf68e50 100644 --- a/compiler/x86/x86reg.dat +++ b/compiler/x86/x86reg.dat @@ -159,6 +159,22 @@ NR_XMM12,$040C000c,xmm12,%xmm12,xmm12,xmm12,-1,-1,-1,29,OT_XMMREG,4,64 NR_XMM13,$040C000d,xmm13,%xmm13,xmm13,xmm13,-1,-1,-1,30,OT_XMMREG,5,64 NR_XMM14,$040C000e,xmm14,%xmm14,xmm14,xmm14,-1,-1,-1,31,OT_XMMREG,6,64 NR_XMM15,$040C000f,xmm15,%xmm15,xmm15,xmm15,-1,-1,-1,32,OT_XMMREG,7,64 +NR_XMM16,$040C0010,xmm16,%xmm16,xmm16,xmm16,-1,-1,-1,67,OT_XMMREG,0,64 +NR_XMM17,$040C0011,xmm17,%xmm17,xmm17,xmm17,-1,-1,-1,68,OT_XMMREG,1,64 +NR_XMM18,$040C0012,xmm18,%xmm18,xmm18,xmm18,-1,-1,-1,69,OT_XMMREG,2,64 +NR_XMM19,$040C0013,xmm19,%xmm19,xmm19,xmm19,-1,-1,-1,70,OT_XMMREG,3,64 +NR_XMM20,$040C0014,xmm20,%xmm20,xmm20,xmm20,-1,-1,-1,71,OT_XMMREG,4,64 +NR_XMM21,$040C0015,xmm21,%xmm21,xmm21,xmm21,-1,-1,-1,72,OT_XMMREG,5,64 +NR_XMM22,$040C0016,xmm22,%xmm22,xmm22,xmm22,-1,-1,-1,73,OT_XMMREG,6,64 +NR_XMM23,$040C0017,xmm23,%xmm23,xmm23,xmm23,-1,-1,-1,74,OT_XMMREG,7,64 +NR_XMM24,$040C0018,xmm24,%xmm24,xmm24,xmm24,-1,-1,-1,75,OT_XMMREG,0,64 +NR_XMM25,$040C0019,xmm25,%xmm25,xmm25,xmm25,-1,-1,-1,76,OT_XMMREG,1,64 +NR_XMM26,$040C001A,xmm26,%xmm26,xmm26,xmm26,-1,-1,-1,77,OT_XMMREG,2,64 +NR_XMM27,$040C001B,xmm27,%xmm27,xmm27,xmm27,-1,-1,-1,78,OT_XMMREG,3,64 +NR_XMM28,$040C001C,xmm28,%xmm28,xmm28,xmm28,-1,-1,-1,79,OT_XMMREG,4,64 +NR_XMM29,$040C001D,xmm29,%xmm29,xmm29,xmm29,-1,-1,-1,80,OT_XMMREG,5,64 +NR_XMM30,$040C001E,xmm30,%xmm30,xmm30,xmm30,-1,-1,-1,81,OT_XMMREG,6,64 +NR_XMM31,$040C001F,xmm31,%xmm31,xmm31,xmm31,-1,-1,-1,82,OT_XMMREG,7,64 NR_YMM0,$040D0000,ymm0,%ymm0,ymm0,ymm0,21,-1,21,17,OT_YMMREG,0 NR_YMM1,$040D0001,ymm1,%ymm1,ymm1,ymm1,22,-1,22,18,OT_YMMREG,1 @@ -176,3 +192,68 @@ NR_YMM12,$040D000c,ymm12,%ymm12,ymm12,ymm12,-1,-1,-1,29,OT_YMMREG,4,64 NR_YMM13,$040D000d,ymm13,%ymm13,ymm13,ymm13,-1,-1,-1,30,OT_YMMREG,5,64 NR_YMM14,$040D000e,ymm14,%ymm14,ymm14,ymm14,-1,-1,-1,31,OT_YMMREG,6,64 NR_YMM15,$040D000f,ymm15,%ymm15,ymm15,ymm15,-1,-1,-1,32,OT_YMMREG,7,64 +NR_YMM16,$040D0010,ymm16,%ymm16,ymm16,ymm16,-1,-1,-1,67,OT_YMMREG,0,64 +NR_YMM17,$040D0011,ymm17,%ymm17,ymm17,ymm17,-1,-1,-1,68,OT_YMMREG,1,64 +NR_YMM18,$040D0012,ymm18,%ymm18,ymm18,ymm18,-1,-1,-1,69,OT_YMMREG,2,64 +NR_YMM19,$040D0013,ymm19,%ymm19,ymm19,ymm19,-1,-1,-1,70,OT_YMMREG,3,64 +NR_YMM20,$040D0014,ymm20,%ymm20,ymm20,ymm20,-1,-1,-1,71,OT_YMMREG,4,64 +NR_YMM21,$040D0015,ymm21,%ymm21,ymm21,ymm21,-1,-1,-1,72,OT_YMMREG,5,64 +NR_YMM22,$040D0016,ymm22,%ymm22,ymm22,ymm22,-1,-1,-1,73,OT_YMMREG,6,64 +NR_YMM23,$040D0017,ymm23,%ymm23,ymm23,ymm23,-1,-1,-1,74,OT_YMMREG,7,64 +NR_YMM24,$040D0018,ymm24,%ymm24,ymm24,ymm24,-1,-1,-1,75,OT_YMMREG,0,64 +NR_YMM25,$040D0019,ymm25,%ymm25,ymm25,ymm25,-1,-1,-1,76,OT_YMMREG,1,64 +NR_YMM26,$040D001a,ymm26,%ymm26,ymm26,ymm26,-1,-1,-1,77,OT_YMMREG,2,64 +NR_YMM27,$040D001b,ymm27,%ymm27,ymm27,ymm27,-1,-1,-1,78,OT_YMMREG,3,64 +NR_YMM28,$040D001c,ymm28,%ymm28,ymm28,ymm28,-1,-1,-1,79,OT_YMMREG,4,64 +NR_YMM29,$040D001d,ymm29,%ymm29,ymm29,ymm29,-1,-1,-1,80,OT_YMMREG,5,64 +NR_YMM30,$040D001e,ymm30,%ymm30,ymm30,ymm30,-1,-1,-1,81,OT_YMMREG,6,64 +NR_YMM31,$040D001f,ymm31,%ymm31,ymm31,ymm31,-1,-1,-1,82,OT_YMMREG,7,64 + + +NR_ZMM0,$040E0000,zmm0,%zmm0,zmm0,zmm0,21,-1,21,17,OT_ZMMREG,0 +NR_ZMM1,$040E0001,zmm1,%zmm1,zmm1,zmm1,22,-1,22,18,OT_ZMMREG,1 +NR_ZMM2,$040E0002,zmm2,%zmm2,zmm2,zmm2,23,-1,23,19,OT_ZMMREG,2 +NR_ZMM3,$040E0003,zmm3,%zmm3,zmm3,zmm3,24,-1,24,20,OT_ZMMREG,3 +NR_ZMM4,$040E0004,zmm4,%zmm4,zmm4,zmm4,25,-1,25,21,OT_ZMMREG,4 +NR_ZMM5,$040E0005,zmm5,%zmm5,zmm5,zmm5,26,-1,26,22,OT_ZMMREG,5 +NR_ZMM6,$040E0006,zmm6,%zmm6,zmm6,zmm6,27,-1,27,23,OT_ZMMREG,6 +NR_ZMM7,$040E0007,zmm7,%zmm7,zmm7,zmm7,28,-1,28,24,OT_ZMMREG,7 +NR_ZMM8,$040E0008,zmm8,%zmm8,zmm8,zmm8,-1,-1,-1,25,OT_ZMMREG,0,64 +NR_ZMM9,$040E0009,zmm9,%zmm9,zmm9,zmm9,-1,-1,-1,26,OT_ZMMREG,1,64 +NR_ZMM10,$040E000A,zmm10,%zmm10,zmm10,zmm10,-1,-1,-1,27,OT_ZMMREG,2,64 +NR_ZMM11,$040E000B,zmm11,%zmm11,zmm11,zmm11,-1,-1,-1,28,OT_ZMMREG,3,64 +NR_ZMM12,$040E000C,zmm12,%zmm12,zmm12,zmm12,-1,-1,-1,29,OT_ZMMREG,4,64 +NR_ZMM13,$040E000D,zmm13,%zmm13,zmm13,zmm13,-1,-1,-1,30,OT_ZMMREG,5,64 +NR_ZMM14,$040E000E,zmm14,%zmm14,zmm14,zmm14,-1,-1,-1,31,OT_ZMMREG,6,64 +NR_ZMM15,$040E000F,zmm15,%zmm15,zmm15,zmm15,-1,-1,-1,32,OT_ZMMREG,7,64 +NR_ZMM16,$040E0010,zmm16,%zmm16,zmm16,zmm16,-1,-1,-1,67,OT_ZMMREG,0,64 +NR_ZMM17,$040E0011,zmm17,%zmm17,zmm17,zmm17,-1,-1,-1,68,OT_ZMMREG,1,64 +NR_ZMM18,$040E0012,zmm18,%zmm18,zmm18,zmm18,-1,-1,-1,69,OT_ZMMREG,2,64 +NR_ZMM19,$040E0013,zmm19,%zmm19,zmm19,zmm19,-1,-1,-1,70,OT_ZMMREG,3,64 +NR_ZMM20,$040E0014,zmm20,%zmm20,zmm20,zmm20,-1,-1,-1,71,OT_ZMMREG,4,64 +NR_ZMM21,$040E0015,zmm21,%zmm21,zmm21,zmm21,-1,-1,-1,72,OT_ZMMREG,5,64 +NR_ZMM22,$040E0016,zmm22,%zmm22,zmm22,zmm22,-1,-1,-1,73,OT_ZMMREG,6,64 +NR_ZMM23,$040E0017,zmm23,%zmm23,zmm23,zmm23,-1,-1,-1,74,OT_ZMMREG,7,64 +NR_ZMM24,$040E0018,zmm24,%zmm24,zmm24,zmm24,-1,-1,-1,75,OT_ZMMREG,0,64 +NR_ZMM25,$040E0019,zmm25,%zmm25,zmm25,zmm25,-1,-1,-1,76,OT_ZMMREG,1,64 +NR_ZMM26,$040E001A,zmm26,%zmm26,zmm26,zmm26,-1,-1,-1,77,OT_ZMMREG,2,64 +NR_ZMM27,$040E001B,zmm27,%zmm27,zmm27,zmm27,-1,-1,-1,78,OT_ZMMREG,3,64 +NR_ZMM28,$040E001C,zmm28,%zmm28,zmm28,zmm28,-1,-1,-1,79,OT_ZMMREG,4,64 +NR_ZMM29,$040E001D,zmm29,%zmm29,zmm29,zmm29,-1,-1,-1,80,OT_ZMMREG,5,64 +NR_ZMM30,$040E001E,zmm30,%zmm30,zmm30,zmm30,-1,-1,-1,81,OT_ZMMREG,6,64 +NR_ZMM31,$040E001F,zmm31,%zmm31,zmm31,zmm31,-1,-1,-1,82,OT_ZMMREG,7,64 + +NR_K0,$06000000,k0,%k0,k0,k0,-1,-1,118,118,OT_KREG,0 +NR_K1,$06000001,k1,%k1,k1,k1,-1,-1,119,119,OT_KREG,1 +NR_K2,$06000002,k2,%k2,k2,k2,-1,-1,120,120,OT_KREG,2 +NR_K3,$06000003,k3,%k3,k3,k3,-1,-1,121,121,OT_KREG,3 +NR_K4,$06000004,k4,%k4,k4,k4,-1,-1,122,122,OT_KREG,4 +NR_K5,$06000005,k5,%k5,k5,k5,-1,-1,123,123,OT_KREG,5 +NR_K6,$06000006,k6,%k6,k6,k6,-1,-1,124,124,OT_KREG,6 +NR_K7,$06000007,k7,%k7,k7,k7,-1,-1,125,125,OT_KREG,7 + +; NR_BND0,$07000000,bnd0,%bnd0,bnd0,bnd0,-1,126,126,OT_REG_BND,0 +; NR_BND1,$07000001,bnd1,%bnd1,bnd1,bnd1,-1,127,127,OT_REG_BND,1 +; NR_BND2,$07000002,bnd2,%bnd2,bnd2,bnd2,-1,128,128,OT_REG_BND,2 +; NR_BND3,$07000003,bnd3,%bnd3,bnd3,bnd3,-1,129,129,OT_REG_BND,3 + diff --git a/compiler/x86_64/r8664ari.inc b/compiler/x86_64/r8664ari.inc index 85b53356b6..cd7ade7414 100644 --- a/compiler/x86_64/r8664ari.inc +++ b/compiler/x86_64/r8664ari.inc @@ -45,6 +45,14 @@ 73, 74, 84, +216, +217, +218, +219, +220, +221, +222, +223, 112, 113, 114, @@ -125,29 +133,93 @@ 133, 134, 135, -122, -123, -124, -125, -126, -127, -128, -129, 136, 137, -146, -147, -148, -149, -150, -151, 138, 139, +122, 140, 141, 142, 143, 144, 145, +146, +147, +148, +149, +123, +150, +151, +124, +125, +126, +127, +128, +129, +152, +153, +162, +163, +164, +165, +166, +167, +168, +169, +170, +171, +154, +172, +173, +174, +175, +176, +177, +178, +179, +180, +181, +155, +182, +183, +156, +157, +158, +159, +160, +161, 81, +184, +185, +194, +195, +196, +197, +198, +199, +200, +201, +202, +203, +186, +204, +205, +206, +207, +208, +209, +210, +211, +212, +213, +187, +214, +215, +188, +189, +190, +191, +192, +193, 0 diff --git a/compiler/x86_64/r8664att.inc b/compiler/x86_64/r8664att.inc index b06dc99208..ea88dbe10a 100644 --- a/compiler/x86_64/r8664att.inc +++ b/compiler/x86_64/r8664att.inc @@ -135,6 +135,22 @@ '%xmm13', '%xmm14', '%xmm15', +'%xmm16', +'%xmm17', +'%xmm18', +'%xmm19', +'%xmm20', +'%xmm21', +'%xmm22', +'%xmm23', +'%xmm24', +'%xmm25', +'%xmm26', +'%xmm27', +'%xmm28', +'%xmm29', +'%xmm30', +'%xmm31', '%ymm0', '%ymm1', '%ymm2', @@ -150,4 +166,60 @@ '%ymm12', '%ymm13', '%ymm14', -'%ymm15' +'%ymm15', +'%ymm16', +'%ymm17', +'%ymm18', +'%ymm19', +'%ymm20', +'%ymm21', +'%ymm22', +'%ymm23', +'%ymm24', +'%ymm25', +'%ymm26', +'%ymm27', +'%ymm28', +'%ymm29', +'%ymm30', +'%ymm31', +'%zmm0', +'%zmm1', +'%zmm2', +'%zmm3', +'%zmm4', +'%zmm5', +'%zmm6', +'%zmm7', +'%zmm8', +'%zmm9', +'%zmm10', +'%zmm11', +'%zmm12', +'%zmm13', +'%zmm14', +'%zmm15', +'%zmm16', +'%zmm17', +'%zmm18', +'%zmm19', +'%zmm20', +'%zmm21', +'%zmm22', +'%zmm23', +'%zmm24', +'%zmm25', +'%zmm26', +'%zmm27', +'%zmm28', +'%zmm29', +'%zmm30', +'%zmm31', +'%k0', +'%k1', +'%k2', +'%k3', +'%k4', +'%k5', +'%k6', +'%k7' diff --git a/compiler/x86_64/r8664con.inc b/compiler/x86_64/r8664con.inc index 55c3e76a5c..4ee6235466 100644 --- a/compiler/x86_64/r8664con.inc +++ b/compiler/x86_64/r8664con.inc @@ -135,6 +135,22 @@ NR_XMM12 = tregister($040C000c); NR_XMM13 = tregister($040C000d); NR_XMM14 = tregister($040C000e); NR_XMM15 = tregister($040C000f); +NR_XMM16 = tregister($040C0010); +NR_XMM17 = tregister($040C0011); +NR_XMM18 = tregister($040C0012); +NR_XMM19 = tregister($040C0013); +NR_XMM20 = tregister($040C0014); +NR_XMM21 = tregister($040C0015); +NR_XMM22 = tregister($040C0016); +NR_XMM23 = tregister($040C0017); +NR_XMM24 = tregister($040C0018); +NR_XMM25 = tregister($040C0019); +NR_XMM26 = tregister($040C001A); +NR_XMM27 = tregister($040C001B); +NR_XMM28 = tregister($040C001C); +NR_XMM29 = tregister($040C001D); +NR_XMM30 = tregister($040C001E); +NR_XMM31 = tregister($040C001F); NR_YMM0 = tregister($040D0000); NR_YMM1 = tregister($040D0001); NR_YMM2 = tregister($040D0002); @@ -151,3 +167,59 @@ NR_YMM12 = tregister($040D000c); NR_YMM13 = tregister($040D000d); NR_YMM14 = tregister($040D000e); NR_YMM15 = tregister($040D000f); +NR_YMM16 = tregister($040D0010); +NR_YMM17 = tregister($040D0011); +NR_YMM18 = tregister($040D0012); +NR_YMM19 = tregister($040D0013); +NR_YMM20 = tregister($040D0014); +NR_YMM21 = tregister($040D0015); +NR_YMM22 = tregister($040D0016); +NR_YMM23 = tregister($040D0017); +NR_YMM24 = tregister($040D0018); +NR_YMM25 = tregister($040D0019); +NR_YMM26 = tregister($040D001a); +NR_YMM27 = tregister($040D001b); +NR_YMM28 = tregister($040D001c); +NR_YMM29 = tregister($040D001d); +NR_YMM30 = tregister($040D001e); +NR_YMM31 = tregister($040D001f); +NR_ZMM0 = tregister($040E0000); +NR_ZMM1 = tregister($040E0001); +NR_ZMM2 = tregister($040E0002); +NR_ZMM3 = tregister($040E0003); +NR_ZMM4 = tregister($040E0004); +NR_ZMM5 = tregister($040E0005); +NR_ZMM6 = tregister($040E0006); +NR_ZMM7 = tregister($040E0007); +NR_ZMM8 = tregister($040E0008); +NR_ZMM9 = tregister($040E0009); +NR_ZMM10 = tregister($040E000A); +NR_ZMM11 = tregister($040E000B); +NR_ZMM12 = tregister($040E000C); +NR_ZMM13 = tregister($040E000D); +NR_ZMM14 = tregister($040E000E); +NR_ZMM15 = tregister($040E000F); +NR_ZMM16 = tregister($040E0010); +NR_ZMM17 = tregister($040E0011); +NR_ZMM18 = tregister($040E0012); +NR_ZMM19 = tregister($040E0013); +NR_ZMM20 = tregister($040E0014); +NR_ZMM21 = tregister($040E0015); +NR_ZMM22 = tregister($040E0016); +NR_ZMM23 = tregister($040E0017); +NR_ZMM24 = tregister($040E0018); +NR_ZMM25 = tregister($040E0019); +NR_ZMM26 = tregister($040E001A); +NR_ZMM27 = tregister($040E001B); +NR_ZMM28 = tregister($040E001C); +NR_ZMM29 = tregister($040E001D); +NR_ZMM30 = tregister($040E001E); +NR_ZMM31 = tregister($040E001F); +NR_K0 = tregister($06000000); +NR_K1 = tregister($06000001); +NR_K2 = tregister($06000002); +NR_K3 = tregister($06000003); +NR_K4 = tregister($06000004); +NR_K5 = tregister($06000005); +NR_K6 = tregister($06000006); +NR_K7 = tregister($06000007); diff --git a/compiler/x86_64/r8664dwrf.inc b/compiler/x86_64/r8664dwrf.inc index 6687449748..a391385c06 100644 --- a/compiler/x86_64/r8664dwrf.inc +++ b/compiler/x86_64/r8664dwrf.inc @@ -135,6 +135,22 @@ 30, 31, 32, +67, +68, +69, +70, +71, +72, +73, +74, +75, +76, +77, +78, +79, +80, +81, +82, 17, 18, 19, @@ -150,4 +166,60 @@ 29, 30, 31, -32 +32, +67, +68, +69, +70, +71, +72, +73, +74, +75, +76, +77, +78, +79, +80, +81, +82, +17, +18, +19, +20, +21, +22, +23, +24, +25, +26, +27, +28, +29, +30, +31, +32, +67, +68, +69, +70, +71, +72, +73, +74, +75, +76, +77, +78, +79, +80, +81, +82, +118, +119, +120, +121, +122, +123, +124, +125 diff --git a/compiler/x86_64/r8664int.inc b/compiler/x86_64/r8664int.inc index 94ef60f4db..4d992d153d 100644 --- a/compiler/x86_64/r8664int.inc +++ b/compiler/x86_64/r8664int.inc @@ -135,6 +135,22 @@ 'xmm13', 'xmm14', 'xmm15', +'xmm16', +'xmm17', +'xmm18', +'xmm19', +'xmm20', +'xmm21', +'xmm22', +'xmm23', +'xmm24', +'xmm25', +'xmm26', +'xmm27', +'xmm28', +'xmm29', +'xmm30', +'xmm31', 'ymm0', 'ymm1', 'ymm2', @@ -150,4 +166,60 @@ 'ymm12', 'ymm13', 'ymm14', -'ymm15' +'ymm15', +'ymm16', +'ymm17', +'ymm18', +'ymm19', +'ymm20', +'ymm21', +'ymm22', +'ymm23', +'ymm24', +'ymm25', +'ymm26', +'ymm27', +'ymm28', +'ymm29', +'ymm30', +'ymm31', +'zmm0', +'zmm1', +'zmm2', +'zmm3', +'zmm4', +'zmm5', +'zmm6', +'zmm7', +'zmm8', +'zmm9', +'zmm10', +'zmm11', +'zmm12', +'zmm13', +'zmm14', +'zmm15', +'zmm16', +'zmm17', +'zmm18', +'zmm19', +'zmm20', +'zmm21', +'zmm22', +'zmm23', +'zmm24', +'zmm25', +'zmm26', +'zmm27', +'zmm28', +'zmm29', +'zmm30', +'zmm31', +'k0', +'k1', +'k2', +'k3', +'k4', +'k5', +'k6', +'k7' diff --git a/compiler/x86_64/r8664iri.inc b/compiler/x86_64/r8664iri.inc index aa7503d5cd..3f48baa79f 100644 --- a/compiler/x86_64/r8664iri.inc +++ b/compiler/x86_64/r8664iri.inc @@ -46,6 +46,14 @@ 73, 74, 84, +216, +217, +218, +219, +220, +221, +222, +223, 112, 113, 114, @@ -126,28 +134,92 @@ 133, 134, 135, -122, -123, -124, -125, -126, -127, -128, -129, 136, 137, -146, -147, -148, -149, -150, -151, 138, 139, +122, 140, 141, 142, 143, 144, 145, -81 +146, +147, +148, +149, +123, +150, +151, +124, +125, +126, +127, +128, +129, +152, +153, +162, +163, +164, +165, +166, +167, +168, +169, +170, +171, +154, +172, +173, +174, +175, +176, +177, +178, +179, +180, +181, +155, +182, +183, +156, +157, +158, +159, +160, +161, +81, +184, +185, +194, +195, +196, +197, +198, +199, +200, +201, +202, +203, +186, +204, +205, +206, +207, +208, +209, +210, +211, +212, +213, +187, +214, +215, +188, +189, +190, +191, +192, +193 diff --git a/compiler/x86_64/r8664nasm.inc b/compiler/x86_64/r8664nasm.inc index dffd83b9f5..f167c537c3 100644 --- a/compiler/x86_64/r8664nasm.inc +++ b/compiler/x86_64/r8664nasm.inc @@ -135,6 +135,22 @@ 'xmm13', 'xmm14', 'xmm15', +'xmm16', +'xmm17', +'xmm18', +'xmm19', +'xmm20', +'xmm21', +'xmm22', +'xmm23', +'xmm24', +'xmm25', +'xmm26', +'xmm27', +'xmm28', +'xmm29', +'xmm30', +'xmm31', 'ymm0', 'ymm1', 'ymm2', @@ -150,4 +166,60 @@ 'ymm12', 'ymm13', 'ymm14', -'ymm15' +'ymm15', +'ymm16', +'ymm17', +'ymm18', +'ymm19', +'ymm20', +'ymm21', +'ymm22', +'ymm23', +'ymm24', +'ymm25', +'ymm26', +'ymm27', +'ymm28', +'ymm29', +'ymm30', +'ymm31', +'zmm0', +'zmm1', +'zmm2', +'zmm3', +'zmm4', +'zmm5', +'zmm6', +'zmm7', +'zmm8', +'zmm9', +'zmm10', +'zmm11', +'zmm12', +'zmm13', +'zmm14', +'zmm15', +'zmm16', +'zmm17', +'zmm18', +'zmm19', +'zmm20', +'zmm21', +'zmm22', +'zmm23', +'zmm24', +'zmm25', +'zmm26', +'zmm27', +'zmm28', +'zmm29', +'zmm30', +'zmm31', +'k0', +'k1', +'k2', +'k3', +'k4', +'k5', +'k6', +'k7' diff --git a/compiler/x86_64/r8664nor.inc b/compiler/x86_64/r8664nor.inc index fce6a32861..12879bbca4 100644 --- a/compiler/x86_64/r8664nor.inc +++ b/compiler/x86_64/r8664nor.inc @@ -1,2 +1,2 @@ { don't edit, this file is generated from x86reg.dat } -152 +224 diff --git a/compiler/x86_64/r8664num.inc b/compiler/x86_64/r8664num.inc index e389770371..c066dc0173 100644 --- a/compiler/x86_64/r8664num.inc +++ b/compiler/x86_64/r8664num.inc @@ -135,6 +135,22 @@ tregister($040C000c), tregister($040C000d), tregister($040C000e), tregister($040C000f), +tregister($040C0010), +tregister($040C0011), +tregister($040C0012), +tregister($040C0013), +tregister($040C0014), +tregister($040C0015), +tregister($040C0016), +tregister($040C0017), +tregister($040C0018), +tregister($040C0019), +tregister($040C001A), +tregister($040C001B), +tregister($040C001C), +tregister($040C001D), +tregister($040C001E), +tregister($040C001F), tregister($040D0000), tregister($040D0001), tregister($040D0002), @@ -150,4 +166,60 @@ tregister($040D000b), tregister($040D000c), tregister($040D000d), tregister($040D000e), -tregister($040D000f) +tregister($040D000f), +tregister($040D0010), +tregister($040D0011), +tregister($040D0012), +tregister($040D0013), +tregister($040D0014), +tregister($040D0015), +tregister($040D0016), +tregister($040D0017), +tregister($040D0018), +tregister($040D0019), +tregister($040D001a), +tregister($040D001b), +tregister($040D001c), +tregister($040D001d), +tregister($040D001e), +tregister($040D001f), +tregister($040E0000), +tregister($040E0001), +tregister($040E0002), +tregister($040E0003), +tregister($040E0004), +tregister($040E0005), +tregister($040E0006), +tregister($040E0007), +tregister($040E0008), +tregister($040E0009), +tregister($040E000A), +tregister($040E000B), +tregister($040E000C), +tregister($040E000D), +tregister($040E000E), +tregister($040E000F), +tregister($040E0010), +tregister($040E0011), +tregister($040E0012), +tregister($040E0013), +tregister($040E0014), +tregister($040E0015), +tregister($040E0016), +tregister($040E0017), +tregister($040E0018), +tregister($040E0019), +tregister($040E001A), +tregister($040E001B), +tregister($040E001C), +tregister($040E001D), +tregister($040E001E), +tregister($040E001F), +tregister($06000000), +tregister($06000001), +tregister($06000002), +tregister($06000003), +tregister($06000004), +tregister($06000005), +tregister($06000006), +tregister($06000007) diff --git a/compiler/x86_64/r8664ot.inc b/compiler/x86_64/r8664ot.inc index 86cea26bae..8262361f69 100644 --- a/compiler/x86_64/r8664ot.inc +++ b/compiler/x86_64/r8664ot.inc @@ -135,6 +135,39 @@ OT_XMMREG, OT_XMMREG, OT_XMMREG, OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_XMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, +OT_YMMREG, OT_YMMREG, OT_YMMREG, OT_YMMREG, @@ -150,4 +183,43 @@ OT_YMMREG, OT_YMMREG, OT_YMMREG, OT_YMMREG, -OT_YMMREG +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_ZMMREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG, +OT_KREG diff --git a/compiler/x86_64/r8664rni.inc b/compiler/x86_64/r8664rni.inc index d826b3e194..ebf55926fa 100644 --- a/compiler/x86_64/r8664rni.inc +++ b/compiler/x86_64/r8664rni.inc @@ -117,6 +117,70 @@ 149, 150, 151, +152, +153, +154, +155, +156, +157, +158, +159, +160, +161, +162, +163, +164, +165, +166, +167, +168, +169, +170, +171, +172, +173, +174, +175, +176, +177, +178, +179, +180, +181, +182, +183, +184, +185, +186, +187, +188, +189, +190, +191, +192, +193, +194, +195, +196, +197, +198, +199, +200, +201, +202, +203, +204, +205, +206, +207, +208, +209, +210, +211, +212, +213, +214, +215, 69, 70, 71, @@ -150,4 +214,12 @@ 82, 83, 84, -85 +85, +216, +217, +218, +219, +220, +221, +222, +223 diff --git a/compiler/x86_64/r8664sri.inc b/compiler/x86_64/r8664sri.inc index aa7503d5cd..3f48baa79f 100644 --- a/compiler/x86_64/r8664sri.inc +++ b/compiler/x86_64/r8664sri.inc @@ -46,6 +46,14 @@ 73, 74, 84, +216, +217, +218, +219, +220, +221, +222, +223, 112, 113, 114, @@ -126,28 +134,92 @@ 133, 134, 135, -122, -123, -124, -125, -126, -127, -128, -129, 136, 137, -146, -147, -148, -149, -150, -151, 138, 139, +122, 140, 141, 142, 143, 144, 145, -81 +146, +147, +148, +149, +123, +150, +151, +124, +125, +126, +127, +128, +129, +152, +153, +162, +163, +164, +165, +166, +167, +168, +169, +170, +171, +154, +172, +173, +174, +175, +176, +177, +178, +179, +180, +181, +155, +182, +183, +156, +157, +158, +159, +160, +161, +81, +184, +185, +194, +195, +196, +197, +198, +199, +200, +201, +202, +203, +186, +204, +205, +206, +207, +208, +209, +210, +211, +212, +213, +187, +214, +215, +188, +189, +190, +191, +192, +193 diff --git a/compiler/x86_64/r8664stab.inc b/compiler/x86_64/r8664stab.inc index 6687449748..a391385c06 100644 --- a/compiler/x86_64/r8664stab.inc +++ b/compiler/x86_64/r8664stab.inc @@ -135,6 +135,22 @@ 30, 31, 32, +67, +68, +69, +70, +71, +72, +73, +74, +75, +76, +77, +78, +79, +80, +81, +82, 17, 18, 19, @@ -150,4 +166,60 @@ 29, 30, 31, -32 +32, +67, +68, +69, +70, +71, +72, +73, +74, +75, +76, +77, +78, +79, +80, +81, +82, +17, +18, +19, +20, +21, +22, +23, +24, +25, +26, +27, +28, +29, +30, +31, +32, +67, +68, +69, +70, +71, +72, +73, +74, +75, +76, +77, +78, +79, +80, +81, +82, +118, +119, +120, +121, +122, +123, +124, +125 diff --git a/compiler/x86_64/r8664std.inc b/compiler/x86_64/r8664std.inc index 94ef60f4db..4d992d153d 100644 --- a/compiler/x86_64/r8664std.inc +++ b/compiler/x86_64/r8664std.inc @@ -135,6 +135,22 @@ 'xmm13', 'xmm14', 'xmm15', +'xmm16', +'xmm17', +'xmm18', +'xmm19', +'xmm20', +'xmm21', +'xmm22', +'xmm23', +'xmm24', +'xmm25', +'xmm26', +'xmm27', +'xmm28', +'xmm29', +'xmm30', +'xmm31', 'ymm0', 'ymm1', 'ymm2', @@ -150,4 +166,60 @@ 'ymm12', 'ymm13', 'ymm14', -'ymm15' +'ymm15', +'ymm16', +'ymm17', +'ymm18', +'ymm19', +'ymm20', +'ymm21', +'ymm22', +'ymm23', +'ymm24', +'ymm25', +'ymm26', +'ymm27', +'ymm28', +'ymm29', +'ymm30', +'ymm31', +'zmm0', +'zmm1', +'zmm2', +'zmm3', +'zmm4', +'zmm5', +'zmm6', +'zmm7', +'zmm8', +'zmm9', +'zmm10', +'zmm11', +'zmm12', +'zmm13', +'zmm14', +'zmm15', +'zmm16', +'zmm17', +'zmm18', +'zmm19', +'zmm20', +'zmm21', +'zmm22', +'zmm23', +'zmm24', +'zmm25', +'zmm26', +'zmm27', +'zmm28', +'zmm29', +'zmm30', +'zmm31', +'k0', +'k1', +'k2', +'k3', +'k4', +'k5', +'k6', +'k7' diff --git a/compiler/x86_64/x8664ats.inc b/compiler/x86_64/x8664ats.inc index 66480db0a4..2882fd47c5 100644 --- a/compiler/x86_64/x8664ats.inc +++ b/compiler/x86_64/x8664ats.inc @@ -783,6 +783,8 @@ attsufNONE, attsufNONE, attsufNONE, attsufNONE, +attsufNONE, +attsufNONE, attsufINT, attsufINT, attsufNONE, @@ -1119,5 +1121,283 @@ attsufNONE, attsufNONE, attsufNONE, attsufNONE, -attsufINT +attsufINT, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE, +attsufNONE ); diff --git a/compiler/x86_64/x8664att.inc b/compiler/x86_64/x8664att.inc index a12456dd19..c604963f4c 100644 --- a/compiler/x86_64/x8664att.inc +++ b/compiler/x86_64/x8664att.inc @@ -779,8 +779,10 @@ 'vcvtdq2ps', 'vcvtpd2dq', 'vcvtpd2ps', +'vcvtph2ps', 'vcvtps2dq', 'vcvtps2pd', +'vcvtps2ph', 'vcvtsd2si', 'vcvtsd2ss', 'vcvtsi2sd', @@ -1049,66 +1051,66 @@ 'vpgatherdq', 'vpgatherqd', 'vpgatherqq', -'vfmadd132pd', -'vfmadd213pd', -'vfmadd231pd', 'vfmaddpd', +'vfmadd132pd', 'vfmadd132ps', -'vfmadd213ps', -'vfmadd231ps', 'vfmadd132sd', -'vfmadd213sd', -'vfmadd231sd', 'vfmadd132ss', +'vfmadd213pd', +'vfmadd213ps', +'vfmadd213sd', 'vfmadd213ss', +'vfmadd231pd', +'vfmadd231ps', +'vfmadd231sd', 'vfmadd231ss', 'vfmaddsub132pd', -'vfmaddsub213pd', -'vfmaddsub231pd', 'vfmaddsub132ps', +'vfmaddsub213pd', 'vfmaddsub213ps', +'vfmaddsub231pd', 'vfmaddsub231ps', -'vfmsubadd132pd', -'vfmsubadd213pd', -'vfmsubadd231pd', -'vfmsubadd132ps', -'vfmsubadd213ps', -'vfmsubadd231ps', 'vfmsub132pd', -'vfmsub213pd', -'vfmsub231pd', 'vfmsub132ps', -'vfmsub213ps', -'vfmsub231ps', 'vfmsub132sd', -'vfmsub213sd', -'vfmsub231sd', 'vfmsub132ss', +'vfmsub213pd', +'vfmsub213ps', +'vfmsub213sd', 'vfmsub213ss', +'vfmsub231pd', +'vfmsub231ps', +'vfmsub231sd', 'vfmsub231ss', +'vfmsubadd132pd', +'vfmsubadd132ps', +'vfmsubadd213pd', +'vfmsubadd213ps', +'vfmsubadd231pd', +'vfmsubadd231ps', 'vfnmadd132pd', -'vfnmadd213pd', -'vfnmadd231pd', 'vfnmadd132ps', -'vfnmadd213ps', -'vfnmadd231ps', 'vfnmadd132sd', -'vfnmadd213sd', -'vfnmadd231sd', 'vfnmadd132ss', +'vfnmadd213pd', +'vfnmadd213ps', +'vfnmadd213sd', 'vfnmadd213ss', +'vfnmadd231pd', +'vfnmadd231ps', +'vfnmadd231sd', 'vfnmadd231ss', 'vfnmsub132pd', -'vfnmsub213pd', -'vfnmsub231pd', 'vfnmsub132ps', -'vfnmsub213ps', -'vfnmsub231ps', 'vfnmsub132sd', -'vfnmsub213sd', -'vfnmsub231sd', 'vfnmsub132ss', +'vfnmsub213pd', +'vfnmsub213ps', +'vfnmsub213sd', 'vfnmsub213ss', +'vfnmsub231pd', +'vfnmsub231ps', +'vfnmsub231sd', 'vfnmsub231ss', 'xacquire', 'xrelease', @@ -1119,5 +1121,283 @@ 'rdrand', 'rdseed', 'xgetbv', -'prefetchwt1' +'prefetchwt1', +'kaddb', +'kaddd', +'kaddq', +'kaddw', +'kandb', +'kandd', +'kandnb', +'kandnd', +'kandnq', +'kandnw', +'kandq', +'kandw', +'kmovb', +'kmovd', +'kmovq', +'kmovw', +'knotb', +'knotd', +'knotq', +'knotw', +'korb', +'kord', +'korq', +'kortestb', +'kortestd', +'kortestq', +'kortestw', +'korw', +'kshiftlb', +'kshiftld', +'kshiftlq', +'kshiftlw', +'kshiftrb', +'kshiftrd', +'kshiftrq', +'kshiftrw', +'ktestb', +'ktestd', +'ktestq', +'ktestw', +'kunpckbw', +'kunpckdq', +'kunpckwd', +'kxnorb', +'kxnord', +'kxnorq', +'kxnorw', +'kxorb', +'kxord', +'kxorq', +'kxorw', +'valignd', +'valignq', +'vblendmpd', +'vblendmps', +'vbroadcastf32x2', +'vbroadcastf32x4', +'vbroadcastf32x8', +'vbroadcastf64x2', +'vbroadcastf64x4', +'vbroadcasti32x2', +'vbroadcasti32x4', +'vbroadcasti32x8', +'vbroadcasti64x2', +'vbroadcasti64x4', +'vcompresspd', +'vcompressps', +'vcvtpd2qq', +'vcvtpd2udq', +'vcvtpd2uqq', +'vcvtps2qq', +'vcvtps2udq', +'vcvtps2uqq', +'vcvtqq2pd', +'vcvtqq2ps', +'vcvtsd2usi', +'vcvtss2usi', +'vcvttpd2qq', +'vcvttpd2udq', +'vcvttpd2uqq', +'vcvttps2qq', +'vcvttps2udq', +'vcvttps2uqq', +'vcvttsd2usi', +'vcvttss2usi', +'vcvtudq2pd', +'vcvtudq2ps', +'vcvtuqq2pd', +'vcvtuqq2ps', +'vcvtusi2sd', +'vcvtusi2ss', +'vdbpsadbw', +'vexp2pd', +'vexp2ps', +'vexpandpd', +'vexpandps', +'vextractf32x4', +'vextractf32x8', +'vextractf64x2', +'vextractf64x4', +'vextracti32x4', +'vextracti32x8', +'vextracti64x2', +'vextracti64x4', +'vfixupimmpd', +'vfixupimmps', +'vfixupimmsd', +'vfixupimmss', +'vfpclasspd', +'vfpclassps', +'vfpclasssd', +'vfpclassss', +'vgetexppd', +'vgetexpps', +'vgetexpsd', +'vgetexpss', +'vgetmantpd', +'vgetmantps', +'vgetmantsd', +'vgetmantss', +'vinsertf32x4', +'vinsertf32x8', +'vinsertf64x2', +'vinsertf64x4', +'vinserti32x4', +'vinserti32x8', +'vinserti64x2', +'vinserti64x4', +'vmovdqa32', +'vmovdqa64', +'vmovdqu16', +'vmovdqu32', +'vmovdqu64', +'vmovdqu8', +'vpabsq', +'vpandd', +'vpandnd', +'vpandnq', +'vpandq', +'vpblendmb', +'vpblendmd', +'vpblendmq', +'vpblendmw', +'vpcmpb', +'vpcmpd', +'vpcmpq', +'vpcmpub', +'vpcmpud', +'vpcmpuq', +'vpcmpuw', +'vpcmpw', +'vpcompressd', +'vpcompressq', +'vpconflictd', +'vpconflictq', +'vpermb', +'vpermi2b', +'vpermi2d', +'vpermi2pd', +'vpermi2ps', +'vpermi2q', +'vpermi2w', +'vpermt2b', +'vpermt2d', +'vpermt2pd', +'vpermt2ps', +'vpermt2q', +'vpermt2w', +'vpermw', +'vpexpandd', +'vpexpandq', +'vplzcntd', +'vplzcntq', +'vpmadd52huq', +'vpmadd52luq', +'vpmaxsq', +'vpmaxuq', +'vpminsq', +'vpminuq', +'vpmovb2m', +'vpmovd2m', +'vpmovdb', +'vpmovdw', +'vpmovm2b', +'vpmovm2d', +'vpmovm2q', +'vpmovm2w', +'vpmovq2m', +'vpmovqb', +'vpmovqd', +'vpmovqw', +'vpmovsdb', +'vpmovsdw', +'vpmovsqb', +'vpmovsqd', +'vpmovsqw', +'vpmovswb', +'vpmovusdb', +'vpmovusdw', +'vpmovusqb', +'vpmovusqd', +'vpmovusqw', +'vpmovuswb', +'vpmovw2m', +'vpmovwb', +'vpmullq', +'vpmultishiftqb', +'vpord', +'vporq', +'vprold', +'vprolq', +'vprolvd', +'vprolvq', +'vprord', +'vprorq', +'vprorvd', +'vprorvq', +'vpscatterdd', +'vpscatterdq', +'vpscatterqd', +'vpscatterqq', +'vpsllvw', +'vpsraq', +'vpsravq', +'vpsravw', +'vpsrlvw', +'vpternlogd', +'vpternlogq', +'vptestmb', +'vptestmd', +'vptestmq', +'vptestmw', +'vptestnmb', +'vptestnmd', +'vptestnmq', +'vptestnmw', +'vpxord', +'vpxorq', +'vrangepd', +'vrangeps', +'vrangesd', +'vrangess', +'vrcp14pd', +'vrcp14ps', +'vrcp14sd', +'vrcp14ss', +'vrcp28pd', +'vrcp28ps', +'vrcp28sd', +'vrcp28ss', +'vreducepd', +'vreduceps', +'vreducesd', +'vreducess', +'vrndscalepd', +'vrndscaleps', +'vrndscalesd', +'vrndscaless', +'vrsqrt14pd', +'vrsqrt14ps', +'vrsqrt14sd', +'vrsqrt14ss', +'vrsqrt28pd', +'vrsqrt28ps', +'vrsqrt28sd', +'vrsqrt28ss', +'vscalefpd', +'vscalefps', +'vscalefsd', +'vscalefss', +'vscatterdpd', +'vscatterdps', +'vscatterqpd', +'vscatterqps', +'vshuff32x4', +'vshuff64x2', +'vshufi32x4', +'vshufi64x2' ); diff --git a/compiler/x86_64/x8664int.inc b/compiler/x86_64/x8664int.inc index b251e8f145..3319b851ea 100644 --- a/compiler/x86_64/x8664int.inc +++ b/compiler/x86_64/x8664int.inc @@ -779,8 +779,10 @@ 'vcvtdq2ps', 'vcvtpd2dq', 'vcvtpd2ps', +'vcvtph2ps', 'vcvtps2dq', 'vcvtps2pd', +'vcvtps2ph', 'vcvtsd2si', 'vcvtsd2ss', 'vcvtsi2sd', @@ -1049,66 +1051,66 @@ 'vpgatherdq', 'vpgatherqd', 'vpgatherqq', -'vfmadd132pd', -'vfmadd213pd', -'vfmadd231pd', 'vfmaddpd', +'vfmadd132pd', 'vfmadd132ps', -'vfmadd213ps', -'vfmadd231ps', 'vfmadd132sd', -'vfmadd213sd', -'vfmadd231sd', 'vfmadd132ss', +'vfmadd213pd', +'vfmadd213ps', +'vfmadd213sd', 'vfmadd213ss', +'vfmadd231pd', +'vfmadd231ps', +'vfmadd231sd', 'vfmadd231ss', 'vfmaddsub132pd', -'vfmaddsub213pd', -'vfmaddsub231pd', 'vfmaddsub132ps', +'vfmaddsub213pd', 'vfmaddsub213ps', +'vfmaddsub231pd', 'vfmaddsub231ps', -'vfmsubadd132pd', -'vfmsubadd213pd', -'vfmsubadd231pd', -'vfmsubadd132ps', -'vfmsubadd213ps', -'vfmsubadd231ps', 'vfmsub132pd', -'vfmsub213pd', -'vfmsub231pd', 'vfmsub132ps', -'vfmsub213ps', -'vfmsub231ps', 'vfmsub132sd', -'vfmsub213sd', -'vfmsub231sd', 'vfmsub132ss', +'vfmsub213pd', +'vfmsub213ps', +'vfmsub213sd', 'vfmsub213ss', +'vfmsub231pd', +'vfmsub231ps', +'vfmsub231sd', 'vfmsub231ss', +'vfmsubadd132pd', +'vfmsubadd132ps', +'vfmsubadd213pd', +'vfmsubadd213ps', +'vfmsubadd231pd', +'vfmsubadd231ps', 'vfnmadd132pd', -'vfnmadd213pd', -'vfnmadd231pd', 'vfnmadd132ps', -'vfnmadd213ps', -'vfnmadd231ps', 'vfnmadd132sd', -'vfnmadd213sd', -'vfnmadd231sd', 'vfnmadd132ss', +'vfnmadd213pd', +'vfnmadd213ps', +'vfnmadd213sd', 'vfnmadd213ss', +'vfnmadd231pd', +'vfnmadd231ps', +'vfnmadd231sd', 'vfnmadd231ss', 'vfnmsub132pd', -'vfnmsub213pd', -'vfnmsub231pd', 'vfnmsub132ps', -'vfnmsub213ps', -'vfnmsub231ps', 'vfnmsub132sd', -'vfnmsub213sd', -'vfnmsub231sd', 'vfnmsub132ss', +'vfnmsub213pd', +'vfnmsub213ps', +'vfnmsub213sd', 'vfnmsub213ss', +'vfnmsub231pd', +'vfnmsub231ps', +'vfnmsub231sd', 'vfnmsub231ss', 'xacquire', 'xrelease', @@ -1119,5 +1121,283 @@ 'rdrand', 'rdseed', 'xgetbv', -'prefetchwt1' +'prefetchwt1', +'kaddb', +'kaddd', +'kaddq', +'kaddw', +'kandb', +'kandd', +'kandnb', +'kandnd', +'kandnq', +'kandnw', +'kandq', +'kandw', +'kmovb', +'kmovd', +'kmovq', +'kmovw', +'knotb', +'knotd', +'knotq', +'knotw', +'korb', +'kord', +'korq', +'kortestb', +'kortestd', +'kortestq', +'kortestw', +'korw', +'kshiftlb', +'kshiftld', +'kshiftlq', +'kshiftlw', +'kshiftrb', +'kshiftrd', +'kshiftrq', +'kshiftrw', +'ktestb', +'ktestd', +'ktestq', +'ktestw', +'kunpckbw', +'kunpckdq', +'kunpckwd', +'kxnorb', +'kxnord', +'kxnorq', +'kxnorw', +'kxorb', +'kxord', +'kxorq', +'kxorw', +'valignd', +'valignq', +'vblendmpd', +'vblendmps', +'vbroadcastf32x2', +'vbroadcastf32x4', +'vbroadcastf32x8', +'vbroadcastf64x2', +'vbroadcastf64x4', +'vbroadcasti32x2', +'vbroadcasti32x4', +'vbroadcasti32x8', +'vbroadcasti64x2', +'vbroadcasti64x4', +'vcompresspd', +'vcompressps', +'vcvtpd2qq', +'vcvtpd2udq', +'vcvtpd2uqq', +'vcvtps2qq', +'vcvtps2udq', +'vcvtps2uqq', +'vcvtqq2pd', +'vcvtqq2ps', +'vcvtsd2usi', +'vcvtss2usi', +'vcvttpd2qq', +'vcvttpd2udq', +'vcvttpd2uqq', +'vcvttps2qq', +'vcvttps2udq', +'vcvttps2uqq', +'vcvttsd2usi', +'vcvttss2usi', +'vcvtudq2pd', +'vcvtudq2ps', +'vcvtuqq2pd', +'vcvtuqq2ps', +'vcvtusi2sd', +'vcvtusi2ss', +'vdbpsadbw', +'vexp2pd', +'vexp2ps', +'vexpandpd', +'vexpandps', +'vextractf32x4', +'vextractf32x8', +'vextractf64x2', +'vextractf64x4', +'vextracti32x4', +'vextracti32x8', +'vextracti64x2', +'vextracti64x4', +'vfixupimmpd', +'vfixupimmps', +'vfixupimmsd', +'vfixupimmss', +'vfpclasspd', +'vfpclassps', +'vfpclasssd', +'vfpclassss', +'vgetexppd', +'vgetexpps', +'vgetexpsd', +'vgetexpss', +'vgetmantpd', +'vgetmantps', +'vgetmantsd', +'vgetmantss', +'vinsertf32x4', +'vinsertf32x8', +'vinsertf64x2', +'vinsertf64x4', +'vinserti32x4', +'vinserti32x8', +'vinserti64x2', +'vinserti64x4', +'vmovdqa32', +'vmovdqa64', +'vmovdqu16', +'vmovdqu32', +'vmovdqu64', +'vmovdqu8', +'vpabsq', +'vpandd', +'vpandnd', +'vpandnq', +'vpandq', +'vpblendmb', +'vpblendmd', +'vpblendmq', +'vpblendmw', +'vpcmpb', +'vpcmpd', +'vpcmpq', +'vpcmpub', +'vpcmpud', +'vpcmpuq', +'vpcmpuw', +'vpcmpw', +'vpcompressd', +'vpcompressq', +'vpconflictd', +'vpconflictq', +'vpermb', +'vpermi2b', +'vpermi2d', +'vpermi2pd', +'vpermi2ps', +'vpermi2q', +'vpermi2w', +'vpermt2b', +'vpermt2d', +'vpermt2pd', +'vpermt2ps', +'vpermt2q', +'vpermt2w', +'vpermw', +'vpexpandd', +'vpexpandq', +'vplzcntd', +'vplzcntq', +'vpmadd52huq', +'vpmadd52luq', +'vpmaxsq', +'vpmaxuq', +'vpminsq', +'vpminuq', +'vpmovb2m', +'vpmovd2m', +'vpmovdb', +'vpmovdw', +'vpmovm2b', +'vpmovm2d', +'vpmovm2q', +'vpmovm2w', +'vpmovq2m', +'vpmovqb', +'vpmovqd', +'vpmovqw', +'vpmovsdb', +'vpmovsdw', +'vpmovsqb', +'vpmovsqd', +'vpmovsqw', +'vpmovswb', +'vpmovusdb', +'vpmovusdw', +'vpmovusqb', +'vpmovusqd', +'vpmovusqw', +'vpmovuswb', +'vpmovw2m', +'vpmovwb', +'vpmullq', +'vpmultishiftqb', +'vpord', +'vporq', +'vprold', +'vprolq', +'vprolvd', +'vprolvq', +'vprord', +'vprorq', +'vprorvd', +'vprorvq', +'vpscatterdd', +'vpscatterdq', +'vpscatterqd', +'vpscatterqq', +'vpsllvw', +'vpsraq', +'vpsravq', +'vpsravw', +'vpsrlvw', +'vpternlogd', +'vpternlogq', +'vptestmb', +'vptestmd', +'vptestmq', +'vptestmw', +'vptestnmb', +'vptestnmd', +'vptestnmq', +'vptestnmw', +'vpxord', +'vpxorq', +'vrangepd', +'vrangeps', +'vrangesd', +'vrangess', +'vrcp14pd', +'vrcp14ps', +'vrcp14sd', +'vrcp14ss', +'vrcp28pd', +'vrcp28ps', +'vrcp28sd', +'vrcp28ss', +'vreducepd', +'vreduceps', +'vreducesd', +'vreducess', +'vrndscalepd', +'vrndscaleps', +'vrndscalesd', +'vrndscaless', +'vrsqrt14pd', +'vrsqrt14ps', +'vrsqrt14sd', +'vrsqrt14ss', +'vrsqrt28pd', +'vrsqrt28ps', +'vrsqrt28sd', +'vrsqrt28ss', +'vscalefpd', +'vscalefps', +'vscalefsd', +'vscalefss', +'vscatterdpd', +'vscatterdps', +'vscatterqpd', +'vscatterqps', +'vshuff32x4', +'vshuff64x2', +'vshufi32x4', +'vshufi64x2' ); diff --git a/compiler/x86_64/x8664nop.inc b/compiler/x86_64/x8664nop.inc index b87615cd0e..9ae12e45f6 100644 --- a/compiler/x86_64/x8664nop.inc +++ b/compiler/x86_64/x8664nop.inc @@ -1,2 +1,2 @@ { don't edit, this file is generated from x86ins.dat } -2191; +4117; diff --git a/compiler/x86_64/x8664op.inc b/compiler/x86_64/x8664op.inc index 91f9c2e5b7..6128a6619e 100644 --- a/compiler/x86_64/x8664op.inc +++ b/compiler/x86_64/x8664op.inc @@ -779,8 +779,10 @@ A_VCVTDQ2PD, A_VCVTDQ2PS, A_VCVTPD2DQ, A_VCVTPD2PS, +A_VCVTPH2PS, A_VCVTPS2DQ, A_VCVTPS2PD, +A_VCVTPS2PH, A_VCVTSD2SI, A_VCVTSD2SS, A_VCVTSI2SD, @@ -1049,66 +1051,66 @@ A_VPGATHERDD, A_VPGATHERDQ, A_VPGATHERQD, A_VPGATHERQQ, -A_VFMADD132PD, -A_VFMADD213PD, -A_VFMADD231PD, A_VFMADDPD, +A_VFMADD132PD, A_VFMADD132PS, -A_VFMADD213PS, -A_VFMADD231PS, A_VFMADD132SD, -A_VFMADD213SD, -A_VFMADD231SD, A_VFMADD132SS, +A_VFMADD213PD, +A_VFMADD213PS, +A_VFMADD213SD, A_VFMADD213SS, +A_VFMADD231PD, +A_VFMADD231PS, +A_VFMADD231SD, A_VFMADD231SS, A_VFMADDSUB132PD, -A_VFMADDSUB213PD, -A_VFMADDSUB231PD, A_VFMADDSUB132PS, +A_VFMADDSUB213PD, A_VFMADDSUB213PS, +A_VFMADDSUB231PD, A_VFMADDSUB231PS, -A_VFMSUBADD132PD, -A_VFMSUBADD213PD, -A_VFMSUBADD231PD, -A_VFMSUBADD132PS, -A_VFMSUBADD213PS, -A_VFMSUBADD231PS, A_VFMSUB132PD, -A_VFMSUB213PD, -A_VFMSUB231PD, A_VFMSUB132PS, -A_VFMSUB213PS, -A_VFMSUB231PS, A_VFMSUB132SD, -A_VFMSUB213SD, -A_VFMSUB231SD, A_VFMSUB132SS, +A_VFMSUB213PD, +A_VFMSUB213PS, +A_VFMSUB213SD, A_VFMSUB213SS, +A_VFMSUB231PD, +A_VFMSUB231PS, +A_VFMSUB231SD, A_VFMSUB231SS, +A_VFMSUBADD132PD, +A_VFMSUBADD132PS, +A_VFMSUBADD213PD, +A_VFMSUBADD213PS, +A_VFMSUBADD231PD, +A_VFMSUBADD231PS, A_VFNMADD132PD, -A_VFNMADD213PD, -A_VFNMADD231PD, A_VFNMADD132PS, -A_VFNMADD213PS, -A_VFNMADD231PS, A_VFNMADD132SD, -A_VFNMADD213SD, -A_VFNMADD231SD, A_VFNMADD132SS, +A_VFNMADD213PD, +A_VFNMADD213PS, +A_VFNMADD213SD, A_VFNMADD213SS, +A_VFNMADD231PD, +A_VFNMADD231PS, +A_VFNMADD231SD, A_VFNMADD231SS, A_VFNMSUB132PD, -A_VFNMSUB213PD, -A_VFNMSUB231PD, A_VFNMSUB132PS, -A_VFNMSUB213PS, -A_VFNMSUB231PS, A_VFNMSUB132SD, -A_VFNMSUB213SD, -A_VFNMSUB231SD, A_VFNMSUB132SS, +A_VFNMSUB213PD, +A_VFNMSUB213PS, +A_VFNMSUB213SD, A_VFNMSUB213SS, +A_VFNMSUB231PD, +A_VFNMSUB231PS, +A_VFNMSUB231SD, A_VFNMSUB231SS, A_XACQUIRE, A_XRELEASE, @@ -1119,5 +1121,283 @@ A_XTEST, A_RDRAND, A_RDSEED, A_XGETBV, -A_PREFETCHWT1 +A_PREFETCHWT1, +A_KADDB, +A_KADDD, +A_KADDQ, +A_KADDW, +A_KANDB, +A_KANDD, +A_KANDNB, +A_KANDND, +A_KANDNQ, +A_KANDNW, +A_KANDQ, +A_KANDW, +A_KMOVB, +A_KMOVD, +A_KMOVQ, +A_KMOVW, +A_KNOTB, +A_KNOTD, +A_KNOTQ, +A_KNOTW, +A_KORB, +A_KORD, +A_KORQ, +A_KORTESTB, +A_KORTESTD, +A_KORTESTQ, +A_KORTESTW, +A_KORW, +A_KSHIFTLB, +A_KSHIFTLD, +A_KSHIFTLQ, +A_KSHIFTLW, +A_KSHIFTRB, +A_KSHIFTRD, +A_KSHIFTRQ, +A_KSHIFTRW, +A_KTESTB, +A_KTESTD, +A_KTESTQ, +A_KTESTW, +A_KUNPCKBW, +A_KUNPCKDQ, +A_KUNPCKWD, +A_KXNORB, +A_KXNORD, +A_KXNORQ, +A_KXNORW, +A_KXORB, +A_KXORD, +A_KXORQ, +A_KXORW, +A_VALIGND, +A_VALIGNQ, +A_VBLENDMPD, +A_VBLENDMPS, +A_VBROADCASTF32X2, +A_VBROADCASTF32X4, +A_VBROADCASTF32X8, +A_VBROADCASTF64X2, +A_VBROADCASTF64X4, +A_VBROADCASTI32X2, +A_VBROADCASTI32X4, +A_VBROADCASTI32X8, +A_VBROADCASTI64X2, +A_VBROADCASTI64X4, +A_VCOMPRESSPD, +A_VCOMPRESSPS, +A_VCVTPD2QQ, +A_VCVTPD2UDQ, +A_VCVTPD2UQQ, +A_VCVTPS2QQ, +A_VCVTPS2UDQ, +A_VCVTPS2UQQ, +A_VCVTQQ2PD, +A_VCVTQQ2PS, +A_VCVTSD2USI, +A_VCVTSS2USI, +A_VCVTTPD2QQ, +A_VCVTTPD2UDQ, +A_VCVTTPD2UQQ, +A_VCVTTPS2QQ, +A_VCVTTPS2UDQ, +A_VCVTTPS2UQQ, +A_VCVTTSD2USI, +A_VCVTTSS2USI, +A_VCVTUDQ2PD, +A_VCVTUDQ2PS, +A_VCVTUQQ2PD, +A_VCVTUQQ2PS, +A_VCVTUSI2SD, +A_VCVTUSI2SS, +A_VDBPSADBW, +A_VEXP2PD, +A_VEXP2PS, +A_VEXPANDPD, +A_VEXPANDPS, +A_VEXTRACTF32X4, +A_VEXTRACTF32X8, +A_VEXTRACTF64X2, +A_VEXTRACTF64X4, +A_VEXTRACTI32X4, +A_VEXTRACTI32X8, +A_VEXTRACTI64X2, +A_VEXTRACTI64X4, +A_VFIXUPIMMPD, +A_VFIXUPIMMPS, +A_VFIXUPIMMSD, +A_VFIXUPIMMSS, +A_VFPCLASSPD, +A_VFPCLASSPS, +A_VFPCLASSSD, +A_VFPCLASSSS, +A_VGETEXPPD, +A_VGETEXPPS, +A_VGETEXPSD, +A_VGETEXPSS, +A_VGETMANTPD, +A_VGETMANTPS, +A_VGETMANTSD, +A_VGETMANTSS, +A_VINSERTF32X4, +A_VINSERTF32X8, +A_VINSERTF64X2, +A_VINSERTF64X4, +A_VINSERTI32X4, +A_VINSERTI32X8, +A_VINSERTI64X2, +A_VINSERTI64X4, +A_VMOVDQA32, +A_VMOVDQA64, +A_VMOVDQU16, +A_VMOVDQU32, +A_VMOVDQU64, +A_VMOVDQU8, +A_VPABSQ, +A_VPANDD, +A_VPANDND, +A_VPANDNQ, +A_VPANDQ, +A_VPBLENDMB, +A_VPBLENDMD, +A_VPBLENDMQ, +A_VPBLENDMW, +A_VPCMPB, +A_VPCMPD, +A_VPCMPQ, +A_VPCMPUB, +A_VPCMPUD, +A_VPCMPUQ, +A_VPCMPUW, +A_VPCMPW, +A_VPCOMPRESSD, +A_VPCOMPRESSQ, +A_VPCONFLICTD, +A_VPCONFLICTQ, +A_VPERMB, +A_VPERMI2B, +A_VPERMI2D, +A_VPERMI2PD, +A_VPERMI2PS, +A_VPERMI2Q, +A_VPERMI2W, +A_VPERMT2B, +A_VPERMT2D, +A_VPERMT2PD, +A_VPERMT2PS, +A_VPERMT2Q, +A_VPERMT2W, +A_VPERMW, +A_VPEXPANDD, +A_VPEXPANDQ, +A_VPLZCNTD, +A_VPLZCNTQ, +A_VPMADD52HUQ, +A_VPMADD52LUQ, +A_VPMAXSQ, +A_VPMAXUQ, +A_VPMINSQ, +A_VPMINUQ, +A_VPMOVB2M, +A_VPMOVD2M, +A_VPMOVDB, +A_VPMOVDW, +A_VPMOVM2B, +A_VPMOVM2D, +A_VPMOVM2Q, +A_VPMOVM2W, +A_VPMOVQ2M, +A_VPMOVQB, +A_VPMOVQD, +A_VPMOVQW, +A_VPMOVSDB, +A_VPMOVSDW, +A_VPMOVSQB, +A_VPMOVSQD, +A_VPMOVSQW, +A_VPMOVSWB, +A_VPMOVUSDB, +A_VPMOVUSDW, +A_VPMOVUSQB, +A_VPMOVUSQD, +A_VPMOVUSQW, +A_VPMOVUSWB, +A_VPMOVW2M, +A_VPMOVWB, +A_VPMULLQ, +A_VPMULTISHIFTQB, +A_VPORD, +A_VPORQ, +A_VPROLD, +A_VPROLQ, +A_VPROLVD, +A_VPROLVQ, +A_VPRORD, +A_VPRORQ, +A_VPRORVD, +A_VPRORVQ, +A_VPSCATTERDD, +A_VPSCATTERDQ, +A_VPSCATTERQD, +A_VPSCATTERQQ, +A_VPSLLVW, +A_VPSRAQ, +A_VPSRAVQ, +A_VPSRAVW, +A_VPSRLVW, +A_VPTERNLOGD, +A_VPTERNLOGQ, +A_VPTESTMB, +A_VPTESTMD, +A_VPTESTMQ, +A_VPTESTMW, +A_VPTESTNMB, +A_VPTESTNMD, +A_VPTESTNMQ, +A_VPTESTNMW, +A_VPXORD, +A_VPXORQ, +A_VRANGEPD, +A_VRANGEPS, +A_VRANGESD, +A_VRANGESS, +A_VRCP14PD, +A_VRCP14PS, +A_VRCP14SD, +A_VRCP14SS, +A_VRCP28PD, +A_VRCP28PS, +A_VRCP28SD, +A_VRCP28SS, +A_VREDUCEPD, +A_VREDUCEPS, +A_VREDUCESD, +A_VREDUCESS, +A_VRNDSCALEPD, +A_VRNDSCALEPS, +A_VRNDSCALESD, +A_VRNDSCALESS, +A_VRSQRT14PD, +A_VRSQRT14PS, +A_VRSQRT14SD, +A_VRSQRT14SS, +A_VRSQRT28PD, +A_VRSQRT28PS, +A_VRSQRT28SD, +A_VRSQRT28SS, +A_VSCALEFPD, +A_VSCALEFPS, +A_VSCALEFSD, +A_VSCALEFSS, +A_VSCATTERDPD, +A_VSCATTERDPS, +A_VSCATTERQPD, +A_VSCATTERQPS, +A_VSHUFF32X4, +A_VSHUFF64X2, +A_VSHUFI32X4, +A_VSHUFI64X2 ); diff --git a/compiler/x86_64/x8664pro.inc b/compiler/x86_64/x8664pro.inc index 2611ff18d0..c2b515b760 100644 --- a/compiler/x86_64/x8664pro.inc +++ b/compiler/x86_64/x8664pro.inc @@ -783,6 +783,8 @@ (Ch: [Ch_Wop2, Ch_Rop1]), (Ch: [Ch_Wop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), +(Ch: [Ch_Wop2, Ch_Rop1]), +(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]), @@ -872,7 +874,7 @@ (Ch: [Ch_All]), (Ch: [Ch_All]), (Ch: [Ch_All]), -(Ch: [Ch_All]), +(Ch: [Ch_All, Ch_None]), (Ch: [Ch_All]), (Ch: [Ch_All]), (Ch: [Ch_All]), @@ -1119,5 +1121,283 @@ (Ch: [Ch_Wop1, Ch_WFlags]), (Ch: [Ch_Wop1, Ch_WFlags]), (Ch: [Ch_WEAX, Ch_WEDX, Ch_RECX]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), +(Ch: [Ch_All]), (Ch: [Ch_All]) ); diff --git a/compiler/x86_64/x8664tab.inc b/compiler/x86_64/x8664tab.inc index 5019f3849d..9f024689ad 100644 --- a/compiler/x86_64/x8664tab.inc +++ b/compiler/x86_64/x8664tab.inc @@ -9033,57 +9033,127 @@ ( opcode : A_VADDPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VADDPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#88#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#88#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VADDPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VADDPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#88#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#88#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VADDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#88#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VADDSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VADDSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#88#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#88#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VADDSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#88#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#88#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VADDSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#88#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#88#61#80; flags : [if_avx,if_sandybridge] ), ( @@ -9118,29 +9188,29 @@ opcode : A_VAESDEC; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#222#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#222#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESDECLAST; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#223#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#223#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESENC; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#220#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#220#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESENCLAST; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#221#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#221#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VAESIMC; @@ -9159,58 +9229,170 @@ ( opcode : A_VANDNPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDNPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#85#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VANDNPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDNPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#85#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#85#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#85#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDNPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#85#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VANDPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#84#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VANDPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VANDPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#84#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#84#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#84#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VANDPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#84#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VBLENDPD; @@ -9278,46 +9460,74 @@ ( opcode : A_VBROADCASTSD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#25#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#234#241#242#244#249#1#25#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VBROADCASTSD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#25#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#244#249#1#25#72; flags : [if_avx2] ), ( - opcode : A_VBROADCASTSS; + opcode : A_VBROADCASTSD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#24#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#234#241#249#1#25#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VBROADCASTSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#25#72; + flags : [if_avx512] ), ( opcode : A_VBROADCASTSS; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#24#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#24#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VBROADCASTSS; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#24#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#24#72; flags : [if_avx2] ), ( opcode : A_VBROADCASTSS; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#24#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#24#72; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VBROADCASTSS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#24#72; flags : [if_avx2] ), ( + opcode : A_VBROADCASTSS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#233#241#249#1#24#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VBROADCASTSS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#24#72; + flags : [if_avx512] + ), + ( opcode : A_VCMPEQPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); @@ -10216,6 +10426,55 @@ ( opcode : A_VCMPPD; ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPPD; + ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); code : #241#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] @@ -10230,6 +10489,55 @@ ( opcode : A_VCMPPS; ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#244#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#248#1#194#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCMPPS; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPPS; + ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); code : #242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] @@ -10244,28 +10552,56 @@ ( opcode : A_VCMPSD; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + optypes : (ot_kreg_m,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #220#232#234#248#1#194#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCMPSD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #220#232#234#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPSD; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); code : #220#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCMPSD; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); code : #220#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCMPSS; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + optypes : (ot_kreg_m,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #219#232#248#1#194#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCMPSS; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #219#232#248#1#194#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VCMPSS; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); code : #219#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCMPSS; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); code : #219#242#248#1#194#61#80#23; flags : [if_avx,if_sandybridge] ), @@ -10273,385 +10609,910 @@ opcode : A_VCOMISD; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#248#1#47#72; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#47#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VCOMISD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#47#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#234#241#242#248#1#47#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCOMISS; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #242#248#1#47#72; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#47#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VCOMISS; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#47#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#242#248#1#47#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #219#242#248#1#230#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #219#232#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_thv] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#242#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #219#242#244#248#1#230#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#248#1#230#72; + flags : [if_avx512,if_bcst2,if_thv] ), ( opcode : A_VCVTDQ2PD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none); - code : #219#242#244#248#1#230#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #219#232#242#244#248#1#230#72; + flags : [if_avx,if_sandybridge,if_thv] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#242#244#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#244#248#1#230#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #219#232#233#248#1#230#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #219#232#233#248#1#230#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#233#248#1#230#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( opcode : A_VCVTDQ2PS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#242#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VCVTDQ2PS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#242#244#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#248#1#91#72; + flags : [if_avx512] ), ( opcode : A_VCVTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #220#242#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #220#232#234#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #220#232#234#242#244#248#1#230#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#242#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none); - code : #220#242#244#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#248#1#230#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#244#248#1#230#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#234#242#244#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #220#232#233#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#233#234#248#1#230#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #220#232#233#234#248#1#230#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTPD2PS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#242#248#1#90#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#242#244#248#1#90#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPD2PS; ops : 2; - optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#90#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#90#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#90#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#90#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#90#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#19#72; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#19#72; + flags : [if_avx] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#19#72; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#19#72; + flags : [if_avx] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#19#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VCVTPH2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#19#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTPS2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#91#72; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#248#1#91#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPS2DQ; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#91#72; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#241#242#244#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#242#244#248#1#91#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#241#248#1#91#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTPS2PD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #242#248#1#90#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#242#248#1#90#72; + flags : [if_avx,if_sandybridge,if_thv] ), ( opcode : A_VCVTPS2PD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTPS2PD; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #242#244#248#1#90#72; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#90#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#242#244#248#1#90#72; + flags : [if_avx,if_sandybridge,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#244#248#1#90#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#90#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#248#1#90#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#248#1#90#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#90#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#250#1#29#65#22; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#29#65#22; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_mem64_m,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#29#65#22; + flags : [if_avx,if_thvm] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#29#65#22; + flags : [if_avx] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#250#1#29#65#22; + flags : [if_avx] + ), + ( + opcode : A_VCVTPS2PH; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#29#65#22; + flags : [if_avx512] + ), + ( opcode : A_VCVTSD2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #220#232#242#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTSD2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#45#72; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#242#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSD2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#243#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #220#232#234#242#243#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTSD2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #220#242#243#248#1#45#72; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#234#242#243#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSD2SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#90#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#90#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VCVTSD2SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#90#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#90#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSI2SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none); - code : #220#242#248#1#42#61#80; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none); + code : #220#232#242#248#1#42#61#80; flags : [if_avx,if_sandybridge,if_sd] ), ( opcode : A_VCVTSI2SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits64,ot_none); - code : #220#242#243#248#1#42#61#80; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #220#232#242#248#1#42#61#80; + flags : [if_avx,if_sandybridge,if_sd,if_t1s] + ), + ( + opcode : A_VCVTSI2SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg64,ot_none); + code : #220#232#234#242#243#248#1#42#61#80; flags : [if_avx,if_sandybridge,if_x86_64] ), ( + opcode : A_VCVTSI2SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#243#248#1#42#61#80; + flags : [if_avx,if_sandybridge,if_x86_64,if_t1s] + ), + ( opcode : A_VCVTSI2SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none); - code : #219#242#248#1#42#61#80; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none); + code : #219#232#242#248#1#42#61#80; flags : [if_avx,if_sandybridge,if_sd] ), ( opcode : A_VCVTSI2SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits64,ot_none); - code : #219#242#243#248#1#42#61#80; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#42#61#80; + flags : [if_avx,if_sandybridge,if_sd,if_t1s] + ), + ( + opcode : A_VCVTSI2SS; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg64,ot_none); + code : #219#232#234#242#243#248#1#42#61#80; flags : [if_avx,if_sandybridge,if_x86_64] ), ( + opcode : A_VCVTSI2SS; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_memory or ot_bits64,ot_none); + code : #219#232#234#242#243#248#1#42#61#80; + flags : [if_avx,if_sandybridge,if_x86_64,if_t1s] + ), + ( opcode : A_VCVTSS2SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#90#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#90#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VCVTSS2SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#90#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #219#232#242#248#1#90#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSS2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #219#232#242#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTSS2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#45#72; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#242#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTSS2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#243#248#1#45#72; - flags : [if_avx,if_sandybridge] + code : #219#232#234#242#243#248#1#45#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTSS2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #219#242#243#248#1#45#72; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#234#242#243#248#1#45#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#230#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#242#244#248#1#230#72; + flags : [if_avx,if_sandybridge,if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#230#72; + flags : [if_avx,if_sandybridge,if_avx512] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#230#72; + flags : [if_avx512,if_bcst2,if_tfv] ), ( opcode : A_VCVTTPD2DQ; ops : 2; - optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#230#72; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#230#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#230#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#230#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTTPD2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#248#1#230#72; + flags : [if_avx512] + ), + ( opcode : A_VCVTTPS2DQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #219#242#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#242#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VCVTTPS2DQ; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #219#242#244#248#1#91#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#242#244#248#1#91#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #219#232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#233#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2DQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #219#232#233#248#1#91#72; + flags : [if_avx512] ), ( opcode : A_VCVTTSD2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #220#232#242#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTTSD2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#44#72; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#242#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTSD2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#243#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #220#232#234#242#243#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f64] ), ( opcode : A_VCVTTSD2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #220#242#243#248#1#44#72; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#234#242#243#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTSS2SI; ops : 2; optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #219#232#242#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTTSS2SI; ops : 2; - optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#44#72; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#242#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VCVTTSS2SI; ops : 2; optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#243#248#1#44#72; - flags : [if_avx,if_sandybridge] + code : #219#232#234#242#243#248#1#44#72; + flags : [if_avx,if_sandybridge,if_t1f32] ), ( opcode : A_VCVTTSS2SI; ops : 2; - optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none); - code : #219#242#243#248#1#44#72; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#234#242#243#248#1#44#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VDIVPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VDIVPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#94#61#80; + flags : [if_avx512] ), ( opcode : A_VDIVPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VDIVPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#94#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VDIVPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#94#61#80; + flags : [if_avx512] ), ( opcode : A_VDIVSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VDIVSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#94#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#94#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VDIVSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#94#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#94#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VDIVSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#94#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#94#61#80; flags : [if_avx,if_sandybridge] ), ( @@ -10685,11 +11546,25 @@ ( opcode : A_VEXTRACTPS; ops : 3; - optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#23#65#22; + optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#23#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VEXTRACTPS; + ops : 3; + optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#23#65#22; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VEXTRACTPS; + ops : 3; + optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#23#65#22; + flags : [if_avx512] + ), + ( opcode : A_VHADDPD; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); @@ -10756,14 +11631,14 @@ opcode : A_VINSERTPS; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); - code : #241#242#250#1#33#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#33#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VINSERTPS; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8); - code : #241#242#250#1#33#61#80#23; + code : #232#241#242#250#1#33#61#80#23; flags : [if_avx,if_sandybridge] ), ( @@ -10853,205 +11728,464 @@ ( opcode : A_VMAXPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMAXPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#234#241#248#1#95#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#95#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VMAXPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMAXPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#95#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMAXPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#248#1#95#61#80; + flags : [if_avx512] ), ( opcode : A_VMAXSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMAXSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#95#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #220#232#234#242#248#1#95#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMAXSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#95#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#95#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMAXSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#95#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #219#232#242#248#1#95#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMINPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMINPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#234#241#248#1#93#61#80; + flags : [if_avx512] ), ( opcode : A_VMINPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMINPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#93#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMINPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none); + code : #232#233#248#1#93#61#80; + flags : [if_avx512] ), ( opcode : A_VMINSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMINSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#93#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #220#232#234#242#248#1#93#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMINSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#93#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#93#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMINSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#93#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #219#232#242#248#1#93#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#40#72; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#41#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#242#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#41#65; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#40#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#242#244#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPD; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#41#65; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#40#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VMOVAPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#41#65; + flags : [if_avx512] + ), + ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#40#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#41#65; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#41#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#41#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#242#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#40#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVAPS; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #242#244#248#1#41#65; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#242#244#248#1#40#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#40#72; flags : [if_avx,if_sandybridge] ), ( - opcode : A_VMOVD; + opcode : A_VMOVAPS; ops : 2; - optypes : (ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none,ot_none); - code : #241#242#248#1#110#72; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#41#65; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#40#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#41#65; + flags : [if_avx512] + ), + ( + opcode : A_VMOVAPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#40#72; + flags : [if_avx512] + ), + ( opcode : A_VMOVD; ops : 2; optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#126#65; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#126#65; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VMOVD; + ops : 2; + optypes : (ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none,ot_none); + code : #232#241#242#248#1#110#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVDDUP; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #220#242#244#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#242#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tmddup] ), ( opcode : A_VMOVDDUP; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#18#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#242#248#1#18#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVDDUP; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#234#242#244#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tmddup] + ), + ( + opcode : A_VMOVDDUP; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #220#232#233#234#248#1#18#72; + flags : [if_avx512,if_tmddup] ), ( opcode : A_VMOVDQA; @@ -11113,71 +12247,71 @@ opcode : A_VMOVHLPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #242#248#1#18#61#80; + code : #232#242#248#1#18#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVHPD; ops : 2; optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#23#65; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#23#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVHPD; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #241#242#248#1#22#61#80; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#22#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVHPS; - ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #242#248#1#22#61#80; - flags : [if_avx,if_sandybridge] + ops : 2; + optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#23#65; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVHPS; - ops : 2; - optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#23#65; - flags : [if_avx,if_sandybridge] + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#242#248#1#22#61#80; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVLHPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #242#248#1#22#61#80; + code : #232#242#248#1#22#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVLPD; ops : 2; optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#19#65; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#19#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVLPD; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #241#242#248#1#18#61#80; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#18#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVLPS; ops : 2; optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#19#65; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#19#65; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVLPS; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #242#248#1#18#61#80; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#18#61#80; + flags : [if_avx,if_sandybridge,if_t2] ), ( opcode : A_VMOVMSKPD; @@ -11239,241 +12373,353 @@ opcode : A_VMOVNTDQ; ops : 2; optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#231#65; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#231#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTDQ; ops : 2; optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#231#65; - flags : [if_avx,if_sandybridge] + code : #232#241#242#244#248#1#231#65; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVNTDQ; + ops : 2; + optypes : (ot_memory or ot_bits512,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#248#1#231#65; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVNTDQA; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none); - code : #241#242#249#1#42#72; - flags : [if_avx,if_sandybridge] + code : #232#241#242#249#1#42#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTDQA; ops : 2; optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_none,ot_none); - code : #241#242#244#249#1#42#72; - flags : [if_avx2] + code : #232#241#242#244#249#1#42#72; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VMOVNTDQA; + ops : 2; + optypes : (ot_zmmreg,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#42#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVNTPD; + ops : 2; + optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPD; ops : 2; optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#43#65; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#244#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPD; ops : 2; + optypes : (ot_memory or ot_bits512,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#43#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVNTPS; + ops : 2; optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#43#65; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPS; ops : 2; - optypes : (ot_memory or ot_bits128,ot_ymmreg,ot_none,ot_none); - code : #242#244#248#1#43#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#43#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVNTPS; ops : 2; - optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#43#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_memory or ot_bits512,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#43#65; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#219#248#1#126#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#214#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #242#219#248#1#126#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_rm_gpr or ot_bits64,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#243#248#1#126#65; + flags : [if_avx,if_sandybridge,if_x86_64,if_t1s] ), ( opcode : A_VMOVQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#241#248#1#214#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); + code : #219#232#234#242#248#1#126#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVQ; ops : 2; - optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #242#241#248#1#214#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg,ot_rm_gpr or ot_bits64,ot_none,ot_none); + code : #232#234#241#242#243#248#1#110#72; + flags : [if_avx,if_sandybridge,if_x86_64,if_t1s] ), ( opcode : A_VMOVQ; ops : 2; - optypes : (ot_rm_gpr or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #242#241#243#248#1#126#65; - flags : [if_avx,if_sandybridge,if_x86_64] + optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#234#242#248#1#126#72; + flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVQ; ops : 2; - optypes : (ot_xmmreg,ot_rm_gpr or ot_bits64,ot_none,ot_none); - code : #242#241#243#248#1#110#72; - flags : [if_avx,if_sandybridge,if_x86_64] + optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#214#65; + flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSD; - ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#16#61#80; - flags : [if_avx,if_sandybridge] + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #220#242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#17#61#66; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #220#232#234#242#248#1#17#61#66; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSD; - ops : 2; - optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none); - code : #220#242#248#1#17#65; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #220#232#234#242#248#1#16#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSHDUP; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #219#242#248#1#22#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#242#248#1#22#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVSHDUP; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #219#242#244#248#1#22#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#242#244#248#1#22#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVSHDUP; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#248#1#22#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVSLDUP; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #219#242#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#242#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVSLDUP; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #219#242#244#248#1#18#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#242#244#248#1#18#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVSLDUP; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#248#1#18#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VMOVSS; - ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#16#61#80; - flags : [if_avx,if_sandybridge] + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSS; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #219#242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMOVSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#17#61#66; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #219#232#242#248#1#17#61#66; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVSS; - ops : 2; - optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_none,ot_none); - code : #219#242#248#1#17#65; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #219#232#242#248#1#16#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#17#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#16#72; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#17#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVUPD; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #241#242#244#248#1#17#65; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#242#244#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#242#244#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VMOVUPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#248#1#16#72; + flags : [if_avx512,if_tfvm] + ), + ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#16#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#17#65; - flags : [if_avx,if_sandybridge] + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#17#65; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#16#72; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#17#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#242#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMOVUPS; ops : 2; - optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none); - code : #242#244#248#1#17#65; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#242#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#242#244#248#1#17#65; flags : [if_avx,if_sandybridge] ), ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#242#244#248#1#16#72; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#248#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VMOVUPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#248#1#16#72; + flags : [if_avx512,if_tfvm] + ), + ( opcode : A_VMPSADBW; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); @@ -11490,303 +12736,653 @@ ( opcode : A_VMULPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMULPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#89#61#80; + flags : [if_avx512] ), ( opcode : A_VMULPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VMULPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#89#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VMULPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#89#61#80; + flags : [if_avx512] ), ( opcode : A_VMULSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMULSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#89#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#89#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VMULSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#89#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#89#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VMULSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#89#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#89#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VORPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#86#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#86#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VORPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#86#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VORPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#86#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#86#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#86#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#86#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPABSB; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#249#1#28#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#242#249#1#28#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPABSB; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#249#1#28#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#242#244#249#1#28#72; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPABSB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#28#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPABSD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#249#1#30#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#242#249#1#30#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPABSD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#249#1#30#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#30#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#242#244#249#1#30#72; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#30#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#30#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#30#72; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPABSW; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#249#1#29#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#242#249#1#29#72; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPABSW; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#249#1#29#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#242#244#249#1#29#72; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPABSW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#29#72; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPACKSSDW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#107#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#107#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPACKSSDW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#107#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#107#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#107#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#107#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#107#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKSSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#107#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPACKSSWB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#99#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#99#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPACKSSWB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#99#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#99#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPACKSSWB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#99#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPACKUSDW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#43#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#43#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPACKUSDW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#43#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#43#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#43#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#43#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#43#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPACKUSDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#43#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPACKUSWB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#103#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#103#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPACKUSWB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#103#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#103#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPACKUSWB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#103#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#252#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#252#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#252#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#252#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#252#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#254#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#254#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPADDD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#254#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#254#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#254#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#254#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#254#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#254#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPADDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#212#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#212#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPADDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#212#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#212#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#212#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#212#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#212#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPADDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#212#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPADDSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#236#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#236#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#236#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#236#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#236#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#237#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#237#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#237#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#237#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#237#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDUSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#220#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#220#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDUSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#220#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#220#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDUSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#220#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDUSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#221#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#221#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDUSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#221#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#221#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDUSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#221#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPADDW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#253#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#253#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPADDW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#253#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#253#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPADDW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#253#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPALIGNR; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #241#242#250#1#15#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#242#250#1#15#61#80#23; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPALIGNR; ops : 4; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); - code : #241#242#244#250#1#15#61#80#23; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#242#244#250#1#15#61#80#23; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPALIGNR; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#15#61#80#23; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPAND; @@ -11819,30 +13415,44 @@ ( opcode : A_VPAVGB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#224#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#224#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPAVGB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#224#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#224#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPAVGB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#224#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPAVGW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#227#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#227#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPAVGW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#227#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#227#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPAVGW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#227#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPBLENDVB; @@ -11876,8 +13486,43 @@ opcode : A_VPCLMULQDQ; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #241#242#250#1#68#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#68#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPCLMULQDQ; + ops : 4; + optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#68#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCLMULQDQ; + ops : 4; + optypes : (ot_zmmreg,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#68#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQB; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#116#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#116#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#116#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPCMPEQB; @@ -11896,6 +13541,48 @@ ( opcode : A_VPCMPEQD; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQD; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#118#61#80; flags : [if_avx,if_sandybridge] @@ -11910,6 +13597,48 @@ ( opcode : A_VPCMPEQQ; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#41#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPEQQ; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#249#1#41#61#80; flags : [if_avx,if_sandybridge] @@ -11924,6 +13653,27 @@ ( opcode : A_VPCMPEQW; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPEQW; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#117#61#80; flags : [if_avx,if_sandybridge] @@ -11952,6 +13702,27 @@ ( opcode : A_VPCMPGTB; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#100#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#100#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#100#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTB; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#100#61#80; flags : [if_avx,if_sandybridge] @@ -11966,6 +13737,48 @@ ( opcode : A_VPCMPGTD; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#102#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTD; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#102#61#80; flags : [if_avx,if_sandybridge] @@ -11980,6 +13793,48 @@ ( opcode : A_VPCMPGTQ; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#55#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPGTQ; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#249#1#55#61#80; flags : [if_avx,if_sandybridge] @@ -11994,6 +13849,27 @@ ( opcode : A_VPCMPGTW; ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#101#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#101#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#101#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPGTW; + ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); code : #241#242#248#1#101#61#80; flags : [if_avx,if_sandybridge] @@ -12029,127 +13905,267 @@ ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#13#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#249#1#13#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#5#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#13#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#250#1#5#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#250#1#5#72#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#13#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#5#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#249#1#13#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#13#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#244#250#1#5#72#22; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#5#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#13#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#13#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#5#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#5#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#12#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#12#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#4#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#12#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#250#1#4#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#4#72#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPERMILPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#12#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#12#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#12#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#250#1#4#72#22; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#12#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#12#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMILPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#4#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPEXTRB; + ops : 3; + optypes : (ot_memory or ot_bits8,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#20#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VPEXTRB; + ops : 3; + optypes : (ot_reg16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#20#65#22; + flags : [if_avx512] ), ( opcode : A_VPEXTRB; ops : 3; optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#20#65#22; + code : #232#241#242#250#1#20#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRB; ops : 3; optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#20#65#22; + code : #232#241#242#250#1#20#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRB; ops : 3; - optypes : (ot_memory or ot_bits8,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#20#65#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_reg8,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#20#65#22; + flags : [if_avx512] ), ( opcode : A_VPEXTRD; ops : 3; optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#22#65#22; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#22#65#22; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPEXTRQ; ops : 3; optypes : (ot_rm_gpr or ot_bits64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#243#250#1#22#65#22; + code : #232#234#241#242#243#250#1#22#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VPEXTRW; + ops : 3; + optypes : (ot_memory or ot_bits16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#21#65#22; + flags : [if_avx,if_sandybridge,if_t1s] + ), + ( + opcode : A_VPEXTRW; + ops : 3; + optypes : (ot_reg16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#250#1#21#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; - optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#197#72#22; + optypes : (ot_reg16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#197#72#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; - optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#197#72#22; + optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#197#72#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#21#65#22; + code : #232#241#242#250#1#21#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#21#65#22; + code : #232#241#242#250#1#21#65#22; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPEXTRW; ops : 3; - optypes : (ot_memory or ot_bits16,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#250#1#21#65#22; + optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#197#72#22; flags : [if_avx,if_sandybridge] ), ( @@ -12247,239 +14263,421 @@ opcode : A_VPINSRB; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8); - code : #241#242#250#1#32#61#80#23; + code : #232#241#242#250#1#32#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPINSRB; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits8,ot_immediate or ot_bits8); - code : #241#242#250#1#32#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#32#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRD; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_immediate or ot_bits8); - code : #241#242#250#1#34#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#241#242#250#1#34#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRQ; ops : 4; optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits64,ot_immediate or ot_bits8); - code : #241#242#243#250#1#34#61#80#23; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#243#250#1#34#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRW; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8); - code : #241#242#248#1#196#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits16,ot_immediate or ot_bits8); + code : #232#241#242#248#1#196#61#80#23; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VPINSRW; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits16,ot_immediate or ot_bits8); - code : #241#242#248#1#196#61#80#23; + optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8); + code : #232#241#242#248#1#196#61#80#23; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMADDUBSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#4#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#4#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMADDUBSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#4#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#4#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMADDUBSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#4#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMADDWD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#245#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#245#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMADDWD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#245#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#245#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMADDWD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#245#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#60#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#60#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#60#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#60#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#60#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#61#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#61#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMAXSD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#61#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#61#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMAXSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#238#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#238#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#238#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#238#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#238#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXUB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#222#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#222#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXUB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#222#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#222#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXUB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#222#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMAXUD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#63#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#63#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMAXUD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#63#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#63#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMAXUW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#62#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#62#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMAXUW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#62#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#62#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMAXUW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#62#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#56#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#56#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#56#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#56#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#56#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#57#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#57#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMINSD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#57#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#57#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMINSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#234#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#234#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#234#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#234#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#234#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINUB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#218#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#218#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINUB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#218#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#218#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINUB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#218#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMINUD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#59#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#59#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMINUD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#59#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#59#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMINUW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#58#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#58#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMINUW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#58#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#58#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMINUW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#58#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMOVMSKB; @@ -12512,394 +14710,716 @@ ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#33#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#33#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#33#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#33#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#33#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#33#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVSXBD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#33#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#33#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#33#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#33#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#249#1#34#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#249#1#34#72; + flags : [if_avx,if_sandybridge,if_tovm] ), ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#34#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#34#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#34#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#34#72; + flags : [if_avx2,if_tovm] ), ( opcode : A_VPMOVSXBQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#34#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#34#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#34#72; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#34#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXBW; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#32#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#32#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVSXBW; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#32#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#32#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXBW; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#32#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#32#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVSXBW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#32#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#32#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#32#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXDQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#37#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#37#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVSXDQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#37#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#37#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXDQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#37#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#37#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVSXDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#37#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#37#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#37#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXWD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#35#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#35#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVSXWD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#35#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#35#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXWD; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#35#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#35#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVSXWD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#35#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#35#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#35#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#36#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#36#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#36#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#36#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#36#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#36#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVSXWQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#36#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#36#72; flags : [if_avx2] ), ( + opcode : A_VPMOVSXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#36#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#36#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#49#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#49#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#49#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#49#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#49#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#49#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVZXBD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#49#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#49#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#49#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVZXBD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#49#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#249#1#50#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#249#1#50#72; + flags : [if_avx,if_sandybridge,if_tovm] ), ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#50#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#50#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#50#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#50#72; + flags : [if_avx2,if_tovm] ), ( opcode : A_VPMOVZXBQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#50#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#50#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#50#72; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVZXBQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#50#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXBW; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#48#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#48#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVZXBW; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#48#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#48#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXBW; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#48#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#48#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVZXBW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#48#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#48#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVZXBW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#48#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXDQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#53#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#53#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVZXDQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#53#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#53#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXDQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#53#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#53#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVZXDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#53#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#53#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVZXDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#53#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXWD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#51#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#249#1#51#72; + flags : [if_avx,if_sandybridge,if_thvm] ), ( opcode : A_VPMOVZXWD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#51#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#51#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXWD; ops : 2; - optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#244#249#1#51#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#242#244#249#1#51#72; + flags : [if_avx2,if_thvm] + ), + ( + opcode : A_VPMOVZXWD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#51#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#51#72; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVZXWD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#51#72; + flags : [if_avx512] + ), + ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#52#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#52#72; + flags : [if_avx,if_sandybridge,if_tqvm] ), ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#52#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#52#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#52#72; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#242#244#249#1#52#72; + flags : [if_avx2,if_tqvm] ), ( opcode : A_VPMOVZXWQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#52#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#52#72; flags : [if_avx2] ), ( + opcode : A_VPMOVZXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#52#72; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVZXWQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#52#72; + flags : [if_avx512] + ), + ( opcode : A_VPMULDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#40#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#249#1#40#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMULDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#40#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#40#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#249#1#40#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#40#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#40#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#40#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMULHRSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#11#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#11#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULHRSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#11#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#11#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULHRSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#11#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULHUW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#228#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#228#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULHUW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#228#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#228#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULHUW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#228#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULHW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#229#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#229#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULHW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#229#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#229#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULHW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#229#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#64#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#64#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMULLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#64#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#64#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMULLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#213#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#213#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPMULLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#213#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#213#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPMULLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#213#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPMULUDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#244#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#244#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPMULUDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#244#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#244#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#244#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#244#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#244#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULUDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#244#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPOR; @@ -12919,71 +15439,127 @@ opcode : A_VPSADBW; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#246#61#80; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#246#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSADBW; ops : 3; optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#246#61#80; - flags : [if_avx2] + code : #232#241#242#244#248#1#246#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSADBW; + ops : 3; + optypes : (ot_zmmreg,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#246#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSHUFB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#0#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#0#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSHUFB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#0#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#0#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSHUFB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#0#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSHUFD; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#112#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#112#72#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSHUFD; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#112#72#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#112#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#112#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#112#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#112#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSHUFD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#112#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSHUFHW; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #219#242#248#1#112#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #219#232#242#248#1#112#72#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSHUFHW; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #219#242#244#248#1#112#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #219#232#242#244#248#1#112#72#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSHUFHW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #219#232#233#248#1#112#72#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSHUFLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none); - code : #220#242#248#1#112#72#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #220#232#242#248#1#112#72#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSHUFLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #220#242#244#248#1#112#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #220#232#242#244#248#1#112#72#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSHUFLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #220#232#233#248#1#112#72#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSIGNB; @@ -13030,366 +15606,730 @@ ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#114#60#142#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#114#60#142#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#242#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#114#60#142#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#242#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSLLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#242#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#114#60#142#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#242#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#242#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSLLDQ; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#143#22; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#115#60#143#22; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSLLDQ; ops : 3; optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#143#22; - flags : [if_avx2] + code : #232#241#242#244#248#1#115#60#143#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSLLDQ; + ops : 3; + optypes : (ot_zmmreg,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#115#60#143#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#243#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#243#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#142#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#248#1#115#60#142#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#243#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#142#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#244#248#1#243#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#244#248#1#115#60#142#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#234#241#248#1#243#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#142#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#113#60#142#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#241#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#241#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#113#60#142#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#113#60#142#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#241#61#80; + flags : [if_avx2,if_tmem128] ), ( opcode : A_VPSLLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#241#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#113#60#142#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSLLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#241#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSLLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#113#60#142#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#114#60#140#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#114#60#140#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#226#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#114#60#140#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#226#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRAD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#226#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#114#60#140#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#226#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#113#60#140#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#113#60#140#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#225#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#225#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#113#60#140#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#113#60#140#22; + flags : [if_avx2,if_tfvm] ), ( opcode : A_VPSRAW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#225#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#225#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRAW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#225#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#113#60#140#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#114#60#138#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#114#60#138#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#210#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#114#60#138#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#210#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRLD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#210#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#210#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#114#60#138#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#210#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLDQ; + ops : 3; + optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#115#60#139#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLDQ; ops : 3; optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#139#22; - flags : [if_avx,if_sandybridge] + code : #232#241#242#248#1#115#60#139#22; + flags : [if_avx,if_sandybridge,if_tfvm] + ), + ( + opcode : A_VPSRLDQ; + ops : 3; + optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#115#60#139#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLDQ; ops : 3; optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#139#22; - flags : [if_avx2] + code : #232#241#242#244#248#1#115#60#139#22; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSRLDQ; + ops : 3; + optypes : (ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#115#60#139#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#115#60#138#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#211#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#211#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#248#1#115#60#138#22; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#115#60#138#22; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#211#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#244#248#1#115#60#138#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#244#248#1#211#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#234#241#248#1#211#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#115#60#138#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#248#1#113#60#138#22; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#248#1#113#60#138#22; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#209#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#209#61#80; + flags : [if_avx,if_sandybridge,if_tmem128] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_immediate or ot_bits8,ot_none); - code : #241#242#244#248#1#113#60#138#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#242#244#248#1#113#60#138#22; + flags : [if_avx2,if_tfvm] ), ( opcode : A_VPSRLW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none); - code : #241#242#244#248#1#209#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#241#242#244#248#1#209#61#80; + flags : [if_avx2,if_tmem128] + ), + ( + opcode : A_VPSRLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#241#248#1#209#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRLW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#113#60#138#22; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#248#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#248#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#248#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#248#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#248#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#250#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#250#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSUBD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#250#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#250#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#250#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#250#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#250#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#250#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSUBQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#251#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#251#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPSUBQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#251#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#251#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#251#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#251#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#251#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSUBQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#251#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSUBSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#232#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#232#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#232#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#232#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#232#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#233#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#233#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#233#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#233#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#233#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBUSB; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#216#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#216#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBUSB; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#216#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#216#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBUSB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#216#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBUSW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#217#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#217#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBUSW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#217#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#217#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBUSW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#217#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPSUBW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#249#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#249#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPSUBW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#249#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#249#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPSUBW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#249#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPTEST; @@ -13408,114 +16348,254 @@ ( opcode : A_VPUNPCKHBW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#104#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#104#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKHBW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#104#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#104#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKHBW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#104#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPUNPCKHDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#106#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#106#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKHDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#106#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#106#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#106#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#106#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#106#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#106#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKHQDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#109#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#109#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKHQDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#109#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#109#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#109#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#109#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#109#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKHQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#109#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKHWD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#105#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#105#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKHWD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#105#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#105#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKHWD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#105#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPUNPCKLBW; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#96#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#96#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKLBW; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#96#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#96#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKLBW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#96#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPUNPCKLDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#98#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#98#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKLDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#98#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#98#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#98#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#98#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#98#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#98#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKLQDQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#108#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#108#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VPUNPCKLQDQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#108#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#108#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#108#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#108#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#108#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPUNPCKLQDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#108#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPUNPCKLWD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#97#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#248#1#97#61#80; + flags : [if_avx,if_sandybridge,if_tfvm] ), ( opcode : A_VPUNPCKLWD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#97#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#248#1#97#61#80; + flags : [if_avx2,if_tfvm] + ), + ( + opcode : A_VPUNPCKLWD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#97#61#80; + flags : [if_avx512,if_tfvm] ), ( opcode : A_VPXOR; @@ -13646,86 +16726,212 @@ ( opcode : A_VSHUFPD; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #241#242#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#242#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSHUFPD; ops : 4; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); - code : #241#242#244#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#242#244#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] ), ( opcode : A_VSHUFPS; ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); - code : #242#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#242#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSHUFPS; ops : 4; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); - code : #242#244#248#1#198#61#80#23; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#242#244#248#1#198#61#80#23; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#244#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#248#1#198#61#80#23; + flags : [if_avx512,if_tfv] ), ( opcode : A_VSQRTPD; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #241#242#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#242#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSQRTPD; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #241#242#244#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#242#244#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#81#72; + flags : [if_avx512] ), ( opcode : A_VSQRTPS; ops : 2; - optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none); - code : #242#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#242#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSQRTPS; ops : 2; - optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none); - code : #242#244#248#1#81#72; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#242#244#248#1#81#72; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#81#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSQRTPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#248#1#81#72; + flags : [if_avx512] ), ( opcode : A_VSQRTSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#81#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#81#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VSQRTSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#81#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#81#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSQRTSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#81#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#81#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VSQRTSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#81#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#81#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSTMXCSR; @@ -13737,58 +16943,128 @@ ( opcode : A_VSUBPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSUBPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#248#1#92#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VSUBPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VSUBPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#92#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSUBPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#248#1#92#61#80; + flags : [if_avx512] ), ( opcode : A_VSUBSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); - code : #220#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #220#232#234#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSUBSD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #220#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #220#232#234#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VSUBSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none); - code : #219#242#248#1#92#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #219#232#242#248#1#92#61#80; flags : [if_avx,if_sandybridge] ), ( opcode : A_VSUBSS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); - code : #219#242#248#1#92#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #219#232#242#248#1#92#61#80; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VTESTPD; @@ -13822,113 +17098,281 @@ opcode : A_VUCOMISD; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#248#1#46#72; - flags : [if_avx,if_sandybridge] + code : #232#234#241#242#248#1#46#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VUCOMISD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#248#1#46#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#234#241#242#248#1#46#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VUCOMISS; ops : 2; optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #242#248#1#46#72; - flags : [if_avx,if_sandybridge] + code : #232#242#248#1#46#72; + flags : [if_avx,if_sandybridge,if_t1s] ), ( opcode : A_VUCOMISS; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #242#248#1#46#72; + optypes : (ot_xmmreg,ot_xmmreg_sae,ot_none,ot_none); + code : #232#242#248#1#46#72; flags : [if_avx,if_sandybridge] ), ( opcode : A_VUNPCKHPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKHPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#21#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VUNPCKHPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKHPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#21#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#21#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKHPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#21#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VUNPCKLPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKLPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#20#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VUNPCKLPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VUNPCKLPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#20#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#20#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VUNPCKLPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#20#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VXORPD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VXORPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#244#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#87#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VXORPS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #242#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#242#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] ), ( opcode : A_VXORPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #242#244#248#1#87#61#80; - flags : [if_avx,if_sandybridge] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#242#244#248#1#87#61#80; + flags : [if_avx,if_sandybridge,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#244#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#248#1#87#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VXORPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#248#1#87#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VZEROALL; @@ -14199,116 +17643,361 @@ ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#120#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits8,ot_none,ot_none); + code : #232#241#242#249#1#120#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#120#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#120#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits8,ot_none,ot_none); - code : #241#242#249#1#120#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] ), ( opcode : A_VPBROADCASTB; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits8,ot_none,ot_none); - code : #241#242#244#249#1#120#72; + optypes : (ot_xmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg8,ot_none,ot_none); + code : #232#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits8,ot_none,ot_none); + code : #232#241#242#244#249#1#120#72; + flags : [if_avx2,if_t1s] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#120#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg8,ot_none,ot_none); + code : #232#241#244#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits8,ot_none,ot_none); + code : #232#233#241#249#1#120#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg8,ot_none,ot_none); + code : #232#233#241#249#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTB; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#120#72; + flags : [if_avx512] + ), + ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#88#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#249#1#88#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#249#1#88#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#88#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#88#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#249#1#124#72; + flags : [if_avx512] ), ( opcode : A_VPBROADCASTD; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none); - code : #241#242#244#249#1#88#72; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#241#242#244#249#1#88#72; + flags : [if_avx2,if_t1s] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#88#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#244#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits32,ot_none,ot_none); + code : #232#233#241#249#1#88#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#233#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#88#72; + flags : [if_avx512] + ), + ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#244#249#1#89#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#234#241#242#249#1#89#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none); - code : #241#242#249#1#89#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#249#1#89#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#89#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#234#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#234#241#242#244#249#1#89#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTQ; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#89#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#242#244#249#1#89#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#234#241#244#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#234#241#249#1#89#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#233#234#241#249#1#124#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#89#72; + flags : [if_avx512] + ), + ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#249#1#121#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#249#1#121#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#249#1#121#72; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#249#1#121#72; flags : [if_avx2] ), ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_ymmreg,ot_memory or ot_bits16,ot_none,ot_none); - code : #241#242#244#249#1#121#72; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#241#242#244#249#1#121#72; + flags : [if_avx2,if_t1s] ), ( opcode : A_VPBROADCASTW; ops : 2; - optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none); - code : #241#242#244#249#1#121#72; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#242#244#249#1#121#72; flags : [if_avx2] ), ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#241#244#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#241#244#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#241#244#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits16,ot_none,ot_none); + code : #232#233#241#249#1#121#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg16,ot_none,ot_none); + code : #232#233#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg32,ot_none,ot_none); + code : #232#233#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_reg64,ot_none,ot_none); + code : #232#233#241#249#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VPBROADCASTW; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#121#72; + flags : [if_avx512] + ), + ( opcode : A_VPERM2I128; ops : 4; optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); @@ -14318,30 +18007,177 @@ ( opcode : A_VPERMD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#54#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#54#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMPD; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#243#244#250#1#1#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#243#244#250#1#1#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#243#244#250#1#1#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#1#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#1#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#1#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMPS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#22#61#80; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#22#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#22#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPERMQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none); - code : #241#242#243#244#250#1#0#72#22; - flags : [if_avx2] + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#242#243#244#250#1#0#72#22; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#0#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#54#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#0#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#0#72#22; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPMASKMOVD; @@ -14402,88 +18238,249 @@ ( opcode : A_VPSLLVD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#71#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSLLVD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#71#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSLLVQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#243#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#71#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSLLVQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#243#244#249#1#71#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#71#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSLLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#71#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRAVD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#70#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#70#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSRAVD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#70#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#70#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLVD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#69#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSRLVD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#69#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VPSRLVQ; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#243#244#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#69#61#80; + flags : [if_avx2,if_tfv] ), ( opcode : A_VPSRLVQ; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#243#249#1#69#61#80; - flags : [if_avx2] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#69#61#80; + flags : [if_avx2,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#69#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VGATHERDPD; ops : 3; - optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); + optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); code : #241#242#243#249#1#146#62#72; flags : [if_avx2] ), ( opcode : A_VGATHERDPD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#234#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPD; ops : 3; - optypes : (ot_ymmreg,ot_xmem64,ot_ymmreg,ot_none); + optypes : (ot_ymmreg,ot_xmem32,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#146#62#72; flags : [if_avx2] ), ( + opcode : A_VGATHERDPD; + ops : 2; + optypes : (ot_ymmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#234#241#244#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPD; + ops : 2; + optypes : (ot_zmmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#233#234#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VGATHERDPS; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14492,12 +18489,33 @@ ), ( opcode : A_VGATHERDPS; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPS; ops : 3; optypes : (ot_ymmreg,ot_ymem32,ot_ymmreg,ot_none); code : #241#242#244#249#1#146#62#72; flags : [if_avx2] ), ( + opcode : A_VGATHERDPS; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERDPS; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#146#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VGATHERQPD; ops : 3; optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); @@ -14506,12 +18524,33 @@ ), ( opcode : A_VGATHERQPD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPD; ops : 3; optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#147#62#72; flags : [if_avx2] ), ( + opcode : A_VGATHERQPD; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem64,ot_none,ot_none); + code : #232#234#241#244#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPD; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VGATHERQPS; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14526,6 +18565,27 @@ flags : [if_avx2] ), ( + opcode : A_VGATHERQPS; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPS; + ops : 2; + optypes : (ot_xmmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGATHERQPS; + ops : 2; + optypes : (ot_ymmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#147#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERDD; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14534,12 +18594,33 @@ ), ( opcode : A_VPGATHERDD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDD; ops : 3; optypes : (ot_ymmreg,ot_ymem32,ot_ymmreg,ot_none); code : #241#242#244#249#1#144#62#72; flags : [if_avx2] ), ( + opcode : A_VPGATHERDD; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDD; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERDQ; ops : 3; optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); @@ -14548,12 +18629,33 @@ ), ( opcode : A_VPGATHERDQ; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDQ; ops : 3; optypes : (ot_ymmreg,ot_xmem64,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#144#62#72; flags : [if_avx2] ), ( + opcode : A_VPGATHERDQ; + ops : 2; + optypes : (ot_ymmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERDQ; + ops : 2; + optypes : (ot_zmmreg_m,ot_ymem64,ot_none,ot_none); + code : #232#233#234#241#249#1#144#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERQD; ops : 3; optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none); @@ -14568,6 +18670,27 @@ flags : [if_avx2] ), ( + opcode : A_VPGATHERQD; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem32,ot_none,ot_none); + code : #232#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQD; + ops : 2; + optypes : (ot_xmmreg_m,ot_ymem32,ot_none,ot_none); + code : #232#241#244#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQD; + ops : 2; + optypes : (ot_ymmreg_m,ot_zmem32,ot_none,ot_none); + code : #232#233#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( opcode : A_VPGATHERQQ; ops : 3; optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none); @@ -14576,696 +18699,2145 @@ ), ( opcode : A_VPGATHERQQ; + ops : 2; + optypes : (ot_xmmreg_m,ot_xmem64,ot_none,ot_none); + code : #232#234#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQQ; ops : 3; optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none); code : #241#242#243#244#249#1#145#62#72; flags : [if_avx2] ), ( + opcode : A_VPGATHERQQ; + ops : 2; + optypes : (ot_ymmreg_m,ot_ymem64,ot_none,ot_none); + code : #232#234#241#244#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPGATHERQQ; + ops : 2; + optypes : (ot_zmmreg_m,ot_zmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#145#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFMADDPD; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg); + code : #241#242#250#1#105#61#80#247; + flags : [if_fma4] + ), + ( + opcode : A_VFMADDPD; + ops : 4; + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm); + code : #241#242#250#243#1#105#61#88#246; + flags : [if_fma4] + ), + ( opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#152#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#152#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#152#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD213PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#168#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#152#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADD213PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#168#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD231PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#184#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD231PD; + opcode : A_VFMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#184#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDPD; - ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg); - code : #241#242#250#1#105#61#80#247; - flags : [if_fma4] + opcode : A_VFMADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#152#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMADDPD; - ops : 4; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm); - code : #241#242#250#243#1#105#61#88#246; - flags : [if_fma4] + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#152#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADD132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#152#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMADD132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#152#61#80; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#152#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#152#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#152#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#152#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#153#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#153#61#80; flags : [if_fma] ), ( - opcode : A_VFMADD213PS; + opcode : A_VFMADD132SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#168#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#153#61#80; flags : [if_fma] ), ( + opcode : A_VFMADD132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#153#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#168#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#168#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#168#61#80; + flags : [if_avx512] + ), + ( opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#168#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#168#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADD231PS; + opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#184#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADD231PS; + opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#184#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#168#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADD132SD; + opcode : A_VFMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#153#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#168#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#168#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#169#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#169#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFMADD231SD; + opcode : A_VFMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#185#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#169#61#80; flags : [if_fma] ), ( - opcode : A_VFMADD132SS; + opcode : A_VFMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#153#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#169#61#80; flags : [if_fma] ), ( opcode : A_VFMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#169#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#169#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#184#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#184#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#184#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#184#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADD231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#185#61#80; flags : [if_fma] ), ( + opcode : A_VFMADD231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#185#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFMADD231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#185#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#185#61#80; flags : [if_fma] ), ( + opcode : A_VFMADD231SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#185#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#150#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB213PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#166#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#150#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMADDSUB213PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#166#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#150#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB231PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#182#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB231PD; + opcode : A_VFMADDSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#182#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#150#61#80; + flags : [if_avx512] ), ( opcode : A_VFMADDSUB132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#150#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADDSUB132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#150#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#150#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#150#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#150#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#166#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#166#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#166#61#80; + flags : [if_avx512] ), ( opcode : A_VFMADDSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#166#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#166#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMADDSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#166#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMADDSUB231PS; + opcode : A_VFMADDSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#182#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#166#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#166#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#166#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#182#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#182#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#182#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#182#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMADDSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#182#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#182#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD132PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#151#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD132PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#151#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#182#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD213PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#167#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD213PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#167#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD231PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#182#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD231PD; + opcode : A_VFMADDSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#182#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMSUBADD132PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#151#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#154#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD132PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#151#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD213PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#167#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#154#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUBADD213PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#167#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#154#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUBADD231PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#154#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMSUBADD231PS; + opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#183#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#154#61#80; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#154#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#154#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#154#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#154#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#155#61#80; flags : [if_fma] ), ( - opcode : A_VFMSUB132PD; + opcode : A_VFMSUB132SD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#154#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#155#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#155#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#155#61#80; flags : [if_fma] ), ( opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB231PD; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUB231PD; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB132PS; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#154#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#170#61#80; + flags : [if_avx512] ), ( - opcode : A_VFMSUB132PS; + opcode : A_VFMSUB213PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#154#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#170#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB231PS; + opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#170#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFMSUB231PS; + opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#186#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFMSUB132SD; + opcode : A_VFMSUB213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#155#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#170#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#170#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFMSUB213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#171#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#171#61#80; flags : [if_fma] ), ( - opcode : A_VFMSUB231SD; + opcode : A_VFMSUB213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#187#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#171#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFMSUB132SS; + opcode : A_VFMSUB213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#155#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#171#61#80; flags : [if_fma] ), ( opcode : A_VFMSUB213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#171#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#171#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#186#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#186#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#186#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#186#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUB231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#187#61#80; flags : [if_fma] ), ( + opcode : A_VFMSUB231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#187#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFMSUB231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#187#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#187#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFMSUB231SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#187#61#80; flags : [if_fma] ), ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#151#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#151#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#151#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#151#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#167#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#167#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#167#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#167#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#183#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#183#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#183#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFMSUBADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#183#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#156#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#156#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#156#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMADD213PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#172#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#156#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMADD213PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#172#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#156#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMADD231PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#188#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#156#61#80; + flags : [if_avx512] ), ( - opcode : A_VFNMADD231PD; + opcode : A_VFNMADD132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#188#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFNMADD132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#156#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#156#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMADD132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#156#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#156#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#156#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#156#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#157#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMADD132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#157#61#80; flags : [if_fma] ), ( - opcode : A_VFNMADD213PS; + opcode : A_VFNMADD132SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#172#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#157#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMADD132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#157#61#80; flags : [if_fma] ), ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#172#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#172#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#172#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#172#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#172#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMADD231PS; + opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#188#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMADD231PS; + opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#188#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#172#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMADD132SD; + opcode : A_VFNMADD213PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#157#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#172#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#172#61#80; + flags : [if_avx512] ), ( opcode : A_VFNMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#173#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#173#61#80; flags : [if_fma] ), ( - opcode : A_VFNMADD231SD; + opcode : A_VFNMADD213SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#189#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#173#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFNMADD132SS; + opcode : A_VFNMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#157#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#173#61#80; flags : [if_fma] ), ( opcode : A_VFNMADD213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#173#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#173#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#188#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#188#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#188#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#188#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMADD231SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #241#242#243#249#1#189#61#80; + flags : [if_fma] + ), + ( + opcode : A_VFNMADD231SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#189#61#80; flags : [if_fma] ), ( opcode : A_VFNMADD231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); + optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none); code : #241#242#249#1#189#61#80; flags : [if_fma] ), ( + opcode : A_VFNMADD231SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#189#61#80; + flags : [if_fma,if_t1s] + ), + ( opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#158#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#158#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#158#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB213PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#174#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#158#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMSUB213PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#174#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#158#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB231PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#190#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB231PD; + opcode : A_VFNMSUB132PD; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#243#1#190#61#80; - flags : [if_fma] + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#158#61#80; + flags : [if_avx512] ), ( opcode : A_VFNMSUB132PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#158#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#158#61#80; + flags : [if_fma,if_tfv] ), ( opcode : A_VFNMSUB132PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#158#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#158#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#158#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#158#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#159#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB132SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#159#61#80; flags : [if_fma] ), ( - opcode : A_VFNMSUB213PS; + opcode : A_VFNMSUB132SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#174#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#159#61#80; flags : [if_fma] ), ( + opcode : A_VFNMSUB132SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#159#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#174#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMSUB213PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#174#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#174#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#174#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB213PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#174#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB213SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#175#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB213SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#175#61#80; flags : [if_fma] ), ( - opcode : A_VFNMSUB231PS; + opcode : A_VFNMSUB213SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#190#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#175#61#80; + flags : [if_fma,if_t1s] + ), + ( + opcode : A_VFNMSUB213SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#175#61#80; flags : [if_fma] ), ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#242#243#249#1#190#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#242#243#244#249#1#190#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#190#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( opcode : A_VFNMSUB231PS; ops : 3; - optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none); - code : #241#242#244#249#1#190#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#242#249#1#190#61#80; + flags : [if_fma,if_tfv] ), ( - opcode : A_VFNMSUB132SD; + opcode : A_VFNMSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#159#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] ), ( - opcode : A_VFNMSUB213SD; + opcode : A_VFNMSUB231PS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#175#61#80; - flags : [if_fma] + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#242#244#249#1#190#61#80; + flags : [if_fma,if_tfv] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#190#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFNMSUB231PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#190#61#80; + flags : [if_avx512,if_tfv] ), ( opcode : A_VFNMSUB231SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#243#1#191#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#242#243#249#1#191#61#80; flags : [if_fma] ), ( - opcode : A_VFNMSUB132SS; + opcode : A_VFNMSUB231SD; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#159#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#242#243#249#1#191#61#80; + flags : [if_fma,if_t1s] ), ( - opcode : A_VFNMSUB213SS; + opcode : A_VFNMSUB231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#175#61#80; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#242#249#1#191#61#80; flags : [if_fma] ), ( opcode : A_VFNMSUB231SS; ops : 3; - optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none); - code : #241#242#249#1#191#61#80; - flags : [if_fma] + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#242#249#1#191#61#80; + flags : [if_fma,if_t1s] ), ( opcode : A_XACQUIRE; @@ -15336,5 +20908,7915 @@ optypes : (ot_memory,ot_none,ot_none,ot_none); code : #2#15#13#130; flags : [if_prefetchwt1] + ), + ( + opcode : A_KADDB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KADDD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KADDQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KADDW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#74#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDNB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDND; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDNQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDNW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#66#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KANDW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#65#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits8,ot_none,ot_none); + code : #241#242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_kreg,ot_reg32,ot_none,ot_none); + code : #241#242#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_memory or ot_bits8,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVB; + ops : 2; + optypes : (ot_reg32,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits32,ot_none,ot_none); + code : #241#242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_kreg,ot_reg32,ot_none,ot_none); + code : #220#242#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_memory or ot_bits32,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVD; + ops : 2; + optypes : (ot_reg32,ot_kreg,ot_none,ot_none); + code : #220#242#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits64,ot_none,ot_none); + code : #242#243#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_kreg,ot_reg64,ot_none,ot_none); + code : #220#242#243#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_memory or ot_bits64,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVQ; + ops : 2; + optypes : (ot_reg64,ot_kreg,ot_none,ot_none); + code : #220#242#243#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_kreg,ot_memory or ot_bits16,ot_none,ot_none); + code : #242#248#1#144#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_kreg,ot_reg32,ot_none,ot_none); + code : #242#248#1#146#72; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_memory or ot_bits16,ot_kreg,ot_none,ot_none); + code : #242#248#1#145#65; + flags : [if_avx512] + ), + ( + opcode : A_KMOVW; + ops : 2; + optypes : (ot_reg32,ot_kreg,ot_none,ot_none); + code : #242#248#1#147#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KNOTW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#68#72; + flags : [if_avx512] + ), + ( + opcode : A_KORB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KORD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KORQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORTESTW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#152#72; + flags : [if_avx512] + ), + ( + opcode : A_KORW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#69#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#50#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#51#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#51#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTLW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#50#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#48#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#250#1#49#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#49#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KSHIFTRW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_immediate or ot_bits8,ot_none); + code : #241#242#243#250#1#48#72#22; + flags : [if_avx512] + ), + ( + opcode : A_KTESTB; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KTESTD; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #241#242#243#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KTESTQ; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#243#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KTESTW; + ops : 2; + optypes : (ot_kreg,ot_kreg,ot_none,ot_none); + code : #242#248#1#153#72; + flags : [if_avx512] + ), + ( + opcode : A_KUNPCKBW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#75#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KUNPCKDQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#75#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KUNPCKWD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#75#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXNORW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#70#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORB; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORD; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #241#242#243#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORQ; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#243#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_KXORW; + ops : 3; + optypes : (ot_kreg,ot_kreg,ot_kreg,ot_none); + code : #242#244#248#1#71#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGND; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VALIGNQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#3#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBLENDMPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#101#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#25#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#244#249#1#25#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#25#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTF32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#25#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF32X4; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#244#249#1#26#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTF32X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#26#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTF32X8; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#27#72; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VBROADCASTF64X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#244#249#1#26#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF64X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#234#241#249#1#26#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTF64X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#234#241#249#1#27#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#89#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#249#1#89#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#89#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#244#249#1#89#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#233#241#249#1#89#72; + flags : [if_avx512] + ), + ( + opcode : A_VBROADCASTI32X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#233#241#249#1#89#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI32X4; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#244#249#1#90#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTI32X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#241#249#1#90#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VBROADCASTI32X8; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#249#1#91#72; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VBROADCASTI64X2; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#244#249#1#90#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI64X2; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#233#234#241#249#1#90#72; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VBROADCASTI64X4; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#234#241#249#1#91#72; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VCOMPRESSPD; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPD; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPD; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#138#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#138#65; + flags : [if_avx512] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#138#65; + flags : [if_avx512] + ), + ( + opcode : A_VCOMPRESSPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#138#65; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#123#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#244#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#248#1#121#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#244#248#1#121#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#244#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#248#1#121#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#121#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#121#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#121#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#241#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#123#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#123#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#123#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#123#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#123#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#123#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #232#233#241#248#1#123#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#121#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#244#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#121#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#121#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#121#72; + flags : [if_avx512,if_bcst16,if_tfv] + ), + ( + opcode : A_VCVTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#121#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#121#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#121#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#121#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#121#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#121#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #232#233#241#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#234#244#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#244#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #219#232#233#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#233#234#248#1#230#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #219#232#233#234#248#1#230#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#244#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#248#1#91#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#248#1#91#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#244#248#1#91#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#244#248#1#91#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#248#1#91#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#248#1#91#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #232#233#234#248#1#91#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#248#1#121#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#248#1#121#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #220#232#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#248#1#121#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#234#248#1#121#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_er,ot_none,ot_none); + code : #219#232#234#248#1#121#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#248#1#120#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#244#248#1#120#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#244#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#248#1#120#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTTPD2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPD2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#122#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#122#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#122#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTTPS2QQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#241#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#244#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#248#1#120#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTTPS2UDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #232#241#248#1#120#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#248#1#120#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#244#248#1#120#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#248#1#120#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#233#241#248#1#120#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#248#1#120#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTTPS2UQQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none); + code : #232#233#241#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#248#1#120#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none); + code : #220#232#234#248#1#120#72; + flags : [if_avx512,if_t1f64] + ), + ( + opcode : A_VCVTTSD2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #220#232#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#248#1#120#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg32,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none); + code : #219#232#234#248#1#120#72; + flags : [if_avx512,if_t1f32] + ), + ( + opcode : A_VCVTTSS2USI; + ops : 2; + optypes : (ot_reg64,ot_xmmreg_sae,ot_none,ot_none); + code : #219#232#234#248#1#120#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits64,ot_none,ot_none); + code : #219#232#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#248#1#122#72; + flags : [if_avx512,if_bcst2,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#244#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#244#248#1#122#72; + flags : [if_avx512,if_bcst4,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #219#232#233#248#1#122#72; + flags : [if_avx512,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #219#232#233#248#1#122#72; + flags : [if_avx512,if_bcst8,if_thv] + ), + ( + opcode : A_VCVTUDQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none); + code : #219#232#233#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #220#232#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #220#232#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #220#232#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #220#232#233#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #220#232#233#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUDQ2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #220#232#233#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#234#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#234#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #219#232#233#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #219#232#233#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #219#232#233#234#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #220#232#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #220#232#234#244#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#248#1#122#72; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#234#244#248#1#122#72; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#234#244#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #220#232#233#234#248#1#122#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #220#232#233#234#248#1#122#72; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VCVTUQQ2PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none); + code : #220#232#233#234#248#1#122#72; + flags : [if_avx512] + ), + ( + opcode : A_VCVTUSI2SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits64,ot_none); + code : #220#232#234#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCVTUSI2SD; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits32,ot_none); + code : #220#232#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCVTUSI2SS; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits64,ot_none); + code : #219#232#234#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VCVTUSI2SS; + ops : 3; + optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits32,ot_none); + code : #219#232#248#1#123#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VDBPSADBW; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#66#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VDBPSADBW; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#66#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VDBPSADBW; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#66#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VEXP2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#200#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXP2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#200#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VEXP2PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#200#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#244#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#241#244#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#136#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VEXPANDPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#136#72; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#25#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#25#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF32X8; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#27#65#22; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VEXTRACTF32X8; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#27#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#25#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#25#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#25#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTF64X4; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#27#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTF64X4; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#27#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#57#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#57#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI32X4; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI32X8; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#59#65#22; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VEXTRACTI32X8; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#59#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_mem128_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#57#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_mem128_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#57#65#22; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI64X2; + ops : 3; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#57#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VEXTRACTI64X4; + ops : 3; + optypes : (ot_mem256_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#59#65#22; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VEXTRACTI64X4; + ops : 3; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#59#65#22; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#84#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#84#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFIXUPIMMPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#241#250#1#84#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#85#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFIXUPIMMSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#85#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFIXUPIMMSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#85#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFIXUPIMMSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#85#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#102#72#22; + flags : [if_avx512,if_bcst2,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#102#72#22; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPD; + ops : 3; + optypes : (ot_kreg_m,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#102#72#22; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#102#72#22; + flags : [if_avx512,if_bcst4,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#102#72#22; + flags : [if_avx512,if_bcst8,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#102#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VFPCLASSPS; + ops : 3; + optypes : (ot_kreg_m,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#102#72#22; + flags : [if_avx512,if_bcst16,if_tfv] + ), + ( + opcode : A_VFPCLASSSD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#103#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VFPCLASSSD; + ops : 3; + optypes : (ot_kreg_m,ot_memory or ot_bits64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#103#72#22; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VFPCLASSSS; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#103#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VFPCLASSSS; + ops : 3; + optypes : (ot_kreg_m,ot_memory or ot_bits32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#103#72#22; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#66#72; + flags : [if_avx512] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#66#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETEXPPS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#66#72; + flags : [if_avx512] + ), + ( + opcode : A_VGETEXPSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#67#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETEXPSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#234#241#249#1#67#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VGETEXPSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#67#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETEXPSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#241#249#1#67#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#38#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#38#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VGETMANTPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#38#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#39#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETMANTSD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#39#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VGETMANTSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#39#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VGETMANTSS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#39#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VINSERTF32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#24#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTF32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#24#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTF32X8; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#26#61#80#23; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VINSERTF64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#24#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTF64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#24#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTF64X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#26#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTI32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#56#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTI32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#56#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VINSERTI32X8; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#58#61#80#23; + flags : [if_avx512,if_t8] + ), + ( + opcode : A_VINSERTI64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#56#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTI64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#56#61#80#23; + flags : [if_avx512,if_t2] + ), + ( + opcode : A_VINSERTI64X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#58#61#80#23; + flags : [if_avx512,if_t4] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA32; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQA64; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #220#232#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#234#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#234#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #220#232#233#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU16; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #220#232#233#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU32; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #219#232#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #219#232#234#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#234#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #219#232#233#234#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU64; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#234#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #220#232#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_xmmrm_mz,ot_xmmreg,ot_none,ot_none); + code : #220#232#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #220#232#244#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_ymmrm_mz,ot_ymmreg,ot_none,ot_none); + code : #220#232#244#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #220#232#233#248#1#111#72; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VMOVDQU8; + ops : 2; + optypes : (ot_zmmrm_mz,ot_zmmreg,ot_none,ot_none); + code : #220#232#233#248#1#127#65; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPABSQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#31#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDND; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDNQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#223#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPANDQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#219#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#100#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPBLENDMW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPBLENDMW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#102#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPB; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPB; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPB; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#31#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUB; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUB; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUB; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUD; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUQ; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#30#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCMPUW; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUW; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPUW; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#62#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPW; + ops : 4; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPW; + ops : 4; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCMPW; + ops : 4; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#63#61#80#23; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#139#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCOMPRESSQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#139#65; + flags : [if_avx512] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPCONFLICTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#196#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2B; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2B; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2B; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#119#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#118#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMI2W; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2W; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMI2W; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#117#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2B; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2B; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2B; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2D; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2PS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#127#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2Q; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#126#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPERMT2W; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2W; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMT2W; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#125#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPERMW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#141#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#241#244#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none); + code : #232#234#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none); + code : #232#234#241#244#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#137#72; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPEXPANDQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#137#72; + flags : [if_avx512] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPLZCNTQ; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#68#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52HUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#181#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMADD52LUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#180#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#61#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMAXUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#63#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINSQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#57#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMINUQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#59#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMOVB2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVB2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVB2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVD2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVD2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVD2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#49#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#49#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#49#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#49#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#49#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#49#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#51#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#51#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#51#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#51#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#51#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVDW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#51#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2B; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2B; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#244#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2B; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2D; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2D; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#244#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2D; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2Q; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2Q; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#244#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2Q; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#234#249#1#56#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2W; + ops : 2; + optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2W; + ops : 2; + optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none); + code : #219#232#234#244#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVM2W; + ops : 2; + optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none); + code : #219#232#233#234#249#1#40#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQ2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#234#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQ2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#234#244#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQ2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#234#249#1#57#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#50#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_mem32_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#50#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_mem64_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#50#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#50#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#50#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#50#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#53#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#53#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#53#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#53#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#53#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#53#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#52#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#52#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#52#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#52#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#52#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#52#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#33#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#33#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#33#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#33#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#33#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#33#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#35#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#35#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#35#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#35#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#35#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSDW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#35#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#34#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_mem32_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#34#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_mem64_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#34#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#34#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#34#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#34#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#37#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#37#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#37#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#37#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#37#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#37#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#36#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#36#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#36#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#36#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#36#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#36#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#32#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#32#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#32#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#32#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#32#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVSWB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#32#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#17#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#17#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#17#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#17#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#19#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#19#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#19#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#19#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#19#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSDW; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#19#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#18#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_mem32_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#18#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_mem64_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#18#65; + flags : [if_avx512,if_tovm] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#18#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#18#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#18#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#21#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#21#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#21#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#21#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#21#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#21#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_mem128_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#20#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#20#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_mem64_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#20#65; + flags : [if_avx512,if_tqvm] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#20#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#20#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSQW; + ops : 2; + optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#20#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#16#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#16#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#16#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#16#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#16#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVUSWB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#16#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVW2M; + ops : 2; + optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none); + code : #219#232#234#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVW2M; + ops : 2; + optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none); + code : #219#232#234#244#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVW2M; + ops : 2; + optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#234#249#1#41#72; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_mem128_m,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#48#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_mem256_m,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#48#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#48#65; + flags : [if_avx512,if_thvm] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none); + code : #219#232#249#1#48#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none); + code : #219#232#244#249#1#48#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMOVWB; + ops : 2; + optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none); + code : #219#232#233#249#1#48#65; + flags : [if_avx512] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#64#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPMULTISHIFTQB; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#131#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#235#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#137#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPROLVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#21#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#136#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPRORVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#20#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSCATTERDD; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDD; + ops : 2; + optypes : (ot_ymem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDD; + ops : 2; + optypes : (ot_zmem32_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDQ; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDQ; + ops : 2; + optypes : (ot_xmem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERDQ; + ops : 2; + optypes : (ot_ymem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#160#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQD; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQD; + ops : 2; + optypes : (ot_ymem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQD; + ops : 2; + optypes : (ot_zmem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQQ; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQQ; + ops : 2; + optypes : (ot_ymem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSCATTERQQ; + ops : 2; + optypes : (ot_zmem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#161#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VPSLLVW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#18#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSLLVW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#18#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSLLVW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#18#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_xmmrm,ot_none); + code : #232#234#241#244#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_xmmrm,ot_none); + code : #232#233#234#241#248#1#226#61#80; + flags : [if_avx512,if_tmem128] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#248#1#114#60#140#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#70#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPSRAVW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#17#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRAVW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#17#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRAVW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#17#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRLVW; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#16#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRLVW; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#16#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPSRLVW; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#16#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTERNLOGQ; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#37#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMB; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTMW; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTMW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMB; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMB; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMB; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem32,ot_none); + code : #219#232#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem32,ot_none); + code : #219#232#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMD; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem32,ot_none); + code : #219#232#233#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_bmem64,ot_none); + code : #219#232#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#234#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_bmem64,ot_none); + code : #219#232#234#244#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMQ; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_bmem64,ot_none); + code : #219#232#233#234#249#1#39#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPTESTNMW; + ops : 3; + optypes : (ot_kreg_m,ot_xmmreg,ot_xmmrm,ot_none); + code : #219#232#234#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMW; + ops : 3; + optypes : (ot_kreg_m,ot_ymmreg,ot_ymmrm,ot_none); + code : #219#232#234#244#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPTESTNMW; + ops : 3; + optypes : (ot_kreg_m,ot_zmmreg,ot_zmmrm,ot_none); + code : #219#232#233#234#249#1#38#61#80; + flags : [if_avx512,if_tfvm] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none); + code : #232#233#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VPXORQ; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#248#1#239#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPD; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#80#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8); + code : #232#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_immediate or ot_bits8); + code : #232#233#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#80#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRANGEPS; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_immediate or ot_bits8); + code : #232#233#241#250#1#80#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRANGESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#81#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRANGESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#81#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRANGESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#81#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRANGESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#81#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#76#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#77#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#234#241#249#1#77#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRCP14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#77#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#241#249#1#77#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#202#72; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#202#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRCP28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#202#72; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#203#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#234#241#249#1#203#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRCP28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#203#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRCP28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#241#249#1#203#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#86#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#86#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VREDUCEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#86#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#87#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VREDUCESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#87#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VREDUCESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#87#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VREDUCESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#87#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#234#241#244#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#9#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#234#241#250#1#9#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#241#244#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#8#72#22; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRNDSCALEPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_immediate or ot_bits8,ot_none); + code : #232#233#241#250#1#8#72#22; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8); + code : #232#234#241#250#1#11#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRNDSCALESD; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#234#241#250#1#11#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRNDSCALESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8); + code : #232#241#250#1#10#61#80#23; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRNDSCALESS; + ops : 4; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_immediate or ot_bits8); + code : #232#241#250#1#10#61#80#23; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#234#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#234#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none); + code : #232#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_ymmrm,ot_none,ot_none); + code : #232#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_ymmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#241#244#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmrm,ot_none,ot_none); + code : #232#233#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#78#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#234#241#249#1#79#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT14SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#79#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none); + code : #232#241#249#1#79#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT14SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#79#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#234#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem64,ot_none,ot_none); + code : #232#233#234#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PD; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#234#241#249#1#204#72; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none); + code : #232#233#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none); + code : #232#233#241#249#1#204#72; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VRSQRT28PS; + ops : 2; + optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none); + code : #232#233#241#249#1#204#72; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#205#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT28SD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#234#241#249#1#205#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VRSQRT28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#205#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VRSQRT28SS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none); + code : #232#241#249#1#205#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none); + code : #232#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#234#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none); + code : #232#234#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none); + code : #232#233#234#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPD; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#234#241#249#1#44#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none); + code : #232#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none); + code : #232#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none); + code : #232#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none); + code : #232#241#244#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none); + code : #232#233#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none); + code : #232#233#241#249#1#44#61#80; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSCALEFPS; + ops : 3; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none); + code : #232#233#241#249#1#44#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none); + code : #232#234#241#249#1#45#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCALEFSD; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#234#241#249#1#45#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCALEFSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none); + code : #232#241#249#1#45#61#80; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCALEFSS; + ops : 3; + optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none); + code : #232#241#249#1#45#61#80; + flags : [if_avx512] + ), + ( + opcode : A_VSCATTERDPD; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPD; + ops : 2; + optypes : (ot_xmem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPD; + ops : 2; + optypes : (ot_ymem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPS; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPS; + ops : 2; + optypes : (ot_ymem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#241#244#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERDPS; + ops : 2; + optypes : (ot_zmem32_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#241#249#1#162#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPD; + ops : 2; + optypes : (ot_xmem64_m,ot_xmmreg,ot_none,ot_none); + code : #232#234#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPD; + ops : 2; + optypes : (ot_ymem64_m,ot_ymmreg,ot_none,ot_none); + code : #232#234#241#244#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPD; + ops : 2; + optypes : (ot_zmem64_m,ot_zmmreg,ot_none,ot_none); + code : #232#233#234#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPS; + ops : 2; + optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPS; + ops : 2; + optypes : (ot_ymem32_m,ot_xmmreg,ot_none,ot_none); + code : #232#241#244#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSCATTERQPS; + ops : 2; + optypes : (ot_zmem32_m,ot_ymmreg,ot_none,ot_none); + code : #232#233#241#249#1#163#65; + flags : [if_avx512,if_t1s] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFF64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#35#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI32X4; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_immediate or ot_bits8); + code : #232#233#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#234#241#244#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] + ), + ( + opcode : A_VSHUFI64X2; + ops : 4; + optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_immediate or ot_bits8); + code : #232#233#234#241#250#1#67#61#80#23; + flags : [if_avx512,if_tfv] ) ); diff --git a/tests/test/units/character/tissurrogatepair.pp b/tests/test/units/character/tissurrogatepair.pp index 5491cf06ad..5a6b8735bc 100644 --- a/tests/test/units/character/tissurrogatepair.pp +++ b/tests/test/units/character/tissurrogatepair.pp @@ -17,6 +17,10 @@ uses {$ifndef FPC} type UnicodeChar = WideChar; {$endif} + +const + { test only a spare grid, else the test runs too long (testing all combinations means dist=1) } + dist = 8; procedure DoError(ACode : Integer; ACodePoint1, ACodePoint2 : Integer); overload; begin @@ -40,12 +44,12 @@ begin end; Inc(e); - for i := Low(Word) to High(Word) do begin - if (i < HIGH_SURROGATE_BEGIN) or (i > HIGH_SURROGATE_END) then begin - for j := Low(Word) to High(Word) do begin - if (j < LOW_SURROGATE_BEGIN) or (j > LOW_SURROGATE_END) then begin - if TCharacter.IsSurrogatePair(UnicodeChar(i),UnicodeChar(j)) then - DoError(e,i,j); + for i := Low(Word) to High(Word) div dist do begin + if (i*dist < HIGH_SURROGATE_BEGIN) or (i*dist > HIGH_SURROGATE_END) then begin + for j := Low(Word) to High(Word) div dist do begin + if (j*dist < LOW_SURROGATE_BEGIN) or (j*dist > LOW_SURROGATE_END) then begin + if TCharacter.IsSurrogatePair(UnicodeChar(i*dist),UnicodeChar(j*dist)) then + DoError(e,i*dist,j*dist); end; end; end; diff --git a/tests/test/units/character/tissurrogatepair2.pp b/tests/test/units/character/tissurrogatepair2.pp index 39ee6e3cdc..c909379153 100644 --- a/tests/test/units/character/tissurrogatepair2.pp +++ b/tests/test/units/character/tissurrogatepair2.pp @@ -17,6 +17,10 @@ uses {$ifndef FPC} type UnicodeChar = WideChar; {$endif} + +const + { test only a spare grid, else the test runs too long (testing all combinations means dist=1) } + dist = 8; procedure DoError(ACode : Integer; ACodePoint1, ACodePoint2 : Integer); overload; begin @@ -44,14 +48,14 @@ begin end; Inc(e); - for i := Low(Word) to High(Word) do begin - if (i < HIGH_SURROGATE_BEGIN) or (i > HIGH_SURROGATE_END) then begin - for j := Low(Word) to High(Word) do begin - if (j < LOW_SURROGATE_BEGIN) or (j > LOW_SURROGATE_END) then begin - s[5] := UnicodeChar(i); - s[6] := UnicodeChar(j); + for i := Low(Word) to High(Word) div dist do begin + if (i*dist < HIGH_SURROGATE_BEGIN) or (i*dist > HIGH_SURROGATE_END) then begin + for j := Low(Word) to High(Word) div dist do begin + if (j*dist < LOW_SURROGATE_BEGIN) or (j*dist > LOW_SURROGATE_END) then begin + s[5] := UnicodeChar(i*dist); + s[6] := UnicodeChar(j*dist); if TCharacter.IsSurrogatePair(s,5) then - DoError(e,i,j); + DoError(e,i*dist,j*dist); end; end; end; diff --git a/tests/utils/avx/asmtestgenerator.pas b/tests/utils/avx/asmtestgenerator.pas index 0e39e83144..befbe9e16c 100644 --- a/tests/utils/avx/asmtestgenerator.pas +++ b/tests/utils/avx/asmtestgenerator.pas @@ -27,9 +27,10 @@ interface uses BaseList, Classes; type - TOpType = (otUnknown, otXMMReg, otXMMRM, otXMMRM16, otXMMRM8, otYMMReg, otYMMRM, otEAX, otRAX, otMem32, - otMem8, otMem16, otMem64, otMem128, otMem256, otREG64, otREG32, otREG16, otRM32, otRM64, otIMM8, - otXMEM32, otXMEM64, otYMEM32, otYMEM64); + TOpType = (otUnknown, otXMMReg, otXMMRM, otXMMRM16, otXMMRM8, otYMMReg, otYMMRM, otZMMReg, otZMMRM, otEAX, otRAX, otMem32, + otMem8, otMem16, otMem64, otMem128, otMem256, otMem512, otREG64, otREG32, otREG16, otREG8, otRM32, otRM64, otIMM8, + otXMEM32, otXMEM64, otYMEM32, otYMEM64, otZMEM32, otZMEM64, + otB32, otB64, otKREG); TOperandListItem = class(TObject) private @@ -63,7 +64,8 @@ type TAsmTestGenerator = class(TObject) private - FReg16Base : TStringList; + FReg8 : TStringList; + FReg16 : TStringList; FReg32Base : TStringList; FReg32Index : TStringList; FReg64Base : TStringList; @@ -72,20 +74,27 @@ type FReg6432Index : TStringList; FReg32XMMIndex : TStringList; FReg32YMMIndex : TStringList; + FReg32ZMMIndex : TStringList; FReg64XMMIndex : TStringList; FReg64YMMIndex : TStringList; + FReg64ZMMIndex : TStringList; + FRegKREG : TStringList; Fx64: boolean; + FAVX512: boolean; + FSAE: boolean; - procedure MemRegBaseIndexCombi(const aPrefix: String; aSLBaseReg, aSLIndexReg, aRList: TStringList); - procedure VectorMemRegBaseIndexCombi(const aPrefix: String; aSLBaseReg, aSLIndexReg, aRList: TStringList); + procedure MemRegBaseIndexCombi(const aPrefix, aSuffix: String; aSLBaseReg, aSLIndexReg, aRList: TStringList); + procedure VectorMemRegBaseIndexCombi(const aPrefix, aSuffix: String; aSLBaseReg, aSLIndexReg, aRList: TStringList); function InternalCalcTestData(const aInst, aOp1, aOp2, aOp3, aOp4: String): TStringList; public constructor Create; destructor Destroy; override; - class procedure CalcTestData(aX64: boolean; const aInst, aOp1, aOp2, aOp3, aOp4: String; aSL: TStringList); + class procedure CalcTestData(aX64, aAVX512, aSAE: boolean; const aInst, aOp1, aOp2, aOp3, aOp4: String; aSL: TStringList); + + class procedure CalcTestInstFile; property x64: boolean read Fx64; end; @@ -94,6 +103,363 @@ implementation uses SysUtils, Dialogs; +const + instabentries = {$i ../../../compiler/x86_64/x8664nop.inc} + +type + TAsmOp={$i ../../../compiler/x86_64/x8664op.inc} + + op2strtable=array[tasmop] of string[16]; + + {Instruction flags } + tinsflag = ( + { please keep these in order and in sync with IF_SMASK } + IF_SM, { size match first two operands } + IF_SM2, + IF_SB, { unsized operands can't be non-byte } + IF_SW, { unsized operands can't be non-word } + IF_SD, { unsized operands can't be nondword } + + { unsized argument spec } + { please keep these in order and in sync with IF_ARMASK } + IF_AR0, { SB, SW, SD applies to argument 0 } + IF_AR1, { SB, SW, SD applies to argument 1 } + IF_AR2, { SB, SW, SD applies to argument 2 } + + IF_PRIV, { it's a privileged instruction } + IF_SMM, { it's only valid in SMM } + IF_PROT, { it's protected mode only } + IF_NOX86_64, { removed instruction in x86_64 } + IF_UNDOC, { it's an undocumented instruction } + IF_FPU, { it's an FPU instruction } + IF_MMX, { it's an MMX instruction } + { it's a 3DNow! instruction } + IF_3DNOW, + { it's a SSE (KNI, MMX2) instruction } + IF_SSE, + { SSE2 instructions } + IF_SSE2, + { SSE3 instructions } + IF_SSE3, + { SSE64 instructions } + IF_SSE64, + { SVM instructions } + IF_SVM, + { SSE4 instructions } + IF_SSE4, + IF_SSSE3, + IF_SSE41, + IF_SSE42, + IF_MOVBE, + IF_CLMUL, + IF_AVX, + IF_AVX2, + IF_AVX512, + IF_BMI1, + IF_BMI2, + { Intel ADX (Multi-Precision Add-Carry Instruction Extensions) } + IF_ADX, + IF_16BITONLY, + IF_FMA, + IF_FMA4, + IF_TSX, + IF_RAND, + IF_XSAVE, + IF_PREFETCHWT1, + + { mask for processor level } + { please keep these in order and in sync with IF_PLEVEL } + IF_8086, { 8086 instruction } + IF_186, { 186+ instruction } + IF_286, { 286+ instruction } + IF_386, { 386+ instruction } + IF_486, { 486+ instruction } + IF_PENT, { Pentium instruction } + IF_P6, { P6 instruction } + IF_KATMAI, { Katmai instructions } + IF_WILLAMETTE, { Willamette instructions } + IF_PRESCOTT, { Prescott instructions } + IF_X86_64, + IF_SANDYBRIDGE, { Sandybridge-specific instruction } + IF_NEC, { NEC V20/V30 instruction } + + { the following are not strictly part of the processor level, because + they are never used standalone, but always in combination with a + separate processor level flag. Therefore, they use bits outside of + IF_PLEVEL, otherwise they would mess up the processor level they're + used in combination with. + The following combinations are currently used: + [IF_AMD, IF_P6], + [IF_CYRIX, IF_486], + [IF_CYRIX, IF_PENT], + [IF_CYRIX, IF_P6] } + IF_CYRIX, { Cyrix, Centaur or VIA-specific instruction } + IF_AMD, { AMD-specific instruction } + + { added flags } + IF_PRE, { it's a prefix instruction } + IF_PASS2, { if the instruction can change in a second pass } + IF_IMM4, { immediate operand is a nibble (must be in range [0..15]) } + IF_IMM3, { immediate operand is a triad (must be in range [0..7]) } + + IF_BCST2, + IF_BCST4, + IF_BCST8, + IF_BCST16, + IF_T2, { disp8 - tuple - 2 } + IF_T4, { disp8 - tuple - 4 } + IF_T8, { disp8 - tuple - 8 } + IF_T1S, { disp8 - tuple - 1 scalar } + IF_T1F32, + IF_T1F64, + IF_TMDDUP, + IF_TFV, { disp8 - tuple - full vector } + IF_TFVM, { disp8 - tuple - full vector memory } + IF_TQVM, + IF_TMEM128, + IF_THV, + IF_THVM, + IF_TOVM + + + ); + tinsflags=set of tinsflag; + + + tinsentry=packed record + opcode : tasmop; + ops : byte; + //optypes : array[0..max_operands-1] of longint; + optypes : array[0..3] of int64; //TG + code : array[0..11] of char; + flags : tinsflags; + end; + pinsentry=^tinsentry; + +const + OT_NONE = $00000000; + + { Bits 0..7: sizes } + OT_BITS8 = $00000001; + OT_BITS16 = $00000002; + OT_BITS32 = $00000004; + OT_BITS64 = $00000008; { x86_64 and FPU } + //OT_BITS128 = $10000000; { 16 byte SSE } + //OT_BITS256 = $20000000; { 32 byte AVX } + //OT_BITS512 = $40000000; { 64 byte AVX512 } + OT_BITS128 = $20000000; { 16 byte SSE } + OT_BITS256 = $40000000; { 32 byte AVX } + OT_BITS512 = $80000000; { 64 byte AVX512 } + + OT_VECTORMASK = $1000000000; { OPTIONAL VECTORMASK AVX512} + OT_VECTORZERO = $2000000000; { OPTIONAL ZERO-FLAG AVX512} + OT_VECTORBCST = $4000000000; { BROADCAST-MEM-FLAG AVX512} + OT_VECTORSAE = $8000000000; { OPTIONAL SAE-FLAG AVX512} + OT_VECTORER = $10000000000; { OPTIONAL ER-FLAG-FLAG AVX512} + + + OT_BITSB32 = OT_BITS32 or OT_VECTORBCST; + OT_BITSB64 = OT_BITS64 or OT_VECTORBCST; + + + OT_VECTOR_EXT_MASK = OT_VECTORMASK or OT_VECTORZERO or OT_VECTORBCST; + + OT_BITS80 = $00000010; { FPU only } + OT_FAR = $00000020; { this means 16:16 or 16:32, like in CALL/JMP } + OT_NEAR = $00000040; + OT_SHORT = $00000080; + + { TODO: FAR/NEAR/SHORT are sizes too, they should be included into size mask, + but this requires adjusting the opcode table } + //OT_SIZE_MASK = $3000001F; { all the size attributes } + OT_SIZE_MASK = $E000001F; { all the size attributes } + OT_NON_SIZE = longint(not OT_SIZE_MASK); + + { Bits 8..11: modifiers } + OT_SIGNED = $00000100; { the operand need to be signed -128-127 } + OT_TO = $00000200; { reverse effect in FADD, FSUB &c } + OT_COLON = $00000400; { operand is followed by a colon } + OT_MODIFIER_MASK = $00000F00; + + { Bits 12..15: type of operand } + OT_REGISTER = $00001000; + OT_IMMEDIATE = $00002000; + OT_MEMORY = $0000C000; { always includes 'OT_REGMEM' bit as well } + OT_REGMEM = $00008000; { for r/m, ie EA, operands } + OT_TYPE_MASK = OT_REGISTER or OT_IMMEDIATE or OT_MEMORY or OT_REGMEM; + + OT_REGNORM = OT_REGISTER or OT_REGMEM; { 'normal' reg, qualifies as EA } + + { Bits 20..22, 24..26: register classes + otf_* consts are not used alone, only to build other constants. } + otf_reg_cdt = $00100000; + otf_reg_gpr = $00200000; + otf_reg_sreg = $00400000; + otf_reg_k = $00800000; + otf_reg_fpu = $01000000; + otf_reg_mmx = $02000000; + otf_reg_xmm = $04000000; + otf_reg_ymm = $08000000; + otf_reg_zmm = $10000000; + + + otf_reg_extra_mask = $0F000000; + { Bits 16..19: subclasses, meaning depends on classes field } + otf_sub0 = $00010000; + otf_sub1 = $00020000; + otf_sub2 = $00040000; + otf_sub3 = $00080000; + OT_REG_SMASK = otf_sub0 or otf_sub1 or otf_sub2 or otf_sub3; + + //OT_REG_EXTRA_MASK = $0F000000; + OT_REG_EXTRA_MASK = $1F000000; + + OT_REG_TYPMASK = otf_reg_cdt or otf_reg_gpr or otf_reg_sreg or otf_reg_k or otf_reg_extra_mask; + { register class 0: CRx, DRx and TRx } + OT_REG_CDT = OT_REGISTER or otf_reg_cdt or OT_BITS64; + OT_REG_CREG = OT_REG_CDT or otf_sub0; { CRn } + OT_REG_DREG = OT_REG_CDT or otf_sub1; { DRn } + OT_REG_TREG = OT_REG_CDT or otf_sub2; { TRn } + OT_REG_CR4 = OT_REG_CDT or otf_sub3; { CR4 (Pentium only) } + + { register class 1: general-purpose registers } + OT_REG_GPR = OT_REGNORM or otf_reg_gpr; + OT_RM_GPR = OT_REGMEM or otf_reg_gpr; + OT_REG8 = OT_REG_GPR or OT_BITS8; { 8-bit GPR } + OT_REG16 = OT_REG_GPR or OT_BITS16; + OT_REG32 = OT_REG_GPR or OT_BITS32; + OT_REG64 = OT_REG_GPR or OT_BITS64; + + { GPR subclass 0: accumulator: AL, AX, EAX or RAX } + OT_REG_ACCUM = OT_REG_GPR or otf_sub0; + OT_REG_AL = OT_REG_ACCUM or OT_BITS8; + OT_REG_AX = OT_REG_ACCUM or OT_BITS16; + OT_REG_EAX = OT_REG_ACCUM or OT_BITS32; + OT_REG_RAX = OT_REG_ACCUM or OT_BITS64; + { GPR subclass 1: counter: CL, CX, ECX or RCX } + OT_REG_COUNT = OT_REG_GPR or otf_sub1; + OT_REG_CL = OT_REG_COUNT or OT_BITS8; + OT_REG_CX = OT_REG_COUNT or OT_BITS16; + OT_REG_ECX = OT_REG_COUNT or OT_BITS32; + OT_REG_RCX = OT_REG_COUNT or OT_BITS64; + { GPR subclass 2: data register: DL, DX, EDX or RDX } + OT_REG_DX = OT_REG_GPR or otf_sub2 or OT_BITS16; + OT_REG_EDX = OT_REG_GPR or otf_sub2 or OT_BITS32; + + { register class 2: Segment registers } + OT_REG_SREG = OT_REGISTER or otf_reg_sreg or OT_BITS16; + OT_REG_CS = OT_REG_SREG or otf_sub0; { CS } + OT_REG_DESS = OT_REG_SREG or otf_sub1; { DS, ES, SS (non-CS 86 registers) } + OT_REG_FSGS = OT_REG_SREG or otf_sub2; { FS, GS (386 extended registers) } + + { register class 3: FPU registers } + OT_FPUREG = OT_REGISTER or otf_reg_fpu; + OT_FPU0 = OT_FPUREG or otf_sub0; { FPU stack register zero } + + { register class 4: MMX (both reg and r/m) } + OT_MMXREG = OT_REGNORM or otf_reg_mmx; + OT_MMXRM = OT_REGMEM or otf_reg_mmx; + + { register class 5: XMM (both reg and r/m) } + OT_XMMREG = OT_REGNORM or otf_reg_xmm; + OT_XMMRM = OT_REGMEM or otf_reg_xmm; + OT_XMEM32 = OT_REGNORM or otf_reg_xmm or otf_reg_gpr or OT_BITS32; + OT_XMEM32_M = OT_XMEM32 or OT_VECTORMASK; + OT_XMEM64 = OT_REGNORM or otf_reg_xmm or otf_reg_gpr or OT_BITS64; + OT_XMEM64_M = OT_XMEM64 or OT_VECTORMASK; + + OT_XMMREG_M = OT_XMMREG or OT_VECTORMASK; + OT_XMMREG_MZ = OT_XMMREG or OT_VECTORMASK or OT_VECTORZERO; + OT_XMMRM_MZ = OT_XMMRM or OT_VECTORMASK or OT_VECTORZERO; + OT_XMMREG_SAE = OT_XMMREG or OT_VECTORSAE; + OT_XMMRM_SAE = OT_XMMRM or OT_VECTORSAE; + OT_XMMREG_ER = OT_XMMREG or OT_VECTORER; + OT_XMMRM_ER = OT_XMMRM or OT_VECTORER; + + + + { register class 5: YMM (both reg and r/m) } + OT_YMMREG = OT_REGNORM or otf_reg_ymm; + OT_YMMRM = OT_REGMEM or otf_reg_ymm; + OT_YMEM32 = OT_REGNORM or otf_reg_ymm or otf_reg_gpr or OT_BITS32; + OT_YMEM32_M = OT_YMEM32 or OT_VECTORMASK; + OT_YMEM64 = OT_REGNORM or otf_reg_ymm or otf_reg_gpr or OT_BITS64; + OT_YMEM64_M = OT_YMEM64 or OT_VECTORMASK; + + OT_YMMREG_M = OT_YMMREG or OT_VECTORMASK; + OT_YMMREG_MZ = OT_YMMREG or OT_VECTORMASK or OT_VECTORZERO; + OT_YMMRM_MZ = OT_YMMRM or OT_VECTORMASK or OT_VECTORZERO; + OT_YMMREG_SAE = OT_YMMREG or OT_VECTORSAE; + OT_YMMRM_SAE = OT_YMMRM or OT_VECTORSAE; + OT_YMMREG_ER = OT_YMMREG or OT_VECTORER; + OT_YMMRM_ER = OT_YMMRM or OT_VECTORER; + + + { register class 5: ZMM (both reg and r/m) } + OT_ZMMREG = OT_REGNORM or otf_reg_zmm; + OT_ZMMRM = OT_REGMEM or otf_reg_zmm; + OT_ZMEM32 = OT_REGNORM or otf_reg_zmm or otf_reg_gpr or OT_BITS32; + OT_ZMEM32_M = OT_ZMEM32 or OT_VECTORMASK; + OT_ZMEM64 = OT_REGNORM or otf_reg_zmm or otf_reg_gpr or OT_BITS64; + OT_ZMEM64_M = OT_ZMEM64 or OT_VECTORMASK; + + OT_ZMMREG_M = OT_ZMMREG or OT_VECTORMASK; + OT_ZMMREG_MZ = OT_ZMMREG or OT_VECTORMASK or OT_VECTORZERO; + OT_ZMMRM_MZ = OT_ZMMRM or OT_VECTORMASK or OT_VECTORZERO; + OT_ZMMREG_SAE = OT_ZMMREG or OT_VECTORSAE; + OT_ZMMRM_SAE = OT_ZMMRM or OT_VECTORSAE; + OT_ZMMREG_ER = OT_ZMMREG or OT_VECTORER; + OT_ZMMRM_ER = OT_ZMMRM or OT_VECTORER; + + + OT_KREG = OT_REGNORM or otf_reg_k; + OT_KREG_M = OT_KREG or OT_VECTORMASK; + + { Vector-Memory operands } + OT_VMEM_ANY = OT_XMEM32 or OT_XMEM64 or OT_YMEM32 or OT_YMEM64 or OT_ZMEM32 or OT_ZMEM64; + + { Memory operands } + OT_MEM8 = OT_MEMORY or OT_BITS8; + OT_MEM16 = OT_MEMORY or OT_BITS16; + OT_MEM16_M = OT_MEM16 or OT_VECTORMASK; + OT_MEM32 = OT_MEMORY or OT_BITS32; + OT_MEM32_M = OT_MEMORY or OT_BITS32 or OT_VECTORMASK; + OT_BMEM32 = OT_MEMORY or OT_BITS32 or OT_VECTORBCST; + OT_BMEM32_SAE= OT_MEMORY or OT_BITS32 or OT_VECTORBCST or OT_VECTORSAE; + OT_MEM64 = OT_MEMORY or OT_BITS64; + OT_MEM64_M = OT_MEMORY or OT_BITS64 or OT_VECTORMASK; + OT_BMEM64 = OT_MEMORY or OT_BITS64 or OT_VECTORBCST; + OT_BMEM64_SAE= OT_MEMORY or OT_BITS64 or OT_VECTORBCST or OT_VECTORSAE; + OT_MEM128 = OT_MEMORY or OT_BITS128; + OT_MEM128_M = OT_MEMORY or OT_BITS128 or OT_VECTORMASK; + OT_MEM256 = OT_MEMORY or OT_BITS256; + OT_MEM256_M = OT_MEMORY or OT_BITS256 or OT_VECTORMASK; + OT_MEM512 = OT_MEMORY or OT_BITS512; + OT_MEM512_M = OT_MEMORY or OT_BITS512 or OT_VECTORMASK; + OT_MEM80 = OT_MEMORY or OT_BITS80; + + + + + OT_MEM_OFFS = OT_MEMORY or otf_sub0; { special type of EA } + { simple [address] offset } + + { Matches any type of r/m operand } + OT_MEMORY_ANY = OT_MEMORY or OT_RM_GPR or OT_XMMRM or OT_MMXRM or OT_YMMRM or OT_ZMMRM or OT_REG_EXTRA_MASK; + + { Immediate operands } + OT_IMM8 = OT_IMMEDIATE or OT_BITS8; + OT_IMM16 = OT_IMMEDIATE or OT_BITS16; + OT_IMM32 = OT_IMMEDIATE or OT_BITS32; + OT_IMM64 = OT_IMMEDIATE or OT_BITS64; + + OT_ONENESS = otf_sub0; { special type of immediate operand } + OT_UNITY = OT_IMMEDIATE or OT_ONENESS; { for shift/rotate instructions } + + std_op2str:op2strtable={$i ../../../compiler/x86_64/x8664int.inc} + + InsTab:array[0..instabentries-1] of TInsEntry={$i ../../../compiler/x86_64/x8664tab.inc} + { TOperandListItem } constructor TOperandListItem.Create; @@ -129,6 +495,7 @@ end; function TAsmTestGenerator.InternalCalcTestData(const aInst, aOp1, aOp2, aOp3, aOp4: String): TStringList; var + i: integer; Item: TOperandListItem; OItem1: TOperandListItem; OItem2: TOperandListItem; @@ -141,6 +508,7 @@ var il_Op3: integer; il_Op4: integer; + sSuffix: string; sl_Operand: String; sl_Inst : String; sl_RegCombi: String; @@ -174,11 +542,31 @@ begin OItem4 := TOperandListItem.Create; try - UsePrefix := (aInst = 'VCVTPD2DQ') OR - (aInst = 'VCVTPD2PS') OR - (aInst = 'VCVTSI2SD') OR - (aInst = 'VCVTSI2SS') OR - (aInst = 'VCVTTPD2DQ'); + UsePrefix := (UpperCase(aInst) = 'VCVTPD2DQ') OR + (UpperCase(aInst) = 'VCVTPD2PS') OR + (UpperCase(aInst) = 'VCVTSI2SD') OR + (UpperCase(aInst) = 'VCVTSI2SS') OR + (UpperCase(aInst) = 'VCVTTPD2DQ') or + (UpperCase(aInst) = 'VPMOVZXWQ') or + (UpperCase(aInst) = 'VCVTPD2UDQ') or + (UpperCase(aInst) = 'VCVTPD2UDQ') or + (UpperCase(aInst) = 'VCVTTPD2UDQ') or + (UpperCase(aInst) = 'VCVTUQQ2PS') or + (UpperCase(aInst) = 'VCVTQQ2PS') or + (UpperCase(aInst) = 'VCVTUSI2SD') or + (UpperCase(aInst) = 'VCVTUSI2SS') or + (UpperCase(aInst) = 'VFPCLASSPD') or + (UpperCase(aInst) = 'VFPCLASSPS') or + (UpperCase(aInst) = 'VCMPSS') + + ; + + + //TG TODO delete + if aInst = 'vpmovw2m' then + begin + sSuffix := sSuffix; + end; for il_Op := 1 to 4 do begin @@ -205,46 +593,58 @@ begin sl_Operand := PrepareOperandTyp(sl_Operand); - if AnsiSameText(sl_Operand, 'XMMREG') then + if (AnsiSameText(sl_Operand, 'XMMREG')) or + (AnsiSameText(sl_Operand, 'XMMREG_M')) or + (AnsiSameText(sl_Operand, 'XMMREG_MZ')) or + (AnsiSameText(sl_Operand, 'XMMREG_ER')) or + (AnsiSameText(sl_Operand, 'XMMREG_SAE')) then begin Item.OpNumber := il_Op; Item.OpTyp := otXMMReg; Item.OpActive := true; - Item.Values.Add('XMM0'); - Item.Values.Add('XMM1'); - Item.Values.Add('XMM2'); - Item.Values.Add('XMM3'); - Item.Values.Add('XMM4'); - Item.Values.Add('XMM5'); - Item.Values.Add('XMM6'); - Item.Values.Add('XMM7'); + sSuffix := ''; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}' + else if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if Pos('_ER', sl_Operand) > 0 then sSuffix := ', {ru-sae}' + else if FSAE and (Pos('_SAE', AnsiUppercase(sl_Operand)) > 0) then sSuffix := ', {sae}'; + + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM1' + sSuffix); + Item.Values.Add('XMM2' + sSuffix); + Item.Values.Add('XMM3' + sSuffix); + Item.Values.Add('XMM4' + sSuffix); + Item.Values.Add('XMM5' + sSuffix); + Item.Values.Add('XMM6' + sSuffix); + Item.Values.Add('XMM7' + sSuffix); if x64 then begin - if aOp4 <> 'XMMREG' then + Item.Values.Clear; + if FAVX512 then begin - Item.Values.Add('XMM8'); - Item.Values.Add('XMM9'); - Item.Values.Add('XMM10'); - Item.Values.Add('XMM11'); - Item.Values.Add('XMM12'); - Item.Values.Add('XMM13'); - Item.Values.Add('XMM14'); - Item.Values.Add('XMM15'); + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM9' + sSuffix); + Item.Values.Add('XMM18' + sSuffix); + Item.Values.Add('XMM27' + sSuffix); + Item.Values.Add('XMM31' + sSuffix); end else begin - Item.Values.Clear; - - Item.Values.Add('XMM0'); - Item.Values.Add('XMM7'); - Item.Values.Add('XMM8'); - Item.Values.Add('XMM15'); + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM4' + sSuffix); + Item.Values.Add('XMM8' + sSuffix); + Item.Values.Add('XMM12' + sSuffix); + Item.Values.Add('XMM15' + sSuffix); end; end; end - else if AnsiSameText(sl_Operand, 'XMMRM') then + else if (AnsiSameText(sl_Operand, 'XMMRM')) or + (AnsiSameText(sl_Operand, 'XMMRM_M')) or + (AnsiSameText(sl_Operand, 'XMMRM_MZ')) or + (AnsiSameText(sl_Operand, 'XMMRM_ER')) or + (AnsiSameText(sl_Operand, 'XMMRM_SAE')) then begin Item.OpNumber := il_Op; Item.OpTyp := otXMMRM; @@ -252,38 +652,55 @@ begin if UsePrefix then sl_Prefix := 'oword '; - Item.Values.Add('XMM0'); - Item.Values.Add('XMM1'); - Item.Values.Add('XMM2'); - Item.Values.Add('XMM3'); - Item.Values.Add('XMM4'); - Item.Values.Add('XMM5'); - Item.Values.Add('XMM6'); - Item.Values.Add('XMM7'); + sSuffix := ''; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}' + else if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if Pos('_ER', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ', {rd-sae}' + else if FSAE and (Pos('_SAE', AnsiUppercase(sl_Operand)) > 0) then sSuffix := ', {sae}'; + + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM1' + sSuffix); + Item.Values.Add('XMM2' + sSuffix); + Item.Values.Add('XMM3' + sSuffix); + Item.Values.Add('XMM4' + sSuffix); + Item.Values.Add('XMM5' + sSuffix); + Item.Values.Add('XMM6' + sSuffix); + Item.Values.Add('XMM7' + sSuffix); if x64 then begin - Item.Values.Add('XMM8'); - Item.Values.Add('XMM9'); - Item.Values.Add('XMM10'); - Item.Values.Add('XMM11'); - Item.Values.Add('XMM12'); - Item.Values.Add('XMM13'); - Item.Values.Add('XMM14'); - Item.Values.Add('XMM15'); - - //Item.Values.Add('[RIP]'); - //Item.Values.Add('[RIP + 16]'); + Item.Values.Clear; + if FAVX512 then + begin + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM9' + sSuffix); + Item.Values.Add('XMM18' + sSuffix); + Item.Values.Add('XMM27' + sSuffix); + Item.Values.Add('XMM31' + sSuffix); + end + else + begin + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM4' + sSuffix); + Item.Values.Add('XMM8' + sSuffix); + Item.Values.Add('XMM12' + sSuffix); + Item.Values.Add('XMM15' + sSuffix); + end; - MemRegBaseIndexCombi(sl_Prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_Prefix, '', FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end else begin - MemRegBaseIndexCombi(sl_Prefix, FReg32Base, FReg32Index, Item.Values); + MemRegBaseIndexCombi(sl_Prefix, '', FReg32Base, FReg32Index, Item.Values); end; end - else if AnsiSameText(sl_Operand, 'XMMRM8') then + else if (AnsiSameText(sl_Operand, 'XMMRM8')) or + (AnsiSameText(sl_Operand, 'XMMRM8_M')) or + (AnsiSameText(sl_Operand, 'XMMRM8_MZ')) or + (AnsiSameText(sl_Operand, 'XMMRM8_ER')) or + (AnsiSameText(sl_Operand, 'XMMRM8_SAE')) then begin Item.OpNumber := il_Op; Item.OpTyp := otXMMRM8; @@ -291,38 +708,59 @@ begin if UsePrefix then sl_Prefix := 'byte '; - Item.Values.Add('XMM0'); - Item.Values.Add('XMM1'); - Item.Values.Add('XMM2'); - Item.Values.Add('XMM3'); - Item.Values.Add('XMM4'); - Item.Values.Add('XMM5'); - Item.Values.Add('XMM6'); - Item.Values.Add('XMM7'); + sSuffix := ''; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}' + else if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if Pos('_ER', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ', {rd-sae}' + else if FSAE and (Pos('_SAE', AnsiUppercase(sl_Operand)) > 0) then sSuffix := ', {sae}'; + + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM1' + sSuffix); + Item.Values.Add('XMM2' + sSuffix); + Item.Values.Add('XMM3' + sSuffix); + Item.Values.Add('XMM4' + sSuffix); + Item.Values.Add('XMM5' + sSuffix); + Item.Values.Add('XMM6' + sSuffix); + Item.Values.Add('XMM7' + sSuffix); if x64 then begin - Item.Values.Add('XMM8'); - Item.Values.Add('XMM9'); - Item.Values.Add('XMM10'); - Item.Values.Add('XMM11'); - Item.Values.Add('XMM12'); - Item.Values.Add('XMM13'); - Item.Values.Add('XMM14'); - Item.Values.Add('XMM15'); + Item.Values.Clear; + if FAVX512 then + begin + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM9' + sSuffix); + Item.Values.Add('XMM18' + sSuffix); + Item.Values.Add('XMM27' + sSuffix); + Item.Values.Add('XMM31' + sSuffix); + end + else + begin + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM4' + sSuffix); + Item.Values.Add('XMM8' + sSuffix); + Item.Values.Add('XMM12' + sSuffix); + Item.Values.Add('XMM15' + sSuffix); + end; //Item.Values.Add('[RIP]'); //Item.Values.Add('[RIP + 16]'); - MemRegBaseIndexCombi(sl_Prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_Prefix, '', FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end else begin - MemRegBaseIndexCombi(sl_Prefix, FReg32Base, FReg32Index, Item.Values); + MemRegBaseIndexCombi(sl_Prefix, '', FReg32Base, FReg32Index, Item.Values); end; end - else if AnsiSameText(sl_Operand, 'XMMRM16') then + else if (AnsiSameText(sl_Operand, 'XMMRM16')) or + (AnsiSameText(sl_Operand, 'XMMRM16_M')) or + (AnsiSameText(sl_Operand, 'XMMRM16_MZ')) or + (AnsiSameText(sl_Operand, 'XMMRM16_ER')) or + (AnsiSameText(sl_Operand, 'XMMRM16_SAE')) + then begin Item.OpNumber := il_Op; Item.OpTyp := otXMMRM16; @@ -330,77 +768,107 @@ begin if UsePrefix then sl_Prefix := 'word '; - Item.Values.Add('XMM0'); - Item.Values.Add('XMM1'); - Item.Values.Add('XMM2'); - Item.Values.Add('XMM3'); - Item.Values.Add('XMM4'); - Item.Values.Add('XMM5'); - Item.Values.Add('XMM6'); - Item.Values.Add('XMM7'); + sSuffix := ''; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}' + else if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if Pos('_ER', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ', {rd-sae}' + else if FSAE and (Pos('_SAE', AnsiUppercase(sl_Operand)) > 0) then sSuffix := ', {sae}'; + + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM1' + sSuffix); + Item.Values.Add('XMM2' + sSuffix); + Item.Values.Add('XMM3' + sSuffix); + Item.Values.Add('XMM4' + sSuffix); + Item.Values.Add('XMM5' + sSuffix); + Item.Values.Add('XMM6' + sSuffix); + Item.Values.Add('XMM7' + sSuffix); if x64 then begin - Item.Values.Add('XMM8'); - Item.Values.Add('XMM9'); - Item.Values.Add('XMM10'); - Item.Values.Add('XMM11'); - Item.Values.Add('XMM12'); - Item.Values.Add('XMM13'); - Item.Values.Add('XMM14'); - Item.Values.Add('XMM15'); + Item.Values.Clear; + if FAVX512 then + begin + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM9' + sSuffix); + Item.Values.Add('XMM18' + sSuffix); + Item.Values.Add('XMM27' + sSuffix); + Item.Values.Add('XMM31' + sSuffix); + end + else + begin + Item.Values.Add('XMM0' + sSuffix); + Item.Values.Add('XMM4' + sSuffix); + Item.Values.Add('XMM8' + sSuffix); + Item.Values.Add('XMM12' + sSuffix); + Item.Values.Add('XMM15' + sSuffix); + end; //Item.Values.Add('[RIP]'); //Item.Values.Add('[RIP + 16]'); - MemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end else begin - MemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32Index, Item.Values); + MemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32Index, Item.Values); end; end - else if AnsiSameText(sl_Operand, 'YMMREG') then + else if (AnsiSameText(sl_Operand, 'YMMREG')) or + (AnsiSameText(sl_Operand, 'YMMREG_M')) or + (AnsiSameText(sl_Operand, 'YMMREG_MZ')) or + (AnsiSameText(sl_Operand, 'YMMREG_ER')) or + (AnsiSameText(sl_Operand, 'YMMREG_SAE')) + then begin Item.OpNumber := il_Op; Item.OpTyp := otYMMReg; Item.OpActive := true; - Item.Values.Add('YMM0'); - Item.Values.Add('YMM1'); - Item.Values.Add('YMM2'); - Item.Values.Add('YMM3'); - Item.Values.Add('YMM4'); - Item.Values.Add('YMM5'); - Item.Values.Add('YMM6'); - Item.Values.Add('YMM7'); + sSuffix := ''; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}' + else if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if Pos('_ER', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ', {rd-sae}' + else if FSAE and (Pos('_SAE', AnsiUppercase(sl_Operand)) > 0) then sSuffix := ', {sae}'; + + Item.Values.Add('YMM0' + sSuffix); + Item.Values.Add('YMM1' + sSuffix); + Item.Values.Add('YMM2' + sSuffix); + Item.Values.Add('YMM3' + sSuffix); + Item.Values.Add('YMM4' + sSuffix); + Item.Values.Add('YMM5' + sSuffix); + Item.Values.Add('YMM6' + sSuffix); + Item.Values.Add('YMM7' + sSuffix); if x64 then begin - if aOp4 <> 'YMMREG' then + Item.Values.Clear; + if FAVX512 then begin - Item.Values.Add('YMM8'); - Item.Values.Add('YMM9'); - Item.Values.Add('YMM10'); - Item.Values.Add('YMM11'); - Item.Values.Add('YMM12'); - Item.Values.Add('YMM13'); - Item.Values.Add('YMM14'); - Item.Values.Add('YMM15'); + Item.Values.Add('YMM0' + sSuffix); + Item.Values.Add('YMM9' + sSuffix); + Item.Values.Add('YMM18' + sSuffix); + Item.Values.Add('YMM27' + sSuffix); + Item.Values.Add('YMM31' + sSuffix); end else begin - Item.Values.Clear; - - Item.Values.Add('YMM0'); - Item.Values.Add('YMM7'); - Item.Values.Add('YMM8'); - Item.Values.Add('YMM15'); + Item.Values.Add('YMM0' + sSuffix); + Item.Values.Add('YMM4' + sSuffix); + Item.Values.Add('YMM8' + sSuffix); + Item.Values.Add('YMM12' + sSuffix); + Item.Values.Add('YMM15' + sSuffix); end; end; end - else if AnsiSameText(sl_Operand, 'YMMRM') then + else if (AnsiSameText(sl_Operand, 'YMMRM')) or + (AnsiSameText(sl_Operand, 'YMMRM_M')) or + (AnsiSameText(sl_Operand, 'YMMRM_MZ')) or + (AnsiSameText(sl_Operand, 'YMMRM_ER')) or + (AnsiSameText(sl_Operand, 'YMMRM_SAE')) + then begin Item.OpNumber := il_Op; Item.OpTyp := otYMMRM; @@ -408,32 +876,153 @@ begin if UsePrefix then sl_Prefix := 'yword '; - Item.Values.Add('YMM0'); - Item.Values.Add('YMM1'); - Item.Values.Add('YMM2'); - Item.Values.Add('YMM3'); - Item.Values.Add('YMM4'); - Item.Values.Add('YMM5'); - Item.Values.Add('YMM6'); - Item.Values.Add('YMM7'); + sSuffix := ''; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}' + else if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if Pos('_ER', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ', {rd-sae}' + else if FSAE and (Pos('_SAE', AnsiUppercase(sl_Operand)) > 0) then sSuffix := ', {sae}'; + + Item.Values.Add('YMM0' + sSuffix); + Item.Values.Add('YMM1' + sSuffix); + Item.Values.Add('YMM2' + sSuffix); + Item.Values.Add('YMM3' + sSuffix); + Item.Values.Add('YMM4' + sSuffix); + Item.Values.Add('YMM5' + sSuffix); + Item.Values.Add('YMM6' + sSuffix); + Item.Values.Add('YMM7' + sSuffix); + + if x64 then + begin + Item.Values.Clear; + if FAVX512 then + begin + Item.Values.Add('YMM0' + sSuffix); + Item.Values.Add('YMM9' + sSuffix); + Item.Values.Add('YMM18' + sSuffix); + Item.Values.Add('YMM27' + sSuffix); + Item.Values.Add('YMM31' + sSuffix); + end + else + begin + Item.Values.Add('YMM0' + sSuffix); + Item.Values.Add('YMM4' + sSuffix); + Item.Values.Add('YMM8' + sSuffix); + Item.Values.Add('YMM12' + sSuffix); + Item.Values.Add('YMM15' + sSuffix); + end; + + MemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64Index, Item.Values); + //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); + end + else + begin + MemRegBaseIndexCombi(sl_Prefix, '', FReg32Base, FReg32Index, Item.Values); + end; + end + else if (AnsiSameText(sl_Operand, 'ZMMREG')) or + (AnsiSameText(sl_Operand, 'ZMMREG_M')) or + (AnsiSameText(sl_Operand, 'ZMMREG_MZ')) or + (AnsiSameText(sl_Operand, 'ZMMREG_ER')) or + (AnsiSameText(sl_Operand, 'ZMMREG_SAE')) + then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otZMMReg; + Item.OpActive := true; + + sSuffix := ''; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}' + else if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if Pos('_ER', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ', {rd-sae}' + else if FSAE and (Pos('_SAE', AnsiUppercase(sl_Operand)) > 0) then sSuffix := ', {sae}'; + + Item.Values.Add('ZMM0' + sSuffix); + Item.Values.Add('ZMM1' + sSuffix); + Item.Values.Add('ZMM2' + sSuffix); + Item.Values.Add('ZMM3' + sSuffix); + Item.Values.Add('ZMM4' + sSuffix); + Item.Values.Add('ZMM5' + sSuffix); + Item.Values.Add('ZMM6' + sSuffix); + Item.Values.Add('ZMM7' + sSuffix); + + if x64 then + begin + Item.Values.Clear; + if FAVX512 then + begin + Item.Values.Add('ZMM0' + sSuffix); + Item.Values.Add('ZMM9' + sSuffix); + Item.Values.Add('ZMM18' + sSuffix); + Item.Values.Add('ZMM27' + sSuffix); + Item.Values.Add('ZMM31' + sSuffix); + end + else + begin + Item.Values.Add('ZMM0' + sSuffix); + Item.Values.Add('ZMM4' + sSuffix); + Item.Values.Add('ZMM8' + sSuffix); + Item.Values.Add('ZMM12' + sSuffix); + Item.Values.Add('ZMM15' + sSuffix); + end; + end; + end + else if (AnsiSameText(sl_Operand, 'ZMMRM')) or + (AnsiSameText(sl_Operand, 'ZMMRM_M')) or + (AnsiSameText(sl_Operand, 'ZMMRM_MZ')) or + (AnsiSameText(sl_Operand, 'XMMRM_ER')) or + (AnsiSameText(sl_Operand, 'XMMRM_SAE')) + then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otZMMRM; + Item.OpActive := true; + + if UsePrefix then sl_Prefix := 'zword '; + + sSuffix := ''; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}' + else if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if Pos('_ER', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ', {rd-sae}' + else if FSAE and (Pos('_SAE', AnsiUppercase(sl_Operand)) > 0) then sSuffix := ', {sae}'; + + Item.Values.Add('ZMM0' + sSuffix); + Item.Values.Add('ZMM1' + sSuffix); + Item.Values.Add('ZMM2' + sSuffix); + Item.Values.Add('ZMM3' + sSuffix); + Item.Values.Add('ZMM4' + sSuffix); + Item.Values.Add('ZMM5' + sSuffix); + Item.Values.Add('ZMM6' + sSuffix); + Item.Values.Add('ZMM7' + sSuffix); if x64 then begin - Item.Values.Add('YMM8'); - Item.Values.Add('YMM9'); - Item.Values.Add('YMM10'); - Item.Values.Add('YMM11'); - Item.Values.Add('YMM12'); - Item.Values.Add('YMM13'); - Item.Values.Add('YMM14'); - Item.Values.Add('YMM15'); - - MemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64Index, Item.Values); + Item.Values.Clear; + if FAVX512 then + begin + Item.Values.Add('ZMM0' + sSuffix); + Item.Values.Add('ZMM9' + sSuffix); + Item.Values.Add('ZMM18' + sSuffix); + Item.Values.Add('ZMM27' + sSuffix); + Item.Values.Add('ZMM31' + sSuffix); + end + else + begin + Item.Values.Add('ZMM0' + sSuffix); + Item.Values.Add('ZMM4' + sSuffix); + Item.Values.Add('ZMM8' + sSuffix); + Item.Values.Add('ZMM12' + sSuffix); + Item.Values.Add('ZMM15' + sSuffix); + end; + + MemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end else begin - MemRegBaseIndexCombi(sl_Prefix, FReg32Base, FReg32Index, Item.Values); + MemRegBaseIndexCombi(sl_Prefix, '', FReg32Base, FReg32Index, Item.Values); end; end else if AnsiSameText(sl_Operand, 'MEM8') then @@ -442,16 +1031,22 @@ begin Item.OpTyp := otMEM8; Item.OpActive := true; - if UsePrefix then sl_Prefix := 'byte '; - if x64 then + + if UsePrefix then sl_Prefix := 'byte '; + + + sSuffix := ''; + + if x64 then begin - MemRegBaseIndexCombi(sl_Prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_Prefix, '', FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end - else MemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32Index, Item.Values); + else MemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32Index, Item.Values); end - else if AnsiSameText(sl_Operand, 'MEM16') then + else if AnsiSameText(sl_Operand, 'MEM16') or + AnsiSameText(sl_Operand, 'MEM16_M') then begin Item.OpNumber := il_Op; Item.OpTyp := otMEM16; @@ -459,14 +1054,19 @@ begin if UsePrefix then sl_Prefix := 'word '; + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + if x64 then begin - MemRegBaseIndexCombi(sl_Prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_Prefix, sSuffix, FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end - else MemRegBaseIndexCombi(sl_Prefix, FReg32Base, FReg32Index, Item.Values); + else MemRegBaseIndexCombi(sl_Prefix, sSuffix, FReg32Base, FReg32Index, Item.Values); end - else if AnsiSameText(sl_Operand, 'MEM32') then + else if AnsiSameText(sl_Operand, 'MEM32') or + AnsiSameText(sl_Operand, 'MEM32_M') or + AnsiSameText(sl_Operand, 'MEM32_MZ') then begin Item.OpNumber := il_Op; Item.OpTyp := otMEM32; @@ -474,14 +1074,22 @@ begin if UsePrefix then sl_Prefix := 'dword '; + sSuffix := ''; + + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}'; + + if x64 then begin - MemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end - else MemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32Index, Item.Values); + else MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32Index, Item.Values); end - else if AnsiSameText(sl_Operand, 'MEM64') then + else if (AnsiSameText(sl_Operand, 'MEM64')) or + (AnsiSameText(sl_Operand, 'MEM64_M')) or + (AnsiSameText(sl_Operand, 'MEM64_MZ')) then begin Item.OpNumber := il_Op; Item.OpTyp := otMEM64; @@ -489,14 +1097,20 @@ begin if UsePrefix then sl_Prefix := 'qword '; + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}'; + if x64 then begin - MemRegBaseIndexCombi(sl_Prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_Prefix, sSuffix, FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end - else MemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32Index, Item.Values); + else MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32Index, Item.Values); end - else if AnsiSameText(sl_Operand, 'MEM128') then + else if (AnsiSameText(sl_Operand, 'MEM128')) or + (AnsiSameText(sl_Operand, 'MEM128_M')) or + (AnsiSameText(sl_Operand, 'MEM128_MZ')) then begin Item.OpNumber := il_Op; Item.OpTyp := otMEM128; @@ -504,14 +1118,20 @@ begin if UsePrefix then sl_Prefix := 'oword '; + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}'; + if x64 then begin - MemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end - else MemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32Index, Item.Values); + else MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32Index, Item.Values); end - else if AnsiSameText(sl_Operand, 'MEM256') then + else if (AnsiSameText(sl_Operand, 'MEM256')) or + (AnsiSameText(sl_Operand, 'MEM256_M')) or + (AnsiSameText(sl_Operand, 'MEM256_MZ')) then begin Item.OpNumber := il_Op; Item.OpTyp := otMEM256; @@ -519,12 +1139,51 @@ begin if UsePrefix then sl_Prefix := 'yword '; + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}'; + + + if x64 then + begin + MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64Index, Item.Values); + //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); + end + else MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32Index, Item.Values); + end + else if (AnsiSameText(sl_Operand, 'MEM512')) or + (AnsiSameText(sl_Operand, 'MEM512_M')) or + (AnsiSameText(sl_Operand, 'MEM512_MZ')) then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otMEM512; + Item.OpActive := true; + + if UsePrefix then sl_Prefix := 'zword '; + + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + if Pos('_MZ', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1} {z}'; + + if x64 then begin - MemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end - else MemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32Index, Item.Values); + else MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32Index, Item.Values); + end + else if AnsiSameText(sl_Operand, 'REG8') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otREG8; + Item.OpActive := true; + + if x64 then + begin + Item.Values.AddStrings(FReg8); + end + else Item.Values.AddStrings(FReg8); end else if AnsiSameText(sl_Operand, 'REG16') then begin @@ -534,9 +1193,9 @@ begin if x64 then begin - Item.Values.AddStrings(FReg16Base); + Item.Values.AddStrings(FReg16); end - else Item.Values.AddStrings(FReg16Base); + else Item.Values.AddStrings(FReg16); end else if AnsiSameText(sl_Operand, 'REG32') then begin @@ -573,10 +1232,10 @@ begin if x64 then begin - MemRegBaseIndexCombi(sl_Prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_Prefix, '', FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end - else MemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32Index, Item.Values); + else MemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32Index, Item.Values); end else if AnsiSameText(sl_Operand, 'RM64') then begin @@ -591,10 +1250,10 @@ begin if x64 then begin Item.Values.AddStrings(FReg64Base); - MemRegBaseIndexCombi(sl_Prefix, FReg64Base, FReg64Index, Item.Values); + MemRegBaseIndexCombi(sl_Prefix, '', FReg64Base, FReg64Index, Item.Values); //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); end - else MemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32Index, Item.Values); + else MemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32Index, Item.Values); end else if AnsiSameText(sl_Operand, 'IMM8') then begin @@ -604,7 +1263,8 @@ begin Item.Values.Add('0'); end - else if AnsiSameText(sl_Operand, 'XMEM32') then + else if AnsiSameText(sl_Operand, 'XMEM32') or + AnsiSameText(sl_Operand, 'XMEM32_M') then begin Item.OpNumber := il_Op; Item.OpTyp := otXMEM32; @@ -612,33 +1272,51 @@ begin if UsePrefix then sl_Prefix := 'oword '; + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + if x64 then begin - VectorMemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64XMMIndex, Item.Values); + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64XMMIndex, Item.Values); end else begin - VectorMemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32XMMIndex, Item.Values); + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32XMMIndex, Item.Values); end; end - else if AnsiSameText(sl_Operand, 'XMEM64') then + else if AnsiSameText(sl_Operand, 'XMEM64') or + AnsiSameText(sl_Operand, 'XMEM64_M') then begin Item.OpNumber := il_Op; Item.OpTyp := otXMEM64; Item.OpActive := true; - if UsePrefix then sl_Prefix := 'oword '; + //if UsePrefix then sl_Prefix := 'oword '; + // + //if x64 then + //begin + // VectorMemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64XMMIndex, Item.Values); + //end + //else + //begin + // VectorMemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32XMMIndex, Item.Values); + //end; + + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; if x64 then begin - VectorMemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64XMMIndex, Item.Values); + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64XMMIndex, Item.Values); end else begin - VectorMemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32XMMIndex, Item.Values); + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32XMMIndex, Item.Values); end; + end - else if AnsiSameText(sl_Operand, 'YMEM32') then + else if AnsiSameText(sl_Operand, 'YMEM32') or + AnsiSameText(sl_Operand, 'YMEM32_M') then begin Item.OpNumber := il_Op; Item.OpTyp := otYMEM32; @@ -646,16 +1324,30 @@ begin if UsePrefix then sl_Prefix := 'yword '; + //if x64 then + //begin + // VectorMemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64YMMIndex, Item.Values); + //end + //else + //begin + // VectorMemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32YMMIndex, Item.Values); + //end; + + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + if x64 then begin - VectorMemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64YMMIndex, Item.Values); + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64YMMIndex, Item.Values); end else begin - VectorMemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32YMMIndex, Item.Values); + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32YMMIndex, Item.Values); end; + end - else if AnsiSameText(sl_Operand, 'YMEM64') then + else if AnsiSameText(sl_Operand, 'YMEM64') or + AnsiSameText(sl_Operand, 'YMEM64_M') then begin Item.OpNumber := il_Op; Item.OpTyp := otYMEM64; @@ -663,18 +1355,218 @@ begin if UsePrefix then sl_Prefix := 'yword '; + //if x64 then + //begin + // VectorMemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64YMMIndex, Item.Values); + //end + //else + //begin + // VectorMemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32YMMIndex, Item.Values); + //end; + + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if x64 then + begin + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64YMMIndex, Item.Values); + end + else + begin + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32YMMIndex, Item.Values); + end; + + end + else if AnsiSameText(sl_Operand, 'ZMEM32') or + AnsiSameText(sl_Operand, 'ZMEM32_M') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otZMEM32; + Item.OpActive := true; + + if UsePrefix then sl_Prefix := 'zword '; + + //if x64 then + //begin + // VectorMemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64ZMMIndex, Item.Values); + //end + //else + //begin + // VectorMemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32ZMMIndex, Item.Values); + //end; + + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + if x64 then begin - VectorMemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64YMMIndex, Item.Values); + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64ZMMIndex, Item.Values); end else begin - VectorMemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32YMMIndex, Item.Values); + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32ZMMIndex, Item.Values); end; + end + else if AnsiSameText(sl_Operand, 'ZMEM64') or + AnsiSameText(sl_Operand, 'ZMEM64_M') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otZMEM64; + Item.OpActive := true; + if UsePrefix then sl_Prefix := 'zword '; - else + //if x64 then + //begin + // VectorMemRegBaseIndexCombi(sl_prefix, FReg64Base, FReg64ZMMIndex, Item.Values); + //end + //else + //begin + // VectorMemRegBaseIndexCombi(sl_prefix, FReg32Base, FReg32ZMMIndex, Item.Values); + //end; + + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if x64 then + begin + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64ZMMIndex, Item.Values); + end + else + begin + VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32ZMMIndex, Item.Values); + end; + + end + else if AnsiSameText(sl_Operand, '2B32') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otB32; + Item.OpActive := true; + + + if x64 then + begin + MemRegBaseIndexCombi(sl_Prefix, ' {1to2}', FReg64Base, FReg64Index, Item.Values); + //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); + end + else MemRegBaseIndexCombi(sl_prefix, ' {1to2}', FReg32Base, FReg32Index, Item.Values); + end + else if AnsiSameText(sl_Operand, '4B32') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otB32; + Item.OpActive := true; + + + if x64 then + begin + MemRegBaseIndexCombi(sl_Prefix, ' {1to4}', FReg64Base, FReg64Index, Item.Values); + //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); + end + else MemRegBaseIndexCombi(sl_prefix, ' {1to4}', FReg32Base, FReg32Index, Item.Values); + end + else if AnsiSameText(sl_Operand, '8B32') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otB32; + Item.OpActive := true; + + + if x64 then + begin + MemRegBaseIndexCombi(sl_Prefix, ' {1to8}', FReg64Base, FReg64Index, Item.Values); + //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); + end + else MemRegBaseIndexCombi(sl_prefix, ' {1to8}', FReg32Base, FReg32Index, Item.Values); + end + else if AnsiSameText(sl_Operand, '16B32') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otB32; + Item.OpActive := true; + + + if x64 then + begin + MemRegBaseIndexCombi(sl_Prefix, ' {1to16}', FReg64Base, FReg64Index, Item.Values); + //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); + end + else MemRegBaseIndexCombi(sl_prefix, ' {1to16}', FReg32Base, FReg32Index, Item.Values); + end + else if AnsiSameText(sl_Operand, '2B64') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otB64; + Item.OpActive := true; + + + if x64 then + begin + MemRegBaseIndexCombi(sl_Prefix, ' {1to2}', FReg64Base, FReg64Index, Item.Values); + //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); + end + else MemRegBaseIndexCombi(sl_prefix, ' {1to2}', FReg32Base, FReg32Index, Item.Values); + end + else if AnsiSameText(sl_Operand, '4B64') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otB64; + Item.OpActive := true; + + + if x64 then + begin + MemRegBaseIndexCombi(sl_Prefix, ' {1to4}', FReg64Base, FReg64Index, Item.Values); + //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); + end + else MemRegBaseIndexCombi(sl_prefix, ' {1to4}', FReg32Base, FReg32Index, Item.Values); + end + else if AnsiSameText(sl_Operand, '8B64') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otB64; + Item.OpActive := true; + + + if x64 then + begin + MemRegBaseIndexCombi(sl_Prefix, ' {1to8}', FReg64Base, FReg64Index, Item.Values); + //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); + end + else MemRegBaseIndexCombi(sl_prefix, ' {1to8}', FReg32Base, FReg32Index, Item.Values); + end + else if AnsiSameText(sl_Operand, '16B64') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otB64; + Item.OpActive := true; + + + if x64 then + begin + MemRegBaseIndexCombi(sl_Prefix, ' {1to16}', FReg64Base, FReg64Index, Item.Values); + //MemRegBaseIndexCombi(FReg6432Base, FReg6432Index, Item.Values); + end + else MemRegBaseIndexCombi(sl_prefix, ' {1to16}', FReg32Base, FReg32Index, Item.Values); + end + else if AnsiSameText(sl_Operand, 'KREG') or + AnsiSameText(sl_Operand, 'KREG_M') then + begin + Item.OpNumber := il_Op; + Item.OpTyp := otKREG; + Item.OpActive := true; + + sSuffix := ''; + if Pos('_M', AnsiUppercase(sl_Operand)) > 0 then sSuffix := ' {k1}'; + + if UsePrefix then sl_Prefix := ''; + + for i := 0 to FRegKREG.Count - 1 do + Item.Values.Add(FRegKREG[i] + sSuffix); + end + else if trim(sl_Operand) = '' then begin Item.OpNumber := il_Op; Item.OpTyp := otUnknown; @@ -682,6 +1574,14 @@ begin Item.Values.Add(''); end + else + begin + Item.OpNumber := il_Op; + Item.OpTyp := otUnknown; + Item.OpActive := false; + + Item.Values.Add('?' + sl_Operand); + end end; @@ -840,8 +1740,11 @@ begin inherited; FX64 := true; + FAVX512 := false; + + FReg8 := TStringList.Create; + FReg16 := TStringList.Create; - FReg16Base := TStringList.Create; FReg32Base := TStringList.Create; FReg32Index := TStringList.Create; FReg64Base := TStringList.Create; @@ -850,26 +1753,30 @@ begin FReg6432Index := TStringList.Create; FReg32XMMIndex := TStringList.Create; FReg32YMMIndex := TStringList.Create; + FReg32ZMMIndex := TStringList.Create; FReg64XMMIndex := TStringList.Create; FReg64YMMIndex := TStringList.Create; + FReg64ZMMIndex := TStringList.Create; + FRegKREG := TStringList.Create; + + FReg8.Add('AL'); + FReg8.Add('BL'); + FReg8.Add('CL'); + FReg8.Add('DL'); - FReg16Base.Add('AX'); - FReg16Base.Add('BX'); - FReg16Base.Add('CX'); - FReg16Base.Add('DX'); - FReg16Base.Add('SP'); - FReg16Base.Add('BP'); - FReg16Base.Add('DI'); - FReg16Base.Add('SI'); - + FReg16.Add('AX'); + FReg16.Add('BX'); + FReg16.Add('CX'); + FReg16.Add('DX'); + FReg32Base.Add('EAX'); FReg32Base.Add('EBX'); FReg32Base.Add('ECX'); FReg32Base.Add('EDX'); - FReg32Base.Add('ESP'); - FReg32Base.Add('EBP'); + //FReg32Base.Add('ESP'); + //FReg32Base.Add('EBP'); FReg32Base.Add('EDI'); FReg32Base.Add('ESI'); @@ -878,7 +1785,7 @@ begin FReg32Index.Add('EBX'); FReg32Index.Add('ECX'); FReg32Index.Add('EDX'); - FReg32Index.Add('EBP'); + //FReg32Index.Add('EBP'); FReg32Index.Add('EDI'); FReg32Index.Add('ESI'); @@ -887,8 +1794,8 @@ begin FReg64Base.Add('RBX'); FReg64Base.Add('RCX'); FReg64Base.Add('RDX'); - FReg64Base.Add('RSP'); - FReg64Base.Add('RBP'); + //FReg64Base.Add('RSP'); + //FReg64Base.Add('RBP'); FReg64Base.Add('RDI'); FReg64Base.Add('RSI'); FReg64Base.Add('R8'); @@ -904,7 +1811,7 @@ begin FReg64Index.Add('RBX'); FReg64Index.Add('RCX'); FReg64Index.Add('RDX'); - FReg64Index.Add('RBP'); + //FReg64Index.Add('RBP'); FReg64Index.Add('RDI'); FReg64Index.Add('RSI'); FReg64Index.Add('R8'); @@ -921,7 +1828,7 @@ begin FReg6432Base.Add('ECX'); FReg6432Base.Add('EDX'); FReg6432Base.Add('ESP'); - FReg6432Base.Add('EBP'); + //FReg6432Base.Add('EBP'); FReg6432Base.Add('EDI'); FReg6432Base.Add('ESI'); FReg6432Base.Add('R8D'); @@ -937,7 +1844,7 @@ begin FReg6432Index.Add('EBX'); FReg6432Index.Add('ECX'); FReg6432Index.Add('EDX'); - FReg6432Index.Add('EBP'); + //FReg6432Index.Add('EBP'); FReg6432Index.Add('EDI'); FReg6432Index.Add('ESI'); FReg6432Index.Add('R8D'); @@ -967,6 +1874,16 @@ begin FReg32YMMIndex.ADD('YMM6'); FReg32YMMIndex.ADD('YMM7'); + FReg32ZMMIndex.ADD('ZMM0'); + FReg32ZMMIndex.ADD('ZMM1'); + FReg32ZMMIndex.ADD('ZMM2'); + FReg32ZMMIndex.ADD('ZMM3'); + FReg32ZMMIndex.ADD('ZMM4'); + FReg32ZMMIndex.ADD('ZMM5'); + FReg32ZMMIndex.ADD('ZMM6'); + FReg32ZMMIndex.ADD('ZMM7'); + + FReg64XMMIndex.ADD('XMM0'); FReg64XMMIndex.ADD('XMM1'); FReg64XMMIndex.ADD('XMM2'); @@ -1002,10 +1919,55 @@ begin FReg64YMMIndex.ADD('YMM14'); FReg64YMMIndex.ADD('YMM15'); + FReg64ZMMIndex.ADD('ZMM0'); + FReg64ZMMIndex.ADD('ZMM1'); + FReg64ZMMIndex.ADD('ZMM2'); + FReg64ZMMIndex.ADD('ZMM3'); + FReg64ZMMIndex.ADD('ZMM4'); + FReg64ZMMIndex.ADD('ZMM5'); + FReg64ZMMIndex.ADD('ZMM6'); + FReg64ZMMIndex.ADD('ZMM7'); + FReg64ZMMIndex.ADD('ZMM8'); + FReg64ZMMIndex.ADD('ZMM9'); + FReg64ZMMIndex.ADD('ZMM10'); + FReg64ZMMIndex.ADD('ZMM11'); + FReg64ZMMIndex.ADD('ZMM12'); + FReg64ZMMIndex.ADD('ZMM13'); + FReg64ZMMIndex.ADD('ZMM14'); + FReg64ZMMIndex.ADD('ZMM15'); + FReg64ZMMIndex.ADD('ZMM16'); + FReg64ZMMIndex.ADD('ZMM17'); + FReg64ZMMIndex.ADD('ZMM18'); + FReg64ZMMIndex.ADD('ZMM19'); + FReg64ZMMIndex.ADD('ZMM20'); + FReg64ZMMIndex.ADD('ZMM21'); + FReg64ZMMIndex.ADD('ZMM22'); + FReg64ZMMIndex.ADD('ZMM23'); + FReg64ZMMIndex.ADD('ZMM24'); + FReg64ZMMIndex.ADD('ZMM25'); + FReg64ZMMIndex.ADD('ZMM26'); + FReg64ZMMIndex.ADD('ZMM27'); + FReg64ZMMIndex.ADD('ZMM28'); + FReg64ZMMIndex.ADD('ZMM29'); + FReg64ZMMIndex.ADD('ZMM30'); + FReg64ZMMIndex.ADD('ZMM31'); + + FRegKREG.ADD('K0'); + FRegKREG.ADD('K1'); + FRegKREG.ADD('K2'); + FRegKREG.ADD('K3'); + FRegKREG.ADD('K4'); + FRegKREG.ADD('K5'); + FRegKREG.ADD('K6'); + FRegKREG.ADD('K7'); + end; destructor TAsmTestGenerator.Destroy; begin + FreeAndNil(FReg8); + FreeAndNil(FReg16); + FreeAndNil(FReg32Base); FreeAndNil(FReg32Index); FreeAndNil(FReg64Base); @@ -1015,13 +1977,17 @@ begin FreeAndNil(FReg32XMMIndex); FreeAndNil(FReg32YMMIndex); + FreeAndNil(FReg32ZMMIndex); FreeAndNil(FReg64XMMIndex); FreeAndNil(FReg64YMMIndex); + FreeAndNil(FReg64ZMMIndex); + + FreeAndnil(FRegKREG); inherited; end; -procedure TAsmTestGenerator.MemRegBaseIndexCombi(const aPrefix: String; aSLBaseReg, +procedure TAsmTestGenerator.MemRegBaseIndexCombi(const aPrefix, aSuffix: String; aSLBaseReg, aSLIndexReg, aRList: TStringList); var il_Base: integer; @@ -1030,24 +1996,29 @@ begin for il_Base := 0 to aSLBaseReg.Count - 1 do begin - aRList.Add(format(aPrefix + '[%s]', [aSLBaseReg[il_Base]])); + aRList.Add(format(aPrefix + '[%s]%s', [aSLBaseReg[il_Base], aSuffix])); for il_Index := 0 to aSLIndexReg.Count - 1 do begin - aRList.Add(format(aPrefix + '[%s + %s]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); + aRList.Add(format(aPrefix + '[%s + %s]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + aRList.Add(format(aPrefix + '[%s + %s + $10]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + aRList.Add(format(aPrefix + '[%s + %s + $40]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + aRList.Add(format(aPrefix + '[%s + %s - $10]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + aRList.Add(format(aPrefix + '[%s + %s - $40]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + - aRList.Add(format(aPrefix + '[%s + %s * 2]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); - aRList.Add(format(aPrefix + '[%s + %s * 4]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); - aRList.Add(format(aPrefix + '[%s + %s * 8]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); + aRList.Add(format(aPrefix + '[%s + %s * 2]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + aRList.Add(format(aPrefix + '[%s + %s * 4]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + aRList.Add(format(aPrefix + '[%s + %s * 8]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); - aRList.Add(format(aPrefix + '[%s + %s * 2 + 16]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); - aRList.Add(format(aPrefix + '[%s + %s * 4 + 32]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); - aRList.Add(format(aPrefix + '[%s + %s * 8 + 48]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); + aRList.Add(format(aPrefix + '[%s + %s * 2 + 16]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + aRList.Add(format(aPrefix + '[%s + %s * 4 + 32]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + aRList.Add(format(aPrefix + '[%s + %s * 8 + 64]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); end; end; end; -procedure TAsmTestGenerator.VectorMemRegBaseIndexCombi(const aPrefix: String; +procedure TAsmTestGenerator.VectorMemRegBaseIndexCombi(const aPrefix, aSuffix: String; aSLBaseReg, aSLIndexReg, aRList: TStringList); var il_Base: integer; @@ -1074,25 +2045,25 @@ begin for il_Index := 0 to aSLIndexReg.Count - 1 do begin - aRList.Add(format(aPrefix + '[%s + %s]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); + aRList.Add(format(aPrefix + '[%s + %s]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); - aRList.Add(format(aPrefix + '[%s + %s * 2]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); - aRList.Add(format(aPrefix + '[%s + %s * 4]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); - aRList.Add(format(aPrefix + '[%s + %s * 8]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); + aRList.Add(format(aPrefix + '[%s + %s * 2]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + aRList.Add(format(aPrefix + '[%s + %s * 4]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); + aRList.Add(format(aPrefix + '[%s + %s * 8]%s', [aSLBaseReg[il_Base], aSLIndexReg[il_Index], aSuffix])); - aRList.Add(format(aPrefix + '[%s + %s * 2 + 16]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); - aRList.Add(format(aPrefix + '[%s + %s * 4 + 32]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); - aRList.Add(format(aPrefix + '[%s + %s * 8 + 48]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); + //aRList.Add(format(aPrefix + '[%s + %s * 2 + 16]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); + //aRList.Add(format(aPrefix + '[%s + %s * 4 + 32]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); + //aRList.Add(format(aPrefix + '[%s + %s * 8 + 48]', [aSLBaseReg[il_Base], aSLIndexReg[il_Index]])); - aRList.Add(format(aPrefix + '[%s + %s]', [aSLIndexReg[il_Index], aSLBaseReg[il_Base]])); + aRList.Add(format(aPrefix + '[%s + %s]%s', [aSLIndexReg[il_Index], aSLBaseReg[il_Base], aSuffix])); - aRList.Add(format(aPrefix + '[%s + %s + 16]', [aSLIndexReg[il_Index], aSLBaseReg[il_Base]])); + //aRList.Add(format(aPrefix + '[%s + %s + 16]', [aSLIndexReg[il_Index], aSLBaseReg[il_Base]])); end; end; end; -class procedure TAsmTestGenerator.CalcTestData(aX64: boolean; const aInst, aOp1, aOp2, aOp3, +class procedure TAsmTestGenerator.CalcTestData(aX64, aAVX512, aSAE: boolean; const aInst, aOp1, aOp2, aOp3, aOp4: String; aSL: TStringList); var sl: TStringList; @@ -1100,6 +2071,8 @@ begin with TAsmTestGenerator.Create do try Fx64 := aX64; + FAVX512 := aAVX512; + FSAE := aSAE; sl := InternalCalcTestData(aInst, aOp1, aOp2, aOp3, aOp4); try @@ -1112,4 +2085,152 @@ begin end; end; +class procedure TAsmTestGenerator.CalcTestInstFile; +var + i,j: integer; + sInst: string; + sI386: string; + sX8664: string; + sAVX512: string; + sOperands: string; + + sLine: string; + + + sl: TStringList; + bVEX: boolean; + bEVEX: boolean; + b256 : boolean; + b512 : boolean; +begin + sl := TStringList.Create; + try + + //tinsentry=packed record + // opcode : tasmop; + // ops : byte; + // //optypes : array[0..max_operands-1] of longint; + // optypes : array[0..3] of int64; //TG + // code : array[0..11] of char; + // flags : tinsflags; + //end; + + for i := 0 to length(InsTab) - 1 do + begin + bVEX := false; + bEVEX := false; + b256 := false; + b512 := false; + + //TG TODO delete + if instab[i].opcode = a_vtestps then + begin + b512 := b512; + end; + + for j := 0 to length(InsTab[i].code) - 1 do + begin + case ord(InsTab[i].code[j]) of + 0: break; + 1,2,3: break; + 232: bEVEX := true; + 233: b512 := true; + 242: bVEX := true; + 244: b256 := true; + end; + end; + + if bVEX or bEVEX then + begin + sInst := std_op2str[InsTab[i].opcode]; + sI386 := '1'; + sX8664 := '1'; + if IF_X86_64 in InsTab[i].flags then + begin + sI386 := '0'; + end; + + if bEVEX then sAVX512 := '1' + else sAVX512 := '0'; + + sOperands := ''; + for j := 0 to 3 do + begin + case InsTab[i].optypes[j] of + OT_XMMREG: sOperands := sOperands + 'XMMREG,'; + OT_XMMREG_M: sOperands := sOperands + 'XMMREG_M,'; + OT_XMMREG_MZ: sOperands := sOperands + 'XMMREG_MZ,'; + OT_XMMREG_ER: sOperands := sOperands + 'XMMREG_ER,'; + OT_XMMREG_SAE: sOperands := sOperands + 'XMMREG_SAE,'; + OT_XMMRM: sOperands := sOperands + 'XMMRM,'; + OT_XMMRM_MZ: sOperands := sOperands + 'XMMRM_MZ,'; + + OT_YMMREG: sOperands := sOperands + 'YMMREG,'; + OT_YMMREG_M: sOperands := sOperands + 'YMMREG_M,'; + OT_YMMREG_MZ: sOperands := sOperands + 'YMMREG_MZ,'; + OT_YMMREG_ER: sOperands := sOperands + 'YMMREG_ER,'; + OT_YMMREG_SAE: sOperands := sOperands + 'YMMREG_SAE,'; + OT_YMMRM: sOperands := sOperands + 'YMMRM,'; + OT_YMMRM_MZ: sOperands := sOperands + 'YMMRM_MZ,'; + + OT_ZMMREG: sOperands := sOperands + 'ZMMREG,'; + OT_ZMMREG_M: sOperands := sOperands + 'ZMMREG_M,'; + OT_ZMMREG_MZ: sOperands := sOperands + 'ZMMREG_MZ,'; + OT_ZMMREG_ER: sOperands := sOperands + 'ZMMREG_ER,'; + OT_ZMMREG_SAE: sOperands := sOperands + 'ZMMREG_SAE,'; + OT_ZMMRM: sOperands := sOperands + 'ZMMRM,'; + OT_ZMMRM_MZ: sOperands := sOperands + 'ZMMRM_MZ,'; + + OT_MEM32: sOperands := sOperands + 'MEM32,'; + OT_MEM64: sOperands := sOperands + 'MEM64,'; + OT_MEM128: sOperands := sOperands + 'MEM128,'; + OT_MEM256: sOperands := sOperands + 'MEM256,'; + OT_MEM512: sOperands := sOperands + 'MEM512,'; + + OT_REG32: sOperands := sOperands + 'REG32,'; + OT_REG64: sOperands := sOperands + 'REG64,'; + ot_rm_gpr or ot_bits32: + sOperands := sOperands + 'RM32,'; + ot_rm_gpr or ot_bits64: + sOperands := sOperands + 'RM64,'; + + OT_XMEM32: sOperands := sOperands + 'XMEM32,'; + OT_XMEM64: sOperands := sOperands + 'XMEM64,'; + + OT_YMEM32: sOperands := sOperands + 'YMEM32,'; + OT_YMEM64: sOperands := sOperands + 'YMEM64,'; + + OT_IMM8: sOperands := sOperands + 'IMM8,'; + OT_NONE: sOperands := sOperands + ','; + + OT_BMEM32: if b512 then sOperands := sOperands + '16B32,' + else if b256 then sOperands := sOperands + '8B32,' + else sOperands := sOperands + '4B32,'; + OT_BMEM64: if b512 then sOperands := sOperands + '8B32,' + else if b256 then sOperands := sOperands + '4B32,' + else sOperands := sOperands + '2B64,'; + + OT_KREG: sOperands := sOperands + 'KREG,'; + OT_KREG_M: sOperands := sOperands + 'KREG_M,'; + + else sOperands := sOperands; + end; + end; + + sOperands := copy(sOperands, 1, length(sOperands) - 1); + + sl.Add(format('FOpCodeList.Add(''%s,%s,%s,%s,%s'');', [sInst, sI386, sX8664, sAVX512, sOperands])); + end; + + end; + + sl.Savetofile('/tmp/fpcavx512.txt'); + + // std_op2str + + finally + FreeAndnil(sl); + end; +end; + end. diff --git a/tests/utils/avx/avxopcodes.pas b/tests/utils/avx/avxopcodes.pas index d21c335375..614d5723de 100644 --- a/tests/utils/avx/avxopcodes.pas +++ b/tests/utils/avx/avxopcodes.pas @@ -16,20 +16,20 @@ type protected procedure Init; - function InternalMakeTestFiles(aX64: boolean; aDestPath, aFileExt: String; aOpCodeList, aHeaderList, aFooterList: TStringList): boolean; + function InternalMakeTestFiles(aX64, aAVX512, aSAE: boolean; aDestPath, aFileExt: String; aOpCodeList, aHeaderList, aFooterList: TStringList): boolean; public constructor Create; destructor Destroy; override; - function MakeTestFiles(aTyp: TTestFileTyp; aX64: boolean; aDestPath: String): boolean; + function MakeTestFiles(aTyp: TTestFileTyp; aX64, aAVX512, aSAE: boolean; aDestPath: String): boolean; property OpCodeList: TStringList read FOpCodeList write FOpCodeList; end; implementation -uses SysUtils, AsmTestGenerator; +uses SysUtils, AsmTestGenerator, Dialogs; { TAVXTestGenerator } @@ -80,733 +80,3712 @@ begin FOpCodeList.Add('PCLMULQDQ,1,1,XMMREG,XMMRM,IMM8,'); FOpCodeList.Add('VPCLMULQDQ,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + + //FOpCodeList.Add('VADDPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VADDPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VADDPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VADDPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VADDSD,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VADDSD,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VADDSS,1,1,XMMREG,XMMREG,MEM32,'); + //FOpCodeList.Add('VADDSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VADDSUBPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VADDSUBPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VADDSUBPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VADDSUBPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VAESDEC,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VAESDECLAST,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VAESENC,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VAESENCLAST,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VAESIMC,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VAESKEYGENASSIST,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VANDNPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VANDNPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VANDNPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VANDNPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VANDPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VANDPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VANDPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VANDPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VBLENDPD,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VBLENDPD,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VBLENDPS,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VBLENDPS,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VBLENDVPD,1,1,XMMREG,XMMREG,XMMRM,XMMREG'); + //FOpCodeList.Add('VBLENDVPD,1,1,YMMREG,YMMREG,YMMRM,YMMREG'); + //FOpCodeList.Add('VBLENDVPS,1,1,XMMREG,XMMREG,XMMRM,XMMREG'); + //FOpCodeList.Add('VBLENDVPS,1,1,YMMREG,YMMREG,YMMRM,YMMREG'); + //FOpCodeList.Add('VBROADCASTF128,1,1,YMMREG,MEM128,,'); + //FOpCodeList.Add('VBROADCASTSD,1,1,YMMREG,MEM64,,'); + //FOpCodeList.Add('VBROADCASTSS,1,1,YMMREG,MEM32,,'); + //FOpCodeList.Add('VBROADCASTSS,1,1,XMMREG,MEM32,,'); + //FOpCodeList.Add('VCMPPD,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VCMPPD,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VCMPPS,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VCMPPS,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VCMPSD,1,1,XMMREG,XMMREG,MEM64,IMM8'); + //FOpCodeList.Add('VCMPSD,1,1,XMMREG,XMMREG,XMMREG,IMM8'); + //FOpCodeList.Add('VCMPSS,1,1,XMMREG,XMMREG,MEM64,IMM8'); + //FOpCodeList.Add('VCMPSS,1,1,XMMREG,XMMREG,XMMREG,IMM8'); + //FOpCodeList.Add('VCOMISD,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VCOMISD,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VCOMISS,1,1,XMMREG,MEM32,,'); + //FOpCodeList.Add('VCOMISS,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VCVTDQ2PD,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VCVTDQ2PD,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VCVTDQ2PD,1,1,YMMREG,XMMRM,,'); + //FOpCodeList.Add('VCVTDQ2PS,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VCVTDQ2PS,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VCVTPD2DQ,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VCVTPD2DQ,1,1,XMMREG,YMMRM,,'); + //FOpCodeList.Add('VCVTPD2PS,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VCVTPD2PS,1,1,XMMREG,YMMRM,,'); + //FOpCodeList.Add('VCVTPS2DQ,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VCVTPS2DQ,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VCVTPS2PD,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VCVTPS2PD,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VCVTPS2PD,1,1,YMMREG,XMMRM,,'); + //FOpCodeList.Add('VCVTSD2SI,1,1,REG32,MEM64,,'); + //FOpCodeList.Add('VCVTSD2SI,1,1,REG32,XMMREG,,'); + //FOpCodeList.Add('VCVTSD2SI,0,1,REG64,MEM64,,'); + //FOpCodeList.Add('VCVTSD2SI,0,1,REG64,XMMREG,,'); + //FOpCodeList.Add('VCVTSD2SS,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VCVTSD2SS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VCVTSI2SD,1,1,XMMREG,XMMREG,RM32,'); + //FOpCodeList.Add('VCVTSI2SD,0,1,XMMREG,XMMREG,RM64,'); + //FOpCodeList.Add('VCVTSI2SS,1,1,XMMREG,XMMREG,RM32,'); + //FOpCodeList.Add('VCVTSI2SS,0,1,XMMREG,XMMREG,RM64,'); + //FOpCodeList.Add('VCVTSS2SD,1,1,XMMREG,XMMREG,MEM32,'); + //FOpCodeList.Add('VCVTSS2SD,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VCVTSS2SI,1,1,REG32,MEM32,,'); + //FOpCodeList.Add('VCVTSS2SI,1,1,REG32,XMMREG,,'); + //FOpCodeList.Add('VCVTSS2SI,0,1,REG64,MEM32,,'); + //FOpCodeList.Add('VCVTSS2SI,0,1,REG64,XMMREG,,'); + //FOpCodeList.Add('VCVTTPD2DQ,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VCVTTPD2DQ,1,1,XMMREG,YMMRM,,'); + //FOpCodeList.Add('VCVTTPS2DQ,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VCVTTPS2DQ,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VCVTTSD2SI,1,1,REG32,MEM64,,'); + //FOpCodeList.Add('VCVTTSD2SI,1,1,REG32,XMMREG,,'); + //FOpCodeList.Add('VCVTTSD2SI,0,1,REG64,MEM64,,'); + //FOpCodeList.Add('VCVTTSD2SI,0,1,REG64,XMMREG,,'); + //FOpCodeList.Add('VCVTTSS2SI,1,1,REG32,MEM32,,'); + //FOpCodeList.Add('VCVTTSS2SI,1,1,REG32,XMMREG,,'); + //FOpCodeList.Add('VCVTTSS2SI,0,1,REG64,MEM32,,'); + //FOpCodeList.Add('VCVTTSS2SI,0,1,REG64,XMMREG,,'); + //FOpCodeList.Add('VDIVPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VDIVPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VDIVPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VDIVPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VDIVSD,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VDIVSD,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VDIVSS,1,1,XMMREG,XMMREG,MEM32,'); + //FOpCodeList.Add('VDIVSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VDPPD,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VDPPS,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VDPPS,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VEXTRACTF128,1,1,XMMRM,YMMREG,IMM8,'); + //FOpCodeList.Add('VEXTRACTPS,1,1,RM32,XMMREG,IMM8,'); + //FOpCodeList.Add('VHADDPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VHADDPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VHADDPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VHADDPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VHSUBPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VHSUBPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VHSUBPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VHSUBPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VINSERTF128,1,1,YMMREG,YMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VINSERTPS,1,1,XMMREG,XMMREG,MEM32,IMM8'); + //FOpCodeList.Add('VINSERTPS,1,1,XMMREG,XMMREG,XMMREG,IMM8'); + //FOpCodeList.Add('VLDDQU,1,1,XMMREG,MEM128,,'); + //FOpCodeList.Add('VLDDQU,1,1,YMMREG,MEM256,,'); + //FOpCodeList.Add('VLDMXCSR,1,1,MEM32,,,'); + //FOpCodeList.Add('VMASKMOVDQU,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VMASKMOVPD,1,1,MEM256,YMMREG,YMMREG,'); + //FOpCodeList.Add('VMASKMOVPD,1,1,MEM128,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMASKMOVPD,1,1,YMMREG,YMMREG,MEM256,'); + //FOpCodeList.Add('VMASKMOVPD,1,1,XMMREG,XMMREG,MEM128,'); + //FOpCodeList.Add('VMASKMOVPS,1,1,MEM256,YMMREG,YMMREG,'); + //FOpCodeList.Add('VMASKMOVPS,1,1,MEM128,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMASKMOVPS,1,1,YMMREG,YMMREG,MEM256,'); + //FOpCodeList.Add('VMASKMOVPS,1,1,XMMREG,XMMREG,MEM128,'); + //FOpCodeList.Add('VMAXPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VMAXPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VMAXPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VMAXPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VMAXSD,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VMAXSD,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMAXSS,1,1,XMMREG,XMMREG,MEM32,'); + //FOpCodeList.Add('VMAXSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMINPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VMINPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VMINPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VMINPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VMINSD,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VMINSD,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMINSS,1,1,XMMREG,XMMREG,MEM32,'); + //FOpCodeList.Add('VMINSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMOVAPD,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VMOVAPD,1,1,XMMRM,XMMREG,,'); + //FOpCodeList.Add('VMOVAPD,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VMOVAPD,1,1,YMMRM,YMMREG,,'); + //FOpCodeList.Add('VMOVAPS,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VMOVAPS,1,1,XMMRM,XMMREG,,'); + //FOpCodeList.Add('VMOVAPS,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VMOVAPS,1,1,YMMRM,YMMREG,,'); + //FOpCodeList.Add('VMOVD,1,1,XMMREG,RM32,,'); + //FOpCodeList.Add('VMOVD,1,1,RM32,XMMREG,,'); + //FOpCodeList.Add('VMOVDDUP,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VMOVDDUP,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VMOVDDUP,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VMOVDQA,1,1,YMMRM,YMMREG,,'); + //FOpCodeList.Add('VMOVDQA,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VMOVDQA,1,1,XMMRM,XMMREG,,'); + //FOpCodeList.Add('VMOVDQA,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VMOVDQU,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VMOVDQU,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VMOVDQU,1,1,XMMRM,XMMREG,,'); + //FOpCodeList.Add('VMOVDQU,1,1,YMMRM,YMMREG,,'); + //FOpCodeList.Add('VMOVHLPS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMOVHPD,1,1,MEM64,XMMREG,,'); + //FOpCodeList.Add('VMOVHPD,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VMOVHPS,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VMOVHPS,1,1,MEM64,XMMREG,,'); + //FOpCodeList.Add('VMOVLHPS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMOVLPD,1,1,MEM64,XMMREG,,'); + //FOpCodeList.Add('VMOVLPD,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VMOVLPS,1,1,MEM64,XMMREG,,'); + //FOpCodeList.Add('VMOVLPS,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VMOVMSKPD,1,1,REG32,YMMREG,,'); + //FOpCodeList.Add('VMOVMSKPD,1,1,REG64,XMMREG,,'); + //FOpCodeList.Add('VMOVMSKPD,1,1,REG32,XMMREG,,'); + //FOpCodeList.Add('VMOVMSKPD,1,1,REG64,YMMREG,,'); + //FOpCodeList.Add('VMOVMSKPS,1,1,REG32,YMMREG,,'); + //FOpCodeList.Add('VMOVMSKPS,1,1,REG64,XMMREG,,'); + //FOpCodeList.Add('VMOVMSKPS,1,1,REG32,XMMREG,,'); + //FOpCodeList.Add('VMOVMSKPS,1,1,REG64,YMMREG,,'); + //FOpCodeList.Add('VMOVNTDQ,1,1,MEM128,XMMREG,,'); + //FOpCodeList.Add('VMOVNTDQ,1,1,MEM256,YMMREG,,'); + //FOpCodeList.Add('VMOVNTDQA,1,1,XMMREG,MEM128,,'); + //FOpCodeList.Add('VMOVNTPD,1,1,MEM256,YMMREG,,'); + //FOpCodeList.Add('VMOVNTPD,1,1,MEM128,XMMREG,,'); + //FOpCodeList.Add('VMOVNTPS,1,1,MEM128,YMMREG,,'); + //FOpCodeList.Add('VMOVNTPS,1,1,MEM128,XMMREG,,'); + //FOpCodeList.Add('VMOVQ,0,1,RM64,XMMREG,,'); + //FOpCodeList.Add('VMOVQ,0,1,XMMREG,RM64,,'); + //FOpCodeList.Add('VMOVSD,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMOVSD,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VMOVSD,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMOVSD,1,1,MEM64,XMMREG,,'); + //FOpCodeList.Add('VMOVSHDUP,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VMOVSHDUP,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VMOVSLDUP,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VMOVSLDUP,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VMOVSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMOVSS,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VMOVSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMOVSS,1,1,MEM64,XMMREG,,'); + //FOpCodeList.Add('VMOVUPD,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VMOVUPD,1,1,XMMRM,XMMREG,,'); + //FOpCodeList.Add('VMOVUPD,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VMOVUPD,1,1,YMMRM,YMMREG,,'); + //FOpCodeList.Add('VMOVUPS,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VMOVUPS,1,1,XMMRM,XMMREG,,'); + //FOpCodeList.Add('VMOVUPS,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VMOVUPS,1,1,YMMRM,YMMREG,,'); + //FOpCodeList.Add('VMPSADBW,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VMULPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VMULPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VMULPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VMULPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VMULSD,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VMULSD,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VMULSS,1,1,XMMREG,XMMREG,MEM32,'); + //FOpCodeList.Add('VMULSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VORPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VORPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VORPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPABSB,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VPABSB,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VPABSD,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VPABSD,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VPABSW,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VPABSW,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VPACKSSDW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPACKSSDW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPACKSSWB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPACKSSWB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPACKUSDW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPACKUSDW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPACKUSWB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPACKUSWB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPADDB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPADDB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPADDD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPADDD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPADDQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPADDQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPADDSB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPADDSB,1,1,YMMREG,YMMREG,YMMRM,'); + // + // + //FOpCodeList.Add('VPADDSB,1,1,ZMMREG,ZMMREG,ZMMRM,'); + // + // + //FOpCodeList.Add('VPADDSW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPADDSW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPADDUSB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPADDUSB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPADDUSW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPADDUSW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPADDW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPADDW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPALIGNR,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VPALIGNR,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VPAND,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPAND,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPANDN,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPANDN,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPAVGB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPAVGB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPAVGW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPAVGW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPBLENDVB,1,1,XMMREG,XMMREG,XMMRM,XMMREG'); + //FOpCodeList.Add('VPBLENDVB,1,1,YMMREG,YMMREG,YMMRM,YMMREG'); + //FOpCodeList.Add('VPBLENDW,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VPBLENDW,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VPCLMULQDQ,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VPCMPEQB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPCMPEQB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPCMPEQD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPCMPEQD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPCMPEQQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPCMPEQQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPCMPEQW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPCMPEQW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPCMPESTRI,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VPCMPESTRM,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VPCMPGTB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPCMPGTB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPCMPGTD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPCMPGTD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPCMPGTQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPCMPGTQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPCMPGTW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPCMPGTW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPCMPISTRI,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VPCMPISTRM,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VPERM2F128,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VPERMILPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPERMILPD,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VPERMILPD,1,1,YMMREG,YMMRM,IMM8,'); + //FOpCodeList.Add('VPERMILPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPERMILPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPERMILPS,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VPERMILPS,1,1,YMMREG,YMMRM,IMM8,'); + //FOpCodeList.Add('VPERMILPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPEXTRB,1,1,REG32,XMMREG,IMM8,'); + //FOpCodeList.Add('VPEXTRB,1,1,REG64,XMMREG,IMM8,'); + //FOpCodeList.Add('VPEXTRB,1,1,MEM8,XMMREG,IMM8,'); + //FOpCodeList.Add('VPEXTRD,1,1,RM32,XMMREG,IMM8,'); + //FOpCodeList.Add('VPEXTRQ,0,1,RM64,XMMREG,IMM8,'); + //FOpCodeList.Add('VPEXTRW,1,1,REG32,XMMREG,IMM8,'); + //FOpCodeList.Add('VPEXTRW,1,1,REG64,XMMREG,IMM8,'); + //FOpCodeList.Add('VPEXTRW,1,1,REG64,XMMREG,IMM8,'); + //FOpCodeList.Add('VPEXTRW,1,1,MEM16,XMMREG,IMM8,'); + //FOpCodeList.Add('VPEXTRW,1,1,REG32,XMMREG,IMM8,'); + //FOpCodeList.Add('VPHADDD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPHADDD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPHADDSW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPHADDSW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPHADDW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPHADDW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPHMINPOSUW,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VPHSUBD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPHSUBD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPHSUBSW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPHSUBSW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPHSUBW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPHSUBW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPINSRB,1,1,XMMREG,XMMREG,REG32,IMM8'); + //FOpCodeList.Add('VPINSRB,1,1,XMMREG,XMMREG,MEM8,IMM8'); + //FOpCodeList.Add('VPINSRD,1,1,XMMREG,XMMREG,RM32,IMM8'); + //FOpCodeList.Add('VPINSRQ,0,1,XMMREG,XMMREG,RM64,IMM8'); + //FOpCodeList.Add('VPINSRW,1,1,XMMREG,XMMREG,REG32,IMM8'); + //FOpCodeList.Add('VPINSRW,1,1,XMMREG,XMMREG,MEM16,IMM8'); + //FOpCodeList.Add('VPMADDUBSW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMADDUBSW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMADDWD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMADDWD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMAXSB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMAXSB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMAXSD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMAXSD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMAXSW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMAXSW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMAXUB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMAXUB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMAXUD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMAXUD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMAXUW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMAXUW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMINSB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMINSB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMINSD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMINSD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMINSW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMINSW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMINUB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMINUB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMINUD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMINUD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMINUW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMINUW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMOVMSKB,1,1,REG64,XMMREG,,'); + //FOpCodeList.Add('VPMOVMSKB,1,1,REG64,YMMREG,,'); + //FOpCodeList.Add('VPMOVMSKB,1,1,REG32,XMMREG,,'); + //FOpCodeList.Add('VPMOVMSKB,1,1,REG32,YMMREG,,'); + //FOpCodeList.Add('VPMOVSXBD,1,1,XMMREG,MEM32,,'); + //FOpCodeList.Add('VPMOVSXBD,1,1,YMMREG,MEM64,,'); + //FOpCodeList.Add('VPMOVSXBD,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVSXBD,1,1,YMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVSXBQ,1,1,XMMREG,MEM16,,'); + //FOpCodeList.Add('VPMOVSXBQ,1,1,YMMREG,MEM32,,'); + //FOpCodeList.Add('VPMOVSXBQ,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVSXBQ,1,1,YMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVSXBW,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VPMOVSXBW,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVSXBW,1,1,YMMREG,XMMRM,,'); + //FOpCodeList.Add('VPMOVSXDQ,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VPMOVSXDQ,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVSXDQ,1,1,YMMREG,XMMRM,,'); + //FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VPMOVSXWQ,1,1,XMMREG,MEM32,,'); + //FOpCodeList.Add('VPMOVSXWQ,1,1,YMMREG,MEM64,,'); + //FOpCodeList.Add('VPMOVSXWQ,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVSXWQ,1,1,YMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVZXBD,1,1,XMMREG,MEM32,,'); + //FOpCodeList.Add('VPMOVZXBD,1,1,YMMREG,MEM64,,'); + //FOpCodeList.Add('VPMOVZXBD,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVZXBD,1,1,YMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVZXBQ,1,1,XMMREG,MEM16,,'); + //FOpCodeList.Add('VPMOVZXBQ,1,1,YMMREG,MEM32,,'); + //FOpCodeList.Add('VPMOVZXBQ,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVZXBQ,1,1,YMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVZXBW,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VPMOVZXBW,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVZXBW,1,1,YMMREG,XMMRM,,'); + //FOpCodeList.Add('VPMOVZXDQ,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VPMOVZXDQ,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVZXDQ,1,1,YMMREG,XMMRM,,'); + //FOpCodeList.Add('VPMOVZXWD,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VPMOVZXWD,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVZXWD,1,1,YMMREG,XMMRM,,'); + //FOpCodeList.Add('VPMOVZXWQ,1,1,XMMREG,MEM32,,'); + //FOpCodeList.Add('VPMOVZXWQ,1,1,YMMREG,MEM64,,'); + //FOpCodeList.Add('VPMOVZXWQ,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMOVZXWQ,1,1,YMMREG,XMMREG,,'); + //FOpCodeList.Add('VPMULDQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMULDQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMULHRSW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMULHRSW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMULHUW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMULHUW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMULHW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMULHW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMULLD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMULLD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMULLW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMULLW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPMULUDQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPMULUDQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPOR,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPOR,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSADBW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSADBW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSHUFB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSHUFB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSHUFD,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VPSHUFD,1,1,YMMREG,YMMRM,IMM8,'); + //FOpCodeList.Add('VPSHUFHW,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VPSHUFHW,1,1,YMMREG,YMMRM,IMM8,'); + //FOpCodeList.Add('VPSHUFLW,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VPSHUFLW,1,1,YMMREG,YMMRM,IMM8,'); + //FOpCodeList.Add('VPSIGNB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSIGNB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSIGND,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSIGND,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSIGNW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSIGNW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSLLD,1,1,XMMREG,XMMREG,IMM8,'); + //FOpCodeList.Add('VPSLLD,1,1,YMMREG,YMMREG,IMM8,'); + //FOpCodeList.Add('VPSLLD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSLLD,1,1,YMMREG,YMMREG,XMMRM,'); + //FOpCodeList.Add('VPSLLDQ,1,1,XMMREG,XMMREG,IMM8,'); + //FOpCodeList.Add('VPSLLDQ,1,1,YMMREG,YMMREG,IMM8,'); + //FOpCodeList.Add('VPSLLQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSLLQ,1,1,YMMREG,YMMREG,XMMRM,'); + //FOpCodeList.Add('VPSLLQ,1,1,XMMREG,XMMREG,IMM8,'); + //FOpCodeList.Add('VPSLLQ,1,1,YMMREG,YMMREG,IMM8,'); + //FOpCodeList.Add('VPSLLW,1,1,XMMREG,XMMREG,IMM8,'); + //FOpCodeList.Add('VPSLLW,1,1,YMMREG,YMMREG,IMM8,'); + //FOpCodeList.Add('VPSLLW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSLLW,1,1,YMMREG,YMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRAD,1,1,XMMREG,XMMREG,IMM8,'); + //FOpCodeList.Add('VPSRAD,1,1,YMMREG,YMMREG,IMM8,'); + //FOpCodeList.Add('VPSRAD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRAD,1,1,YMMREG,YMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRAW,1,1,XMMREG,XMMREG,IMM8,'); + //FOpCodeList.Add('VPSRAW,1,1,YMMREG,YMMREG,IMM8,'); + //FOpCodeList.Add('VPSRAW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRAW,1,1,YMMREG,YMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRLD,1,1,XMMREG,XMMREG,IMM8,'); + //FOpCodeList.Add('VPSRLD,1,1,YMMREG,YMMREG,IMM8,'); + //FOpCodeList.Add('VPSRLD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRLD,1,1,YMMREG,YMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRLDQ,1,1,XMMREG,XMMREG,IMM8,'); + //FOpCodeList.Add('VPSRLDQ,1,1,YMMREG,YMMREG,IMM8,'); + //FOpCodeList.Add('VPSRLQ,1,1,XMMREG,XMMREG,IMM8,'); + //FOpCodeList.Add('VPSRLQ,1,1,YMMREG,YMMREG,IMM8,'); + //FOpCodeList.Add('VPSRLQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRLQ,1,1,YMMREG,YMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRLW,1,1,XMMREG,XMMREG,IMM8,'); + //FOpCodeList.Add('VPSRLW,1,1,YMMREG,YMMREG,IMM8,'); + //FOpCodeList.Add('VPSRLW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRLW,1,1,YMMREG,YMMREG,XMMRM,'); + //FOpCodeList.Add('VPSUBB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSUBB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSUBD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSUBD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSUBQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSUBQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSUBSB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSUBSB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSUBSW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSUBSW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSUBUSB,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSUBUSB,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSUBUSW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSUBUSW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSUBW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSUBW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPTEST,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VPTEST,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VPTEST,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VPTEST,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VPUNPCKHBW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPUNPCKHBW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPUNPCKHDQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPUNPCKHDQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPUNPCKHQDQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPUNPCKHQDQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPUNPCKHWD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPUNPCKHWD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPUNPCKLBW,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPUNPCKLBW,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPUNPCKLDQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPUNPCKLDQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPUNPCKLQDQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPUNPCKLQDQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPUNPCKLWD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPUNPCKLWD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPXOR,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPXOR,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VRCPPS,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VRCPPS,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VRCPSS,1,1,XMMREG,XMMREG,MEM32,'); + //FOpCodeList.Add('VRCPSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VROUNDPD,1,1,YMMREG,YMMRM,IMM8,'); + //FOpCodeList.Add('VROUNDPD,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VROUNDPS,1,1,YMMREG,YMMRM,IMM8,'); + //FOpCodeList.Add('VROUNDPS,1,1,XMMREG,XMMRM,IMM8,'); + //FOpCodeList.Add('VROUNDSD,1,1,XMMREG,XMMREG,MEM64,IMM8'); + //FOpCodeList.Add('VROUNDSD,1,1,XMMREG,XMMREG,XMMREG,IMM8'); + //FOpCodeList.Add('VROUNDSS,1,1,XMMREG,XMMREG,MEM32,IMM8'); + //FOpCodeList.Add('VROUNDSS,1,1,XMMREG,XMMREG,XMMREG,IMM8'); + //FOpCodeList.Add('VRSQRTPS,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VRSQRTPS,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VRSQRTSS,1,1,XMMREG,XMMREG,MEM32,'); + //FOpCodeList.Add('VRSQRTSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VSHUFPD,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VSHUFPD,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VSHUFPS,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VSHUFPS,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VSQRTPD,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VSQRTPD,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VSQRTPS,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VSQRTPS,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VSQRTSD,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VSQRTSD,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VSQRTSS,1,1,XMMREG,XMMREG,MEM32,'); + //FOpCodeList.Add('VSQRTSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VSTMXCSR,1,1,MEM32,,,'); + //FOpCodeList.Add('VSUBPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VSUBPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VSUBPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VSUBPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VSUBSD,1,1,XMMREG,XMMREG,MEM64,'); + //FOpCodeList.Add('VSUBSD,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VSUBSS,1,1,XMMREG,XMMREG,MEM32,'); + //FOpCodeList.Add('VSUBSS,1,1,XMMREG,XMMREG,XMMREG,'); + //FOpCodeList.Add('VTESTPD,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VTESTPD,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VTESTPS,1,1,YMMREG,YMMRM,,'); + //FOpCodeList.Add('VTESTPS,1,1,XMMREG,XMMRM,,'); + //FOpCodeList.Add('VUCOMISD,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VUCOMISD,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VUCOMISS,1,1,XMMREG,MEM32,,'); + //FOpCodeList.Add('VUCOMISS,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VUNPCKHPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VUNPCKHPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VUNPCKHPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VUNPCKHPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VUNPCKLPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VUNPCKLPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VUNPCKLPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VUNPCKLPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VXORPD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VXORPD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VXORPS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VXORPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VZEROALL,1,1,,,,'); + //FOpCodeList.Add('VZEROUPPER,1,1,,,,'); + // + // + //FOpCodeList.Add('VBROADCASTI128,1,1,YMMREG,MEM128,,'); + //FOpCodeList.Add('VEXTRACTI128,1,1,XMMRM,YMMREG,IMM8,'); + //FOpCodeList.Add('VINSERTI128,1,1,YMMREG,YMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VPBLENDD,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VPBLENDD,1,1,XMMREG,XMMREG,XMMRM,IMM8'); + //FOpCodeList.Add('VPBROADCASTB,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPBROADCASTB,1,1,YMMREG,XMMREG,,'); + //FOpCodeList.Add('VPBROADCASTB,1,1,XMMREG,MEM8,,'); + //FOpCodeList.Add('VPBROADCASTB,1,1,YMMREG,MEM8,,'); + //FOpCodeList.Add('VPBROADCASTD,1,1,YMMREG,XMMREG,,'); + //FOpCodeList.Add('VPBROADCASTD,1,1,XMMREG,MEM32,,'); + //FOpCodeList.Add('VPBROADCASTD,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPBROADCASTD,1,1,YMMREG,MEM32,,'); + //FOpCodeList.Add('VPBROADCASTQ,1,1,YMMREG,MEM64,,'); + //FOpCodeList.Add('VPBROADCASTQ,1,1,XMMREG,MEM64,,'); + //FOpCodeList.Add('VPBROADCASTQ,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPBROADCASTQ,1,1,YMMREG,XMMREG,,'); + //FOpCodeList.Add('VPBROADCASTW,1,1,XMMREG,MEM16,,'); + //FOpCodeList.Add('VPBROADCASTW,1,1,XMMREG,XMMREG,,'); + //FOpCodeList.Add('VPBROADCASTW,1,1,YMMREG,MEM16,,'); + //FOpCodeList.Add('VPBROADCASTW,1,1,YMMREG,XMMREG,,'); + //FOpCodeList.Add('VPERM2I128,1,1,YMMREG,YMMREG,YMMRM,IMM8'); + //FOpCodeList.Add('VPERMD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPERMPD,1,1,YMMREG,YMMRM,IMM8,'); + //FOpCodeList.Add('VPERMPS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPERMQ,1,1,YMMREG,YMMRM,IMM8,'); + //FOpCodeList.Add('VPMASKMOVD,1,1,XMMREG,XMMREG,MEM128,'); + //FOpCodeList.Add('VPMASKMOVD,1,1,MEM128,XMMREG,XMMREG,'); + //FOpCodeList.Add('VPMASKMOVD,1,1,YMMREG,YMMREG,MEM256,'); + //FOpCodeList.Add('VPMASKMOVD,1,1,MEM256,YMMREG,YMMREG,'); + //FOpCodeList.Add('VPMASKMOVQ,1,1,XMMREG,XMMREG,MEM128,'); + //FOpCodeList.Add('VPMASKMOVQ,1,1,MEM128,XMMREG,XMMREG,'); + //FOpCodeList.Add('VPMASKMOVQ,1,1,YMMREG,YMMREG,MEM256,'); + //FOpCodeList.Add('VPMASKMOVQ,1,1,MEM256,YMMREG,YMMREG,'); + //FOpCodeList.Add('VPSLLVD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSLLVD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSLLVQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSLLVQ,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRAVD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSRAVD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRLVD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSRLVD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VPSRLVQ,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VPSRLVQ,1,1,XMMREG,XMMREG,XMMRM,'); + // + // + //FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD213PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD213PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD213PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD213PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD213PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD213PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD231PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD231PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD213PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD213PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD231PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADD231PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD132SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD213SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD231SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD132SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD213SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADD231SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADDSUB132PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADDSUB132PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADDSUB213PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADDSUB213PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADDSUB231PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADDSUB231PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADDSUB132PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADDSUB132PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADDSUB213PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADDSUB213PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMADDSUB231PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMADDSUB231PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUBADD132PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUBADD132PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUBADD213PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUBADD213PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUBADD231PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUBADD231PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUBADD132PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUBADD132PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUBADD213PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUBADD213PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUBADD231PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUBADD231PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB132PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUB132PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB213PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUB213PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB231PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUB231PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB132PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUB132PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB213PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUB213PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB231PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFMSUB231PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB132SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB213SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB231SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB132SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB213SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFMSUB231SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD132PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMADD132PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD213PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMADD213PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD231PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMADD231PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD132PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMADD132PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD213PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMADD213PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD231PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMADD231PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD132SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD213SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD231SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD132SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD213SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMADD231SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB132PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMSUB132PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB213PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMSUB213PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB231PD,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMSUB231PD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB132PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMSUB132PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB213PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMSUB213PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB231PS,1,1,YMMREG,YMMREG,YMMRM,'); + //FOpCodeList.Add('VFNMSUB231PS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB132SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB213SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB231SD,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB132SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB213SS,1,1,XMMREG,XMMREG,XMMRM,'); + //FOpCodeList.Add('VFNMSUB231SS,1,1,XMMREG,XMMREG,XMMRM,'); + // + // + //FOpCodeList.Add('VGATHERDPD,1,1,XMMREG,XMEM32,XMMREG,'); + //FOpCodeList.Add('VGATHERDPD,1,1,YMMREG,XMEM32,YMMREG,'); + // + //FOpCodeList.Add('VGATHERQPD,1,1,XMMREG,XMEM64,XMMREG,'); + //FOpCodeList.Add('VGATHERQPD,1,1,YMMREG,YMEM64,YMMREG,'); + // + // + //FOpCodeList.Add('VGATHERDPS,1,1,XMMREG,XMEM32,XMMREG,'); + //FOpCodeList.Add('VGATHERDPS,1,1,YMMREG,YMEM32,YMMREG,'); + // + //FOpCodeList.Add('VGATHERQPS,1,1,XMMREG,XMEM64,XMMREG,'); + //FOpCodeList.Add('VGATHERQPS,1,1,XMMREG,YMEM64,XMMREG,'); + // + // + // + //FOpCodeList.Add('VPGATHERDD,1,1,XMMREG,XMEM32,XMMREG,'); + //FOpCodeList.Add('VPGATHERDD,1,1,YMMREG,YMEM32,YMMREG,'); + // + //FOpCodeList.Add('VPGATHERQD,1,1,XMMREG,XMEM64,XMMREG,'); + //FOpCodeList.Add('VPGATHERQD,1,1,XMMREG,YMEM64,XMMREG,'); + // + // + //FOpCodeList.Add('VPGATHERDQ,1,1,XMMREG,XMEM32,XMMREG,'); + //FOpCodeList.Add('VPGATHERDQ,1,1,YMMREG,XMEM32,YMMREG,'); + // + //FOpCodeList.Add('VPGATHERQQ,1,1,XMMREG,XMEM64,XMMREG,'); + //FOpCodeList.Add('VPGATHERQQ,1,1,YMMREG,YMEM64,YMMREG,'); + + + FOpCodeList.Add('vaddpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vaddpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vaddpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vaddpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vaddpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,'); + FOpCodeList.Add('vaddpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vaddpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vaddps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vaddps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vaddps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vaddps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vaddps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,'); + FOpCodeList.Add('vaddps,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vaddps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vaddsd,1,1,1,XMMREG_MZ,XMMREG,MEM64,'); + FOpCodeList.Add('vaddsd,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vaddss,1,1,1,XMMREG_MZ,XMMREG,MEM32,'); + FOpCodeList.Add('vaddss,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vaddsubpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vaddsubpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vaddsubps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vaddsubps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vaesdec,1,1,1,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vaesdeclast,1,1,1,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vaesenc,1,1,1,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vaesenclast,1,1,1,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vaesimc,1,1,0,XMMREG,XMMRM,,'); + FOpCodeList.Add('vaeskeygenassist,1,1,0,XMMREG,XMMRM,IMM8,'); + FOpCodeList.Add('vandnpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vandnpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vandnpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vandnpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vandnpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vandnpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vandnps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vandnps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vandnps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vandnps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vandnps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vandnps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vandpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vandpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vandpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vandpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vandpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vandpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vandps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vandps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vandps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vandps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vandps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vandps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vblendpd,1,1,0,XMMREG,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vblendpd,1,1,0,YMMREG,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vblendps,1,1,0,XMMREG,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vblendps,1,1,0,YMMREG,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vblendvpd,1,1,0,XMMREG,XMMREG,XMMRM,XMMREG'); + FOpCodeList.Add('vblendvpd,1,1,0,YMMREG,YMMREG,YMMRM,YMMREG'); + FOpCodeList.Add('vblendvps,1,1,0,XMMREG,XMMREG,XMMRM,XMMREG'); + FOpCodeList.Add('vblendvps,1,1,0,YMMREG,YMMREG,YMMRM,YMMREG'); + FOpCodeList.Add('vbroadcastf128,1,1,0,YMMREG,MEM128,,'); + FOpCodeList.Add('vbroadcastsd,1,1,1,YMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vbroadcastsd,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vbroadcastsd,1,1,1,ZMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vbroadcastsd,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vbroadcastss,1,1,1,XMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vbroadcastss,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vbroadcastss,1,1,1,YMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vbroadcastss,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vbroadcastss,1,1,1,ZMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vbroadcastss,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcmpeqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpeqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpltps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpltps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpleps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpleps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpunordps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpunordps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpneqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpneqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpnltps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpnltps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpnleps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpnleps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpordps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpordps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpeq_uqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpeq_uqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpngeps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpngeps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpngtps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpngtps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpfalseps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpfalseps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpneq_oqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpneq_oqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpgeps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpgeps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpgtps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpgtps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmptrueps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmptrueps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpeq_osps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpeq_osps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmplt_oqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmplt_oqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmple_oqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmple_oqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpunord_sps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpunord_sps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpneq_usps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpneq_usps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpnlt_uqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpnlt_uqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpnle_uqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpnle_uqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpord_sps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpord_sps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpeq_usps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpeq_usps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpnge_uqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpnge_uqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpngt_uqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpngt_uqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpfalse_osps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpfalse_osps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpneq_osps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpneq_osps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpge_oqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpge_oqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpgt_oqps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpgt_oqps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmptrue_usps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmptrue_usps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpeqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpeqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpltpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpltpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmplepd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmplepd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpunordpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpunordpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpneqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpneqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpnltpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpnltpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpnlepd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpnlepd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpordpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpordpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpeq_uqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpeq_uqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpngepd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpngepd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpngtpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpngtpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpfalsepd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpfalsepd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpneq_oqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpneq_oqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpgepd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpgepd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpgtpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpgtpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmptruepd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmptruepd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpeq_ospd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpeq_ospd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmplt_oqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmplt_oqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmple_oqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmple_oqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpunord_spd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpunord_spd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpneq_uspd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpneq_uspd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpnlt_uqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpnlt_uqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpnle_uqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpnle_uqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpord_spd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpord_spd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpeq_uspd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpeq_uspd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpnge_uqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpnge_uqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpngt_uqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpngt_uqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpfalse_ospd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpfalse_ospd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpneq_ospd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpneq_ospd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpge_oqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpge_oqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmpgt_oqpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmpgt_oqpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmptrue_uspd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vcmptrue_uspd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vcmppd,1,1,1,KREG_M,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vcmppd,1,1,1,KREG_M,XMMREG,2B64,IMM8'); + FOpCodeList.Add('vcmppd,1,1,1,KREG_M,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vcmppd,1,1,1,KREG_M,YMMREG,4B32,IMM8'); + FOpCodeList.Add('vcmppd,1,1,1,KREG_M,ZMMREG,MEM512,IMM8'); + FOpCodeList.Add('vcmppd,1,1,1,KREG_M,ZMMREG,8B32,IMM8'); + FOpCodeList.Add('vcmppd,1,1,1,KREG_M,ZMMREG,ZMMREG_SAE,IMM8'); + FOpCodeList.Add('vcmppd,1,1,0,XMMREG,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vcmppd,1,1,0,YMMREG,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vcmpps,1,1,1,KREG_M,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vcmpps,1,1,1,KREG_M,XMMREG,4B32,IMM8'); + FOpCodeList.Add('vcmpps,1,1,1,KREG_M,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vcmpps,1,1,1,KREG_M,YMMREG,8B32,IMM8'); + FOpCodeList.Add('vcmpps,1,1,1,KREG_M,ZMMREG,MEM512,IMM8'); + FOpCodeList.Add('vcmpps,1,1,1,KREG_M,ZMMREG,16B32,IMM8'); + FOpCodeList.Add('vcmpps,1,1,1,KREG_M,ZMMREG,ZMMREG_SAE,IMM8'); + FOpCodeList.Add('vcmpps,1,1,0,XMMREG,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vcmpps,1,1,0,YMMREG,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vcmpsd,1,1,1,KREG_M,XMMREG,MEM64,IMM8'); + FOpCodeList.Add('vcmpsd,1,1,1,KREG_M,XMMREG,XMMREG_SAE,IMM8'); + FOpCodeList.Add('vcmpsd,1,1,0,XMMREG,XMMREG,XMMREG,IMM8'); + FOpCodeList.Add('vcmpsd,1,1,0,XMMREG,XMMREG,MEM64,IMM8'); + FOpCodeList.Add('vcmpss,1,1,1,KREG_M,XMMREG,MEM32,IMM8'); + FOpCodeList.Add('vcmpss,1,1,1,KREG_M,XMMREG,XMMREG_SAE,IMM8'); + FOpCodeList.Add('vcmpss,1,1,0,XMMREG,XMMREG,XMMREG,IMM8'); + FOpCodeList.Add('vcmpss,1,1,0,XMMREG,XMMREG,MEM64,IMM8'); + FOpCodeList.Add('vcomisd,1,1,1,XMMREG,MEM64,,'); + FOpCodeList.Add('vcomisd,1,1,1,XMMREG,XMMREG_SAE,,'); + FOpCodeList.Add('vcomiss,1,1,1,XMMREG,MEM32,,'); + FOpCodeList.Add('vcomiss,1,1,1,XMMREG,XMMREG_SAE,,'); + FOpCodeList.Add('vcvtdq2pd,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vcvtdq2pd,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcvtdq2pd,1,1,1,XMMREG_MZ,2B32,,'); + FOpCodeList.Add('vcvtdq2pd,1,1,1,YMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vcvtdq2pd,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcvtdq2pd,1,1,1,YMMREG_MZ,4B32,,'); + FOpCodeList.Add('vcvtdq2pd,1,1,1,ZMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vcvtdq2pd,1,1,1,ZMMREG_MZ,YMMREG_ER,,'); + FOpCodeList.Add('vcvtdq2pd,1,1,1,ZMMREG_MZ,8B32,,'); - FOpCodeList.Add('VADDPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VADDPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VADDPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VADDPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VADDSD,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VADDSD,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VADDSS,1,1,XMMREG,XMMREG,MEM32,'); - FOpCodeList.Add('VADDSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VADDSUBPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VADDSUBPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VADDSUBPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VADDSUBPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VAESDEC,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VAESDECLAST,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VAESENC,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VAESENCLAST,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VAESIMC,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VAESKEYGENASSIST,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VANDNPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VANDNPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VANDNPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VANDNPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VANDPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VANDPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VANDPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VANDPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VBLENDPD,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VBLENDPD,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VBLENDPS,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VBLENDPS,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VBLENDVPD,1,1,XMMREG,XMMREG,XMMRM,XMMREG'); - FOpCodeList.Add('VBLENDVPD,1,1,YMMREG,YMMREG,YMMRM,YMMREG'); - FOpCodeList.Add('VBLENDVPS,1,1,XMMREG,XMMREG,XMMRM,XMMREG'); - FOpCodeList.Add('VBLENDVPS,1,1,YMMREG,YMMREG,YMMRM,YMMREG'); - FOpCodeList.Add('VBROADCASTF128,1,1,YMMREG,MEM128,,'); - FOpCodeList.Add('VBROADCASTSD,1,1,YMMREG,MEM64,,'); - FOpCodeList.Add('VBROADCASTSS,1,1,YMMREG,MEM32,,'); - FOpCodeList.Add('VBROADCASTSS,1,1,XMMREG,MEM32,,'); - FOpCodeList.Add('VCMPPD,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VCMPPD,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VCMPPS,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VCMPPS,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VCMPSD,1,1,XMMREG,XMMREG,MEM64,IMM8'); - FOpCodeList.Add('VCMPSD,1,1,XMMREG,XMMREG,XMMREG,IMM8'); - FOpCodeList.Add('VCMPSS,1,1,XMMREG,XMMREG,MEM64,IMM8'); - FOpCodeList.Add('VCMPSS,1,1,XMMREG,XMMREG,XMMREG,IMM8'); - FOpCodeList.Add('VCOMISD,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VCOMISD,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VCOMISS,1,1,XMMREG,MEM32,,'); - FOpCodeList.Add('VCOMISS,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VCVTDQ2PD,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VCVTDQ2PD,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VCVTDQ2PD,1,1,YMMREG,XMMRM,,'); - FOpCodeList.Add('VCVTDQ2PS,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VCVTDQ2PS,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VCVTPD2DQ,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VCVTPD2DQ,1,1,XMMREG,YMMRM,,'); - FOpCodeList.Add('VCVTPD2PS,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VCVTPD2PS,1,1,XMMREG,YMMRM,,'); - FOpCodeList.Add('VCVTPS2DQ,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VCVTPS2DQ,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VCVTPS2PD,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VCVTPS2PD,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VCVTPS2PD,1,1,YMMREG,XMMRM,,'); - FOpCodeList.Add('VCVTSD2SI,1,1,REG32,MEM64,,'); - FOpCodeList.Add('VCVTSD2SI,1,1,REG32,XMMREG,,'); - FOpCodeList.Add('VCVTSD2SI,0,1,REG64,MEM64,,'); - FOpCodeList.Add('VCVTSD2SI,0,1,REG64,XMMREG,,'); - FOpCodeList.Add('VCVTSD2SS,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VCVTSD2SS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VCVTSI2SD,1,1,XMMREG,XMMREG,RM32,'); - FOpCodeList.Add('VCVTSI2SD,0,1,XMMREG,XMMREG,RM64,'); - FOpCodeList.Add('VCVTSI2SS,1,1,XMMREG,XMMREG,RM32,'); - FOpCodeList.Add('VCVTSI2SS,0,1,XMMREG,XMMREG,RM64,'); - FOpCodeList.Add('VCVTSS2SD,1,1,XMMREG,XMMREG,MEM32,'); - FOpCodeList.Add('VCVTSS2SD,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VCVTSS2SI,1,1,REG32,MEM32,,'); - FOpCodeList.Add('VCVTSS2SI,1,1,REG32,XMMREG,,'); - FOpCodeList.Add('VCVTSS2SI,0,1,REG64,MEM32,,'); - FOpCodeList.Add('VCVTSS2SI,0,1,REG64,XMMREG,,'); - FOpCodeList.Add('VCVTTPD2DQ,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VCVTTPD2DQ,1,1,XMMREG,YMMRM,,'); - FOpCodeList.Add('VCVTTPS2DQ,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VCVTTPS2DQ,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VCVTTSD2SI,1,1,REG32,MEM64,,'); - FOpCodeList.Add('VCVTTSD2SI,1,1,REG32,XMMREG,,'); - FOpCodeList.Add('VCVTTSD2SI,0,1,REG64,MEM64,,'); - FOpCodeList.Add('VCVTTSD2SI,0,1,REG64,XMMREG,,'); - FOpCodeList.Add('VCVTTSS2SI,1,1,REG32,MEM32,,'); - FOpCodeList.Add('VCVTTSS2SI,1,1,REG32,XMMREG,,'); - FOpCodeList.Add('VCVTTSS2SI,0,1,REG64,MEM32,,'); - FOpCodeList.Add('VCVTTSS2SI,0,1,REG64,XMMREG,,'); - FOpCodeList.Add('VDIVPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VDIVPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VDIVPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VDIVPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VDIVSD,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VDIVSD,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VDIVSS,1,1,XMMREG,XMMREG,MEM32,'); - FOpCodeList.Add('VDIVSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VDPPD,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VDPPS,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VDPPS,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VEXTRACTF128,1,1,XMMRM,YMMREG,IMM8,'); - FOpCodeList.Add('VEXTRACTPS,1,1,RM32,XMMREG,IMM8,'); - FOpCodeList.Add('VHADDPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VHADDPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VHADDPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VHADDPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VHSUBPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VHSUBPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VHSUBPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VHSUBPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VINSERTF128,1,1,YMMREG,YMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VINSERTPS,1,1,XMMREG,XMMREG,MEM32,IMM8'); - FOpCodeList.Add('VINSERTPS,1,1,XMMREG,XMMREG,XMMREG,IMM8'); - FOpCodeList.Add('VLDDQU,1,1,XMMREG,MEM128,,'); - FOpCodeList.Add('VLDDQU,1,1,YMMREG,MEM256,,'); - FOpCodeList.Add('VLDMXCSR,1,1,MEM32,,,'); - FOpCodeList.Add('VMASKMOVDQU,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VMASKMOVPD,1,1,MEM256,YMMREG,YMMREG,'); - FOpCodeList.Add('VMASKMOVPD,1,1,MEM128,XMMREG,XMMREG,'); - FOpCodeList.Add('VMASKMOVPD,1,1,YMMREG,YMMREG,MEM256,'); - FOpCodeList.Add('VMASKMOVPD,1,1,XMMREG,XMMREG,MEM128,'); - FOpCodeList.Add('VMASKMOVPS,1,1,MEM256,YMMREG,YMMREG,'); - FOpCodeList.Add('VMASKMOVPS,1,1,MEM128,XMMREG,XMMREG,'); - FOpCodeList.Add('VMASKMOVPS,1,1,YMMREG,YMMREG,MEM256,'); - FOpCodeList.Add('VMASKMOVPS,1,1,XMMREG,XMMREG,MEM128,'); - FOpCodeList.Add('VMAXPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VMAXPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VMAXPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VMAXPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VMAXSD,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VMAXSD,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMAXSS,1,1,XMMREG,XMMREG,MEM32,'); - FOpCodeList.Add('VMAXSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMINPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VMINPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VMINPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VMINPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VMINSD,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VMINSD,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMINSS,1,1,XMMREG,XMMREG,MEM32,'); - FOpCodeList.Add('VMINSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMOVAPD,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VMOVAPD,1,1,XMMRM,XMMREG,,'); - FOpCodeList.Add('VMOVAPD,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VMOVAPD,1,1,YMMRM,YMMREG,,'); - FOpCodeList.Add('VMOVAPS,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VMOVAPS,1,1,XMMRM,XMMREG,,'); - FOpCodeList.Add('VMOVAPS,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VMOVAPS,1,1,YMMRM,YMMREG,,'); - FOpCodeList.Add('VMOVD,1,1,XMMREG,RM32,,'); - FOpCodeList.Add('VMOVD,1,1,RM32,XMMREG,,'); - FOpCodeList.Add('VMOVDDUP,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VMOVDDUP,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VMOVDDUP,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VMOVDQA,1,1,YMMRM,YMMREG,,'); - FOpCodeList.Add('VMOVDQA,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VMOVDQA,1,1,XMMRM,XMMREG,,'); - FOpCodeList.Add('VMOVDQA,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VMOVDQU,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VMOVDQU,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VMOVDQU,1,1,XMMRM,XMMREG,,'); - FOpCodeList.Add('VMOVDQU,1,1,YMMRM,YMMREG,,'); - FOpCodeList.Add('VMOVHLPS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMOVHPD,1,1,MEM64,XMMREG,,'); - FOpCodeList.Add('VMOVHPD,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VMOVHPS,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VMOVHPS,1,1,MEM64,XMMREG,,'); - FOpCodeList.Add('VMOVLHPS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMOVLPD,1,1,MEM64,XMMREG,,'); - FOpCodeList.Add('VMOVLPD,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VMOVLPS,1,1,MEM64,XMMREG,,'); - FOpCodeList.Add('VMOVLPS,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VMOVMSKPD,1,1,REG32,YMMREG,,'); - FOpCodeList.Add('VMOVMSKPD,1,1,REG64,XMMREG,,'); - FOpCodeList.Add('VMOVMSKPD,1,1,REG32,XMMREG,,'); - FOpCodeList.Add('VMOVMSKPD,1,1,REG64,YMMREG,,'); - FOpCodeList.Add('VMOVMSKPS,1,1,REG32,YMMREG,,'); - FOpCodeList.Add('VMOVMSKPS,1,1,REG64,XMMREG,,'); - FOpCodeList.Add('VMOVMSKPS,1,1,REG32,XMMREG,,'); - FOpCodeList.Add('VMOVMSKPS,1,1,REG64,YMMREG,,'); - FOpCodeList.Add('VMOVNTDQ,1,1,MEM128,XMMREG,,'); - FOpCodeList.Add('VMOVNTDQ,1,1,MEM256,YMMREG,,'); - FOpCodeList.Add('VMOVNTDQA,1,1,XMMREG,MEM128,,'); - FOpCodeList.Add('VMOVNTPD,1,1,MEM256,YMMREG,,'); - FOpCodeList.Add('VMOVNTPD,1,1,MEM128,XMMREG,,'); - FOpCodeList.Add('VMOVNTPS,1,1,MEM128,YMMREG,,'); - FOpCodeList.Add('VMOVNTPS,1,1,MEM128,XMMREG,,'); - FOpCodeList.Add('VMOVQ,0,1,RM64,XMMREG,,'); - FOpCodeList.Add('VMOVQ,0,1,XMMREG,RM64,,'); - FOpCodeList.Add('VMOVSD,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMOVSD,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VMOVSD,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMOVSD,1,1,MEM64,XMMREG,,'); - FOpCodeList.Add('VMOVSHDUP,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VMOVSHDUP,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VMOVSLDUP,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VMOVSLDUP,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VMOVSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMOVSS,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VMOVSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMOVSS,1,1,MEM64,XMMREG,,'); - FOpCodeList.Add('VMOVUPD,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VMOVUPD,1,1,XMMRM,XMMREG,,'); - FOpCodeList.Add('VMOVUPD,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VMOVUPD,1,1,YMMRM,YMMREG,,'); - FOpCodeList.Add('VMOVUPS,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VMOVUPS,1,1,XMMRM,XMMREG,,'); - FOpCodeList.Add('VMOVUPS,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VMOVUPS,1,1,YMMRM,YMMREG,,'); - FOpCodeList.Add('VMPSADBW,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VMULPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VMULPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VMULPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VMULPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VMULSD,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VMULSD,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VMULSS,1,1,XMMREG,XMMREG,MEM32,'); - FOpCodeList.Add('VMULSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VORPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VORPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VORPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPABSB,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VPABSB,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VPABSD,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VPABSD,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VPABSW,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VPABSW,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VPACKSSDW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPACKSSDW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPACKSSWB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPACKSSWB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPACKUSDW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPACKUSDW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPACKUSWB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPACKUSWB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPADDB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPADDB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPADDD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPADDD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPADDQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPADDQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPADDSB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPADDSB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPADDSW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPADDSW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPADDUSB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPADDUSB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPADDUSW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPADDUSW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPADDW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPADDW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPALIGNR,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VPALIGNR,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VPAND,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPAND,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPANDN,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPANDN,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPAVGB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPAVGB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPAVGW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPAVGW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPBLENDVB,1,1,XMMREG,XMMREG,XMMRM,XMMREG'); - FOpCodeList.Add('VPBLENDVB,1,1,YMMREG,YMMREG,YMMRM,YMMREG'); - FOpCodeList.Add('VPBLENDW,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VPBLENDW,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VPCLMULQDQ,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VPCMPEQB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPCMPEQB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPCMPEQD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPCMPEQD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPCMPEQQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPCMPEQQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPCMPEQW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPCMPEQW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPCMPESTRI,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VPCMPESTRM,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VPCMPGTB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPCMPGTB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPCMPGTD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPCMPGTD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPCMPGTQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPCMPGTQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPCMPGTW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPCMPGTW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPCMPISTRI,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VPCMPISTRM,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VPERM2F128,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VPERMILPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPERMILPD,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VPERMILPD,1,1,YMMREG,YMMRM,IMM8,'); - FOpCodeList.Add('VPERMILPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPERMILPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPERMILPS,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VPERMILPS,1,1,YMMREG,YMMRM,IMM8,'); - FOpCodeList.Add('VPERMILPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPEXTRB,1,1,REG32,XMMREG,IMM8,'); - FOpCodeList.Add('VPEXTRB,1,1,REG64,XMMREG,IMM8,'); - FOpCodeList.Add('VPEXTRB,1,1,MEM8,XMMREG,IMM8,'); - FOpCodeList.Add('VPEXTRD,1,1,RM32,XMMREG,IMM8,'); - FOpCodeList.Add('VPEXTRQ,0,1,RM64,XMMREG,IMM8,'); - FOpCodeList.Add('VPEXTRW,1,1,REG32,XMMREG,IMM8,'); - FOpCodeList.Add('VPEXTRW,1,1,REG64,XMMREG,IMM8,'); - FOpCodeList.Add('VPEXTRW,1,1,REG64,XMMREG,IMM8,'); - FOpCodeList.Add('VPEXTRW,1,1,MEM16,XMMREG,IMM8,'); - FOpCodeList.Add('VPEXTRW,1,1,REG32,XMMREG,IMM8,'); - FOpCodeList.Add('VPHADDD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPHADDD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPHADDSW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPHADDSW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPHADDW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPHADDW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPHMINPOSUW,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VPHSUBD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPHSUBD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPHSUBSW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPHSUBSW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPHSUBW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPHSUBW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPINSRB,1,1,XMMREG,XMMREG,REG32,IMM8'); - FOpCodeList.Add('VPINSRB,1,1,XMMREG,XMMREG,MEM8,IMM8'); - FOpCodeList.Add('VPINSRD,1,1,XMMREG,XMMREG,RM32,IMM8'); - FOpCodeList.Add('VPINSRQ,0,1,XMMREG,XMMREG,RM64,IMM8'); - FOpCodeList.Add('VPINSRW,1,1,XMMREG,XMMREG,REG32,IMM8'); - FOpCodeList.Add('VPINSRW,1,1,XMMREG,XMMREG,MEM16,IMM8'); - FOpCodeList.Add('VPMADDUBSW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMADDUBSW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMADDWD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMADDWD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMAXSB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMAXSB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMAXSD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMAXSD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMAXSW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMAXSW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMAXUB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMAXUB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMAXUD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMAXUD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMAXUW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMAXUW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMINSB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMINSB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMINSD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMINSD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMINSW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMINSW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMINUB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMINUB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMINUD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMINUD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMINUW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMINUW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMOVMSKB,1,1,REG64,XMMREG,,'); - FOpCodeList.Add('VPMOVMSKB,1,1,REG64,YMMREG,,'); - FOpCodeList.Add('VPMOVMSKB,1,1,REG32,XMMREG,,'); - FOpCodeList.Add('VPMOVMSKB,1,1,REG32,YMMREG,,'); - FOpCodeList.Add('VPMOVSXBD,1,1,XMMREG,MEM32,,'); - FOpCodeList.Add('VPMOVSXBD,1,1,YMMREG,MEM64,,'); - FOpCodeList.Add('VPMOVSXBD,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVSXBD,1,1,YMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVSXBQ,1,1,XMMREG,MEM16,,'); - FOpCodeList.Add('VPMOVSXBQ,1,1,YMMREG,MEM32,,'); - FOpCodeList.Add('VPMOVSXBQ,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVSXBQ,1,1,YMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVSXBW,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VPMOVSXBW,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVSXBW,1,1,YMMREG,XMMRM,,'); - FOpCodeList.Add('VPMOVSXDQ,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VPMOVSXDQ,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVSXDQ,1,1,YMMREG,XMMRM,,'); - FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VPMOVSXWQ,1,1,XMMREG,MEM32,,'); - FOpCodeList.Add('VPMOVSXWQ,1,1,YMMREG,MEM64,,'); - FOpCodeList.Add('VPMOVSXWQ,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVSXWQ,1,1,YMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVZXBD,1,1,XMMREG,MEM32,,'); - FOpCodeList.Add('VPMOVZXBD,1,1,YMMREG,MEM64,,'); - FOpCodeList.Add('VPMOVZXBD,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVZXBD,1,1,YMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVZXBQ,1,1,XMMREG,MEM16,,'); - FOpCodeList.Add('VPMOVZXBQ,1,1,YMMREG,MEM32,,'); - FOpCodeList.Add('VPMOVZXBQ,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVZXBQ,1,1,YMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVZXBW,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VPMOVZXBW,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVZXBW,1,1,YMMREG,XMMRM,,'); - FOpCodeList.Add('VPMOVZXDQ,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VPMOVZXDQ,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVZXDQ,1,1,YMMREG,XMMRM,,'); - FOpCodeList.Add('VPMOVZXWD,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VPMOVZXWD,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVZXWD,1,1,YMMREG,XMMRM,,'); - FOpCodeList.Add('VPMOVZXWQ,1,1,XMMREG,MEM32,,'); - FOpCodeList.Add('VPMOVZXWQ,1,1,YMMREG,MEM64,,'); - FOpCodeList.Add('VPMOVZXWQ,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPMOVZXWQ,1,1,YMMREG,XMMREG,,'); - FOpCodeList.Add('VPMULDQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMULDQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMULHRSW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMULHRSW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMULHUW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMULHUW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMULHW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMULHW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMULLD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMULLD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMULLW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMULLW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPMULUDQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPMULUDQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPOR,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPOR,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSADBW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSADBW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSHUFB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSHUFB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSHUFD,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VPSHUFD,1,1,YMMREG,YMMRM,IMM8,'); - FOpCodeList.Add('VPSHUFHW,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VPSHUFHW,1,1,YMMREG,YMMRM,IMM8,'); - FOpCodeList.Add('VPSHUFLW,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VPSHUFLW,1,1,YMMREG,YMMRM,IMM8,'); - FOpCodeList.Add('VPSIGNB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSIGNB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSIGND,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSIGND,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSIGNW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSIGNW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSLLD,1,1,XMMREG,XMMREG,IMM8,'); - FOpCodeList.Add('VPSLLD,1,1,YMMREG,YMMREG,IMM8,'); - FOpCodeList.Add('VPSLLD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSLLD,1,1,YMMREG,YMMREG,XMMRM,'); - FOpCodeList.Add('VPSLLDQ,1,1,XMMREG,XMMREG,IMM8,'); - FOpCodeList.Add('VPSLLDQ,1,1,YMMREG,YMMREG,IMM8,'); - FOpCodeList.Add('VPSLLQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSLLQ,1,1,YMMREG,YMMREG,XMMRM,'); - FOpCodeList.Add('VPSLLQ,1,1,XMMREG,XMMREG,IMM8,'); - FOpCodeList.Add('VPSLLQ,1,1,YMMREG,YMMREG,IMM8,'); - FOpCodeList.Add('VPSLLW,1,1,XMMREG,XMMREG,IMM8,'); - FOpCodeList.Add('VPSLLW,1,1,YMMREG,YMMREG,IMM8,'); - FOpCodeList.Add('VPSLLW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSLLW,1,1,YMMREG,YMMREG,XMMRM,'); - FOpCodeList.Add('VPSRAD,1,1,XMMREG,XMMREG,IMM8,'); - FOpCodeList.Add('VPSRAD,1,1,YMMREG,YMMREG,IMM8,'); - FOpCodeList.Add('VPSRAD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSRAD,1,1,YMMREG,YMMREG,XMMRM,'); - FOpCodeList.Add('VPSRAW,1,1,XMMREG,XMMREG,IMM8,'); - FOpCodeList.Add('VPSRAW,1,1,YMMREG,YMMREG,IMM8,'); - FOpCodeList.Add('VPSRAW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSRAW,1,1,YMMREG,YMMREG,XMMRM,'); - FOpCodeList.Add('VPSRLD,1,1,XMMREG,XMMREG,IMM8,'); - FOpCodeList.Add('VPSRLD,1,1,YMMREG,YMMREG,IMM8,'); - FOpCodeList.Add('VPSRLD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSRLD,1,1,YMMREG,YMMREG,XMMRM,'); - FOpCodeList.Add('VPSRLDQ,1,1,XMMREG,XMMREG,IMM8,'); - FOpCodeList.Add('VPSRLDQ,1,1,YMMREG,YMMREG,IMM8,'); - FOpCodeList.Add('VPSRLQ,1,1,XMMREG,XMMREG,IMM8,'); - FOpCodeList.Add('VPSRLQ,1,1,YMMREG,YMMREG,IMM8,'); - FOpCodeList.Add('VPSRLQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSRLQ,1,1,YMMREG,YMMREG,XMMRM,'); - FOpCodeList.Add('VPSRLW,1,1,XMMREG,XMMREG,IMM8,'); - FOpCodeList.Add('VPSRLW,1,1,YMMREG,YMMREG,IMM8,'); - FOpCodeList.Add('VPSRLW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSRLW,1,1,YMMREG,YMMREG,XMMRM,'); - FOpCodeList.Add('VPSUBB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSUBB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSUBD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSUBD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSUBQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSUBQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSUBSB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSUBSB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSUBSW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSUBSW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSUBUSB,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSUBUSB,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSUBUSW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSUBUSW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSUBW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSUBW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPTEST,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VPTEST,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VPTEST,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VPTEST,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VPUNPCKHBW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPUNPCKHBW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPUNPCKHDQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPUNPCKHDQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPUNPCKHQDQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPUNPCKHQDQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPUNPCKHWD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPUNPCKHWD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPUNPCKLBW,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPUNPCKLBW,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPUNPCKLDQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPUNPCKLDQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPUNPCKLQDQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPUNPCKLQDQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPUNPCKLWD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPUNPCKLWD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPXOR,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPXOR,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VRCPPS,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VRCPPS,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VRCPSS,1,1,XMMREG,XMMREG,MEM32,'); - FOpCodeList.Add('VRCPSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VROUNDPD,1,1,YMMREG,YMMRM,IMM8,'); - FOpCodeList.Add('VROUNDPD,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VROUNDPS,1,1,YMMREG,YMMRM,IMM8,'); - FOpCodeList.Add('VROUNDPS,1,1,XMMREG,XMMRM,IMM8,'); - FOpCodeList.Add('VROUNDSD,1,1,XMMREG,XMMREG,MEM64,IMM8'); - FOpCodeList.Add('VROUNDSD,1,1,XMMREG,XMMREG,XMMREG,IMM8'); - FOpCodeList.Add('VROUNDSS,1,1,XMMREG,XMMREG,MEM32,IMM8'); - FOpCodeList.Add('VROUNDSS,1,1,XMMREG,XMMREG,XMMREG,IMM8'); - FOpCodeList.Add('VRSQRTPS,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VRSQRTPS,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VRSQRTSS,1,1,XMMREG,XMMREG,MEM32,'); - FOpCodeList.Add('VRSQRTSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VSHUFPD,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VSHUFPD,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VSHUFPS,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VSHUFPS,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VSQRTPD,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VSQRTPD,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VSQRTPS,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VSQRTPS,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VSQRTSD,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VSQRTSD,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VSQRTSS,1,1,XMMREG,XMMREG,MEM32,'); - FOpCodeList.Add('VSQRTSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VSTMXCSR,1,1,MEM32,,,'); - FOpCodeList.Add('VSUBPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VSUBPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VSUBPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VSUBPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VSUBSD,1,1,XMMREG,XMMREG,MEM64,'); - FOpCodeList.Add('VSUBSD,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VSUBSS,1,1,XMMREG,XMMREG,MEM32,'); - FOpCodeList.Add('VSUBSS,1,1,XMMREG,XMMREG,XMMREG,'); - FOpCodeList.Add('VTESTPD,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VTESTPD,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VTESTPS,1,1,YMMREG,YMMRM,,'); - FOpCodeList.Add('VTESTPS,1,1,XMMREG,XMMRM,,'); - FOpCodeList.Add('VUCOMISD,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VUCOMISD,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VUCOMISS,1,1,XMMREG,MEM32,,'); - FOpCodeList.Add('VUCOMISS,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VUNPCKHPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VUNPCKHPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VUNPCKHPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VUNPCKHPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VUNPCKLPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VUNPCKLPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VUNPCKLPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VUNPCKLPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VXORPD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VXORPD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VXORPS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VXORPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VZEROALL,1,1,,,,'); - FOpCodeList.Add('VZEROUPPER,1,1,,,,'); - - - FOpCodeList.Add('VBROADCASTI128,1,1,YMMREG,MEM128,,'); - FOpCodeList.Add('VEXTRACTI128,1,1,XMMRM,YMMREG,IMM8,'); - FOpCodeList.Add('VINSERTI128,1,1,YMMREG,YMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VPBLENDD,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VPBLENDD,1,1,XMMREG,XMMREG,XMMRM,IMM8'); - FOpCodeList.Add('VPBROADCASTB,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPBROADCASTB,1,1,YMMREG,XMMREG,,'); - FOpCodeList.Add('VPBROADCASTB,1,1,XMMREG,MEM8,,'); - FOpCodeList.Add('VPBROADCASTB,1,1,YMMREG,MEM8,,'); - FOpCodeList.Add('VPBROADCASTD,1,1,YMMREG,XMMREG,,'); - FOpCodeList.Add('VPBROADCASTD,1,1,XMMREG,MEM32,,'); - FOpCodeList.Add('VPBROADCASTD,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPBROADCASTD,1,1,YMMREG,MEM32,,'); - FOpCodeList.Add('VPBROADCASTQ,1,1,YMMREG,MEM64,,'); - FOpCodeList.Add('VPBROADCASTQ,1,1,XMMREG,MEM64,,'); - FOpCodeList.Add('VPBROADCASTQ,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPBROADCASTQ,1,1,YMMREG,XMMREG,,'); - FOpCodeList.Add('VPBROADCASTW,1,1,XMMREG,MEM16,,'); - FOpCodeList.Add('VPBROADCASTW,1,1,XMMREG,XMMREG,,'); - FOpCodeList.Add('VPBROADCASTW,1,1,YMMREG,MEM16,,'); - FOpCodeList.Add('VPBROADCASTW,1,1,YMMREG,XMMREG,,'); - FOpCodeList.Add('VPERM2I128,1,1,YMMREG,YMMREG,YMMRM,IMM8'); - FOpCodeList.Add('VPERMD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPERMPD,1,1,YMMREG,YMMRM,IMM8,'); - FOpCodeList.Add('VPERMPS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPERMQ,1,1,YMMREG,YMMRM,IMM8,'); - FOpCodeList.Add('VPMASKMOVD,1,1,XMMREG,XMMREG,MEM128,'); - FOpCodeList.Add('VPMASKMOVD,1,1,MEM128,XMMREG,XMMREG,'); - FOpCodeList.Add('VPMASKMOVD,1,1,YMMREG,YMMREG,MEM256,'); - FOpCodeList.Add('VPMASKMOVD,1,1,MEM256,YMMREG,YMMREG,'); - FOpCodeList.Add('VPMASKMOVQ,1,1,XMMREG,XMMREG,MEM128,'); - FOpCodeList.Add('VPMASKMOVQ,1,1,MEM128,XMMREG,XMMREG,'); - FOpCodeList.Add('VPMASKMOVQ,1,1,YMMREG,YMMREG,MEM256,'); - FOpCodeList.Add('VPMASKMOVQ,1,1,MEM256,YMMREG,YMMREG,'); - FOpCodeList.Add('VPSLLVD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSLLVD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSLLVQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSLLVQ,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSRAVD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSRAVD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSRLVD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSRLVD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VPSRLVQ,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VPSRLVQ,1,1,XMMREG,XMMREG,XMMRM,'); - - - FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD213PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD213PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD213PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD213PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD213PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD213PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD231PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD231PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD213PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD213PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD231PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADD231PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD132SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD213SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD231SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD132SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD213SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADD231SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADDSUB132PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADDSUB132PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADDSUB213PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADDSUB213PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADDSUB231PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADDSUB231PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADDSUB132PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADDSUB132PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADDSUB213PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADDSUB213PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMADDSUB231PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMADDSUB231PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUBADD132PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUBADD132PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUBADD213PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUBADD213PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUBADD231PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUBADD231PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUBADD132PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUBADD132PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUBADD213PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUBADD213PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUBADD231PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUBADD231PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB132PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUB132PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB213PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUB213PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB231PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUB231PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB132PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUB132PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB213PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUB213PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB231PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFMSUB231PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB132SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB213SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB231SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB132SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB213SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFMSUB231SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD132PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMADD132PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD213PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMADD213PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD231PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMADD231PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD132PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMADD132PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD213PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMADD213PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD231PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMADD231PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD132SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD213SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD231SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD132SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD213SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMADD231SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB132PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMSUB132PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB213PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMSUB213PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB231PD,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMSUB231PD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB132PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMSUB132PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB213PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMSUB213PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB231PS,1,1,YMMREG,YMMREG,YMMRM,'); - FOpCodeList.Add('VFNMSUB231PS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB132SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB213SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB231SD,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB132SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB213SS,1,1,XMMREG,XMMREG,XMMRM,'); - FOpCodeList.Add('VFNMSUB231SS,1,1,XMMREG,XMMREG,XMMRM,'); - - - FOpCodeList.Add('VGATHERDPD,1,1,XMMREG,XMEM32,XMMREG,'); - FOpCodeList.Add('VGATHERDPD,1,1,YMMREG,XMEM32,YMMREG,'); + FOpCodeList.Add('vcvtdq2ps,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vcvtdq2ps,1,1,1,XMMREG_MZ,4B32,,'); + FOpCodeList.Add('vcvtdq2ps,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vcvtdq2ps,1,1,1,YMMREG_MZ,8B32,,'); + FOpCodeList.Add('vcvtdq2ps,1,1,1,ZMMREG_MZ,MEM512,,'); + FOpCodeList.Add('vcvtdq2ps,1,1,1,ZMMREG_MZ,16B32,,'); + FOpCodeList.Add('vcvtdq2ps,1,1,1,ZMMREG_MZ,ZMMREG_ER,,'); + FOpCodeList.Add('vcvtpd2dq,1,1,1,XMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vcvtpd2dq,1,1,1,XMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vcvtpd2dq,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcvtpd2dq,1,1,1,XMMREG_MZ,2B64,,'); + FOpCodeList.Add('vcvtpd2dq,1,1,1,XMMREG_MZ,4B64,,'); + FOpCodeList.Add('vcvtpd2dq,1,1,1,XMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vcvtpd2dq,1,1,1,YMMREG_MZ,MEM512,,'); + FOpCodeList.Add('vcvtpd2dq,1,1,1,YMMREG_MZ,8B64,,'); + FOpCodeList.Add('vcvtpd2dq,1,1,1,YMMREG_MZ,ZMMREG_ER,,'); + FOpCodeList.Add('vcvtpd2ps,1,1,1,XMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vcvtpd2ps,1,1,1,XMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vcvtpd2ps,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcvtpd2ps,1,1,1,XMMREG_MZ,2B64,,'); + FOpCodeList.Add('vcvtpd2ps,1,1,1,XMMREG_MZ,4B64,,'); + FOpCodeList.Add('vcvtpd2ps,1,1,1,XMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vcvtpd2ps,1,1,1,YMMREG_MZ,MEM512,,'); + FOpCodeList.Add('vcvtpd2ps,1,1,1,YMMREG_MZ,8B64,,'); + FOpCodeList.Add('vcvtpd2ps,1,1,1,YMMREG_MZ,ZMMREG_ER,,'); + FOpCodeList.Add('vcvtph2ps,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vcvtph2ps,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcvtph2ps,1,1,1,YMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vcvtph2ps,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcvtph2ps,1,1,1,ZMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vcvtph2ps,1,1,1,ZMMREG_MZ,YMMREG_SAE,,'); + FOpCodeList.Add('vcvtps2dq,1,1,1,XMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vcvtps2dq,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcvtps2dq,1,1,1,XMMREG_MZ,4B32,,'); + FOpCodeList.Add('vcvtps2dq,1,1,1,YMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vcvtps2dq,1,1,1,YMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vcvtps2dq,1,1,1,YMMREG_MZ,8B32,,'); + FOpCodeList.Add('vcvtps2dq,1,1,1,ZMMREG_MZ,MEM512,,'); + FOpCodeList.Add('vcvtps2dq,1,1,1,ZMMREG_MZ,16B32,,'); + FOpCodeList.Add('vcvtps2dq,1,1,1,ZMMREG_MZ,ZMMREG_ER,,'); + FOpCodeList.Add('vcvtps2pd,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vcvtps2pd,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcvtps2pd,1,1,1,XMMREG_MZ,2B32,,'); + FOpCodeList.Add('vcvtps2pd,1,1,1,YMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vcvtps2pd,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcvtps2pd,1,1,1,YMMREG_MZ,4B32,,'); + FOpCodeList.Add('vcvtps2pd,1,1,1,ZMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vcvtps2pd,1,1,1,ZMMREG_MZ,YMMREG_SAE,,'); + FOpCodeList.Add('vcvtps2pd,1,1,1,ZMMREG_MZ,8B32,,'); + FOpCodeList.Add('vcvtps2ph,1,1,1,MEM128_M,YMMREG,IMM8,'); + FOpCodeList.Add('vcvtps2ph,1,1,1,MEM256_M,ZMMREG_SAE,IMM8,'); + FOpCodeList.Add('vcvtps2ph,1,1,1,MEM64_M,XMMREG,IMM8,'); + FOpCodeList.Add('vcvtps2ph,1,1,1,XMMREG_MZ,XMMREG,IMM8,'); + FOpCodeList.Add('vcvtps2ph,1,1,1,XMMREG_MZ,YMMREG,IMM8,'); + FOpCodeList.Add('vcvtps2ph,1,1,1,YMMREG_MZ,ZMMREG_SAE,IMM8,'); + FOpCodeList.Add('vcvtsd2si,1,1,1,REG32,MEM64,,'); + FOpCodeList.Add('vcvtsd2si,1,1,1,REG32,XMMREG_ER,,'); + FOpCodeList.Add('vcvtsd2si,1,1,1,REG64,MEM64,,'); + FOpCodeList.Add('vcvtsd2si,1,1,1,REG64,XMMREG_ER,,'); + FOpCodeList.Add('vcvtsd2ss,1,1,1,XMMREG_MZ,XMMREG,MEM64,'); + FOpCodeList.Add('vcvtsd2ss,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vcvtsi2sd,1,1,1,XMMREG,XMMREG_ER,REG32,'); + FOpCodeList.Add('vcvtsi2sd,0,1,1,XMMREG,XMMREG_ER,REG64,'); + FOpCodeList.Add('vcvtsi2ss,1,1,1,XMMREG,XMMREG_ER,REG32,'); + FOpCodeList.Add('vcvtsi2ss,0,1,1,XMMREG,XMMREG_ER,REG64,'); + FOpCodeList.Add('vcvtss2sd,1,1,1,XMMREG_MZ,XMMREG,MEM32,'); + FOpCodeList.Add('vcvtss2sd,1,1,1,XMMREG_MZ,XMMREG,XMMREG_SAE,'); + FOpCodeList.Add('vcvtss2si,1,1,1,REG32,MEM32,,'); + FOpCodeList.Add('vcvtss2si,1,1,1,REG32,XMMREG_ER,,'); + FOpCodeList.Add('vcvtss2si,1,1,1,REG64,MEM32,,'); + FOpCodeList.Add('vcvtss2si,1,1,1,REG64,XMMREG_ER,,'); + FOpCodeList.Add('vcvttpd2dq,1,1,1,XMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vcvttpd2dq,1,1,1,XMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vcvttpd2dq,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vcvttpd2dq,1,1,1,XMMREG_MZ,2B64,,'); + FOpCodeList.Add('vcvttpd2dq,1,1,1,XMMREG_MZ,4B64,,'); + FOpCodeList.Add('vcvttpd2dq,1,1,1,XMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vcvttpd2dq,1,1,1,YMMREG_MZ,MEM512,,'); + FOpCodeList.Add('vcvttpd2dq,1,1,1,YMMREG_MZ,8B64,,'); + FOpCodeList.Add('vcvttpd2dq,1,1,1,YMMREG_MZ,ZMMREG_SAE,,'); + FOpCodeList.Add('vcvttps2dq,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vcvttps2dq,1,1,1,XMMREG_MZ,4B32,,'); + FOpCodeList.Add('vcvttps2dq,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vcvttps2dq,1,1,1,YMMREG_MZ,8B32,,'); + FOpCodeList.Add('vcvttps2dq,1,1,1,ZMMREG_MZ,MEM512,,'); + FOpCodeList.Add('vcvttps2dq,1,1,1,ZMMREG_MZ,16B32,,'); + FOpCodeList.Add('vcvttps2dq,1,1,1,ZMMREG_MZ,ZMMREG_SAE,,'); + FOpCodeList.Add('vcvttsd2si,1,1,1,REG32,MEM64,,'); + FOpCodeList.Add('vcvttsd2si,1,1,1,REG32,XMMREG_SAE,,'); + FOpCodeList.Add('vcvttsd2si,1,1,1,REG64,MEM64,,'); + FOpCodeList.Add('vcvttsd2si,1,1,1,REG64,XMMREG_SAE,,'); + FOpCodeList.Add('vcvttss2si,1,1,1,REG32,MEM32,,'); + FOpCodeList.Add('vcvttss2si,1,1,1,REG32,XMMREG_SAE,,'); + FOpCodeList.Add('vcvttss2si,1,1,1,REG64,MEM32,,'); + FOpCodeList.Add('vcvttss2si,1,1,1,REG64,XMMREG_SAE,,'); + FOpCodeList.Add('vdivpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vdivpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vdivpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vdivpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vdivpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vdivpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vdivpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,'); + FOpCodeList.Add('vdivps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vdivps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vdivps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vdivps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vdivps,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vdivps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vdivps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,'); + FOpCodeList.Add('vdivsd,1,1,1,XMMREG_MZ,XMMREG,MEM64,'); + FOpCodeList.Add('vdivsd,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vdivss,1,1,1,XMMREG_MZ,XMMREG,MEM32,'); + FOpCodeList.Add('vdivss,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vdppd,1,1,0,XMMREG,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vdpps,1,1,0,XMMREG,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vdpps,1,1,0,YMMREG,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vextractf128,1,1,0,XMMRM,YMMREG,IMM8,'); + FOpCodeList.Add('vextractps,1,1,1,MEM32,XMMREG,IMM8,'); + FOpCodeList.Add('vextractps,1,1,1,REG32,XMMREG,IMM8,'); + FOpCodeList.Add('vextractps,1,1,1,REG64,XMMREG,IMM8,'); + FOpCodeList.Add('vhaddpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vhaddpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vhaddps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vhaddps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vhsubpd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vhsubpd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vhsubps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vhsubps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vinsertf128,1,1,0,YMMREG,YMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vinsertps,1,1,1,XMMREG,XMMREG,MEM32,IMM8'); + FOpCodeList.Add('vinsertps,1,1,1,XMMREG,XMMREG,XMMREG,IMM8'); + FOpCodeList.Add('vlddqu,1,1,0,XMMREG,MEM128,,'); + FOpCodeList.Add('vlddqu,1,1,0,YMMREG,MEM256,,'); + FOpCodeList.Add('vldmxcsr,1,1,0,MEM32,,,'); + FOpCodeList.Add('vmaskmovdqu,1,1,0,XMMREG,XMMREG,,'); + FOpCodeList.Add('vmaskmovpd,1,1,0,MEM256,YMMREG,YMMREG,'); + FOpCodeList.Add('vmaskmovpd,1,1,0,MEM128,XMMREG,XMMREG,'); + FOpCodeList.Add('vmaskmovpd,1,1,0,YMMREG,YMMREG,MEM256,'); + FOpCodeList.Add('vmaskmovpd,1,1,0,XMMREG,XMMREG,MEM128,'); + FOpCodeList.Add('vmaskmovps,1,1,0,MEM256,YMMREG,YMMREG,'); + FOpCodeList.Add('vmaskmovps,1,1,0,MEM128,XMMREG,XMMREG,'); + FOpCodeList.Add('vmaskmovps,1,1,0,YMMREG,YMMREG,MEM256,'); + FOpCodeList.Add('vmaskmovps,1,1,0,XMMREG,XMMREG,MEM128,'); + FOpCodeList.Add('vmaxpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vmaxpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vmaxpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vmaxpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vmaxpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_SAE,'); + FOpCodeList.Add('vmaxpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vmaxpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vmaxps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vmaxps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vmaxps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vmaxps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vmaxps,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vmaxps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vmaxps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_SAE,'); + FOpCodeList.Add('vmaxsd,1,1,1,XMMREG_MZ,XMMREG,MEM64,'); + FOpCodeList.Add('vmaxsd,1,1,1,XMMREG_MZ,XMMREG,XMMREG_SAE,'); + FOpCodeList.Add('vmaxss,1,1,1,XMMREG_MZ,XMMREG,MEM32,'); + FOpCodeList.Add('vmaxss,1,1,1,XMMREG_MZ,XMMREG,XMMREG_SAE,'); + FOpCodeList.Add('vminpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vminpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vminpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vminpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vminpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vminpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vminpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_SAE,'); + FOpCodeList.Add('vminps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vminps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vminps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vminps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vminps,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vminps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vminps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_SAE,'); + FOpCodeList.Add('vminsd,1,1,1,XMMREG_MZ,XMMREG,MEM64,'); + FOpCodeList.Add('vminsd,1,1,1,XMMREG_MZ,XMMREG,XMMREG_SAE,'); + FOpCodeList.Add('vminss,1,1,1,XMMREG_MZ,XMMREG,MEM32,'); + FOpCodeList.Add('vminss,1,1,1,XMMREG_MZ,XMMREG,XMMREG_SAE,'); + FOpCodeList.Add('vmovapd,1,1,1,MEM128_M,XMMREG,,'); + FOpCodeList.Add('vmovapd,1,1,1,MEM256_M,YMMREG,,'); + FOpCodeList.Add('vmovapd,1,1,1,MEM512_M,ZMMREG,,'); + FOpCodeList.Add('vmovapd,1,1,1,XMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vmovapd,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vmovapd,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vmovapd,1,1,1,YMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vmovapd,1,1,1,YMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vmovapd,1,1,1,YMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vmovapd,1,1,1,ZMMREG_MZ,MEM512,,'); + FOpCodeList.Add('vmovapd,1,1,1,ZMMREG_MZ,ZMMREG,,'); + FOpCodeList.Add('vmovapd,1,1,1,ZMMREG_MZ,ZMMREG,,'); + FOpCodeList.Add('vmovaps,1,1,1,MEM128_M,XMMREG,,'); + FOpCodeList.Add('vmovaps,1,1,1,MEM256_M,YMMREG,,'); + FOpCodeList.Add('vmovaps,1,1,1,MEM512_M,ZMMREG,,'); + FOpCodeList.Add('vmovaps,1,1,1,XMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vmovaps,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vmovaps,1,1,1,YMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vmovaps,1,1,1,YMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vmovaps,1,1,1,ZMMREG_MZ,MEM512,,'); + FOpCodeList.Add('vmovaps,1,1,1,ZMMREG_MZ,ZMMREG,,'); + FOpCodeList.Add('vmovd,1,1,1,RM32,XMMREG,,'); + FOpCodeList.Add('vmovd,1,1,1,XMMREG,RM32,,'); + FOpCodeList.Add('vmovddup,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vmovddup,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vmovddup,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vmovddup,1,1,1,ZMMREG_MZ,ZMMRM,,'); + FOpCodeList.Add('vmovdqa,1,1,0,YMMRM,YMMREG,,'); + FOpCodeList.Add('vmovdqa,1,1,0,XMMREG,XMMRM,,'); + FOpCodeList.Add('vmovdqa,1,1,0,XMMRM,XMMREG,,'); + FOpCodeList.Add('vmovdqa,1,1,0,YMMREG,YMMRM,,'); + FOpCodeList.Add('vmovdqu,1,1,0,YMMREG,YMMRM,,'); + FOpCodeList.Add('vmovdqu,1,1,0,XMMREG,XMMRM,,'); + FOpCodeList.Add('vmovdqu,1,1,0,XMMRM,XMMREG,,'); + FOpCodeList.Add('vmovdqu,1,1,0,YMMRM,YMMREG,,'); + FOpCodeList.Add('vmovhlps,1,1,1,XMMREG,XMMREG,XMMREG,'); + FOpCodeList.Add('vmovhpd,1,1,1,MEM64,XMMREG,,'); + FOpCodeList.Add('vmovhpd,1,1,1,XMMREG,XMMREG,MEM64,'); + FOpCodeList.Add('vmovhps,1,1,1,MEM64,XMMREG,,'); + FOpCodeList.Add('vmovhps,1,1,1,XMMREG,XMMREG,MEM64,'); + FOpCodeList.Add('vmovlhps,1,1,1,XMMREG,XMMREG,XMMREG,'); + FOpCodeList.Add('vmovlpd,1,1,1,MEM64,XMMREG,,'); + FOpCodeList.Add('vmovlpd,1,1,1,XMMREG,XMMREG,MEM64,'); + FOpCodeList.Add('vmovlps,1,1,1,MEM64,XMMREG,,'); + FOpCodeList.Add('vmovlps,1,1,1,XMMREG,XMMREG,MEM64,'); + FOpCodeList.Add('vmovmskpd,1,1,0,REG32,YMMREG,,'); + FOpCodeList.Add('vmovmskpd,1,1,0,REG64,XMMREG,,'); + FOpCodeList.Add('vmovmskpd,1,1,0,REG32,XMMREG,,'); + FOpCodeList.Add('vmovmskpd,1,1,0,REG64,YMMREG,,'); + FOpCodeList.Add('vmovmskps,1,1,0,REG32,YMMREG,,'); + FOpCodeList.Add('vmovmskps,1,1,0,REG64,XMMREG,,'); + FOpCodeList.Add('vmovmskps,1,1,0,REG32,XMMREG,,'); + FOpCodeList.Add('vmovmskps,1,1,0,REG64,YMMREG,,'); + FOpCodeList.Add('vmovntdq,1,1,1,MEM128,XMMREG,,'); + FOpCodeList.Add('vmovntdq,1,1,1,MEM256,YMMREG,,'); + FOpCodeList.Add('vmovntdq,1,1,1,MEM512,ZMMREG,,'); + FOpCodeList.Add('vmovntdqa,1,1,1,XMMREG,MEM128,,'); + FOpCodeList.Add('vmovntdqa,1,1,1,YMMREG,MEM256,,'); + FOpCodeList.Add('vmovntdqa,1,1,1,ZMMREG,MEM512,,'); + FOpCodeList.Add('vmovntpd,1,1,1,MEM128,XMMREG,,'); + FOpCodeList.Add('vmovntpd,1,1,1,MEM256,YMMREG,,'); + FOpCodeList.Add('vmovntpd,1,1,1,MEM512,ZMMREG,,'); + FOpCodeList.Add('vmovntps,1,1,1,MEM128,XMMREG,,'); + FOpCodeList.Add('vmovntps,1,1,1,MEM256,YMMREG,,'); + FOpCodeList.Add('vmovntps,1,1,1,MEM512,ZMMREG,,'); + FOpCodeList.Add('vmovq,1,1,1,MEM64,XMMREG,,'); + FOpCodeList.Add('vmovq,0,1,1,RM64,XMMREG,,'); + FOpCodeList.Add('vmovq,1,1,1,XMMREG,MEM64,,'); + FOpCodeList.Add('vmovq,0,1,1,XMMREG,RM64,,'); + FOpCodeList.Add('vmovq,1,1,1,XMMREG,XMMREG,,'); + FOpCodeList.Add('vmovq,1,1,1,XMMREG,XMMREG,,'); + FOpCodeList.Add('vmovsd,1,1,1,MEM64_M,XMMREG,,'); + FOpCodeList.Add('vmovsd,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vmovsd,1,1,1,XMMREG_MZ,XMMREG,XMMREG,'); + FOpCodeList.Add('vmovsd,1,1,1,XMMREG_MZ,XMMREG,XMMREG,'); + FOpCodeList.Add('vmovshdup,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vmovshdup,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vmovshdup,1,1,1,ZMMREG_MZ,ZMMRM,,'); + FOpCodeList.Add('vmovsldup,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vmovsldup,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vmovsldup,1,1,1,ZMMREG_MZ,ZMMRM,,'); + FOpCodeList.Add('vmovss,1,1,1,MEM32_M,XMMREG,,'); + FOpCodeList.Add('vmovss,1,1,1,XMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vmovss,1,1,1,XMMREG_MZ,XMMREG,XMMREG,'); + FOpCodeList.Add('vmovss,1,1,1,XMMREG_MZ,XMMREG,XMMREG,'); + FOpCodeList.Add('vmovupd,1,1,1,MEM128_M,XMMREG,,'); + FOpCodeList.Add('vmovupd,1,1,1,MEM256_M,YMMREG,,'); + FOpCodeList.Add('vmovupd,1,1,1,MEM512_M,ZMMREG,,'); + FOpCodeList.Add('vmovupd,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vmovupd,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vmovupd,1,1,1,YMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vmovupd,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vmovupd,1,1,1,ZMMREG_MZ,ZMMREG,,'); + FOpCodeList.Add('vmovupd,1,1,1,ZMMREG_MZ,ZMMRM,,'); + FOpCodeList.Add('vmovups,1,1,1,MEM128_M,XMMREG,,'); + FOpCodeList.Add('vmovups,1,1,1,MEM256_M,YMMREG,,'); + FOpCodeList.Add('vmovups,1,1,1,MEM512_M,ZMMREG,,'); + FOpCodeList.Add('vmovups,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vmovups,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vmovups,1,1,1,YMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vmovups,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vmovups,1,1,1,ZMMREG_MZ,ZMMREG,,'); + FOpCodeList.Add('vmovups,1,1,1,ZMMREG_MZ,ZMMRM,,'); + FOpCodeList.Add('vmpsadbw,1,1,0,XMMREG,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vmpsadbw,1,1,0,YMMREG,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vmulpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vmulpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vmulpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vmulpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vmulpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vmulpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vmulpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,'); + FOpCodeList.Add('vmulps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vmulps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vmulps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vmulps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vmulps,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vmulps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vmulps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,'); + FOpCodeList.Add('vmulsd,1,1,1,XMMREG_MZ,XMMREG,MEM64,'); + FOpCodeList.Add('vmulsd,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vmulss,1,1,1,XMMREG_MZ,XMMREG,MEM32,'); + FOpCodeList.Add('vmulss,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vorpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vorpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vorpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vorpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vorpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vorpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vorps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vorps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vorps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vorps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vorps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vorps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpabsb,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vpabsb,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vpabsb,1,1,1,ZMMREG_MZ,ZMMRM,,'); + FOpCodeList.Add('vpabsd,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vpabsd,1,1,1,XMMREG_MZ,4B32,,'); + FOpCodeList.Add('vpabsd,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vpabsd,1,1,1,YMMREG_MZ,8B32,,'); + FOpCodeList.Add('vpabsd,1,1,1,ZMMREG_MZ,ZMMRM,,'); + FOpCodeList.Add('vpabsd,1,1,1,ZMMREG_MZ,16B32,,'); + FOpCodeList.Add('vpabsw,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vpabsw,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vpabsw,1,1,1,ZMMREG_MZ,ZMMRM,,'); + FOpCodeList.Add('vpackssdw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpackssdw,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpackssdw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpackssdw,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpackssdw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpackssdw,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpacksswb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpacksswb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpacksswb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpackusdw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpackusdw,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpackusdw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpackusdw,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpackusdw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpackusdw,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpackuswb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpackuswb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpackuswb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpaddb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpaddb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpaddb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpaddd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpaddd,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpaddd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpaddd,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpaddd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpaddd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpaddq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpaddq,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vpaddq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpaddq,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpaddq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpaddq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vpaddsb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpaddsb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpaddsb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpaddsw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpaddsw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpaddsw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpaddusb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpaddusb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpaddusb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpaddusw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpaddusw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpaddusw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpaddw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpaddw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpaddw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpalignr,1,1,1,XMMREG_MZ,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vpalignr,1,1,1,YMMREG_MZ,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vpalignr,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,IMM8'); + FOpCodeList.Add('vpand,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpand,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpandn,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpandn,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpavgb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpavgb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpavgb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpavgw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpavgw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpavgw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpblendvb,1,1,0,XMMREG,XMMREG,XMMRM,XMMREG'); + FOpCodeList.Add('vpblendvb,1,1,0,YMMREG,YMMREG,YMMRM,YMMREG'); + FOpCodeList.Add('vpblendw,1,1,0,XMMREG,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vpblendw,1,1,0,YMMREG,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vpclmulqdq,1,1,1,XMMREG,XMMREG,XMMRM,IMM8'); +// FOpCodeList.Add('vpclmulqdq,1,1,1,YMMREG,YMMREG,YMMRM,IMM8'); +// FOpCodeList.Add('vpclmulqdq,1,1,1,ZMMREG,ZMMREG,ZMMRM,IMM8'); + FOpCodeList.Add('vpcmpeqb,1,1,1,KREG_M,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpeqb,1,1,1,KREG_M,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpeqb,1,1,1,KREG_M,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpcmpeqb,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpeqb,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpeqd,1,1,1,KREG_M,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpeqd,1,1,1,KREG_M,XMMREG,4B32,'); + FOpCodeList.Add('vpcmpeqd,1,1,1,KREG_M,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpeqd,1,1,1,KREG_M,YMMREG,8B32,'); + FOpCodeList.Add('vpcmpeqd,1,1,1,KREG_M,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpcmpeqd,1,1,1,KREG_M,ZMMREG,16B32,'); + FOpCodeList.Add('vpcmpeqd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpeqd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,XMMREG,2B64,'); + FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,YMMREG,4B32,'); + FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpcmpeqq,1,1,1,KREG_M,ZMMREG,8B32,'); + FOpCodeList.Add('vpcmpeqq,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpeqq,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpeqw,1,1,1,KREG_M,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpeqw,1,1,1,KREG_M,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpeqw,1,1,1,KREG_M,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpcmpeqw,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpeqw,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpestri,1,1,0,XMMREG,XMMRM,IMM8,'); + FOpCodeList.Add('vpcmpestrm,1,1,0,XMMREG,XMMRM,IMM8,'); + FOpCodeList.Add('vpcmpgtb,1,1,1,KREG_M,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpgtb,1,1,1,KREG_M,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpgtb,1,1,1,KREG_M,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpcmpgtb,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpgtb,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpgtd,1,1,1,KREG_M,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpgtd,1,1,1,KREG_M,XMMREG,4B32,'); + FOpCodeList.Add('vpcmpgtd,1,1,1,KREG_M,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpgtd,1,1,1,KREG_M,YMMREG,8B32,'); + FOpCodeList.Add('vpcmpgtd,1,1,1,KREG_M,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpcmpgtd,1,1,1,KREG_M,ZMMREG,16B32,'); + FOpCodeList.Add('vpcmpgtd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpgtd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,XMMREG,2B64,'); + FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,YMMREG,4B32,'); + FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpcmpgtq,1,1,1,KREG_M,ZMMREG,8B32,'); + FOpCodeList.Add('vpcmpgtq,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpgtq,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpgtw,1,1,1,KREG_M,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpgtw,1,1,1,KREG_M,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpgtw,1,1,1,KREG_M,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpcmpgtw,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpcmpgtw,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpcmpistri,1,1,0,XMMREG,XMMRM,IMM8,'); + FOpCodeList.Add('vpcmpistrm,1,1,0,XMMREG,XMMRM,IMM8,'); + FOpCodeList.Add('vperm2f128,1,1,0,YMMREG,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vpermilpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpermilpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vpermilpd,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpermilpd,1,1,1,XMMREG_MZ,2B64,IMM8,'); + FOpCodeList.Add('vpermilpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpermilpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpermilpd,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpermilpd,1,1,1,YMMREG_MZ,4B32,IMM8,'); + FOpCodeList.Add('vpermilpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpermilpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vpermilpd,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpermilpd,1,1,1,ZMMREG_MZ,8B32,IMM8,'); + FOpCodeList.Add('vpermilps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpermilps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpermilps,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpermilps,1,1,1,XMMREG_MZ,4B32,IMM8,'); + FOpCodeList.Add('vpermilps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpermilps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpermilps,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpermilps,1,1,1,YMMREG_MZ,8B32,IMM8,'); + FOpCodeList.Add('vpermilps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpermilps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpermilps,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpermilps,1,1,1,ZMMREG_MZ,16B32,IMM8,'); + FOpCodeList.Add('vpextrb,1,1,1,MEM8,XMMREG,IMM8,'); + //FOpCodeList.Add('vpextrb,1,1,1,REG8,XMMREG,IMM8,'); + //FOpCodeList.Add('vpextrb,1,1,1,REG16,XMMREG,IMM8,'); + FOpCodeList.Add('vpextrb,1,1,1,REG32,XMMREG,IMM8,'); + FOpCodeList.Add('vpextrb,1,1,1,REG64,XMMREG,IMM8,'); + FOpCodeList.Add('vpextrd,1,1,1,RM32,XMMREG,IMM8,'); + FOpCodeList.Add('vpextrq,1,1,1,RM64,XMMREG,IMM8,'); + FOpCodeList.Add('vpextrw,1,1,1,MEM16,XMMREG,IMM8,'); + FOpCodeList.Add('vpextrw,1,1,1,REG16,XMMREG,IMM8,'); + FOpCodeList.Add('vpextrw,1,1,1,REG32,XMMREG,IMM8,'); + FOpCodeList.Add('vpextrw,1,1,1,REG64,XMMREG,IMM8,'); + FOpCodeList.Add('vphaddd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vphaddd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vphaddsw,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vphaddsw,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vphaddw,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vphaddw,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vphminposuw,1,1,0,XMMREG,XMMRM,,'); + FOpCodeList.Add('vphsubd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vphsubd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vphsubsw,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vphsubsw,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vphsubw,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vphsubw,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpinsrb,1,1,1,XMMREG,XMMREG,REG32,IMM8'); + FOpCodeList.Add('vpinsrb,1,1,1,XMMREG,XMMREG,MEM8,IMM8'); + FOpCodeList.Add('vpinsrd,1,1,1,XMMREG,XMMREG,RM32,IMM8'); + FOpCodeList.Add('vpinsrq,1,1,1,XMMREG,XMMREG,RM64,IMM8'); + FOpCodeList.Add('vpinsrw,1,1,1,XMMREG,XMMREG,MEM16,IMM8'); + FOpCodeList.Add('vpinsrw,1,1,1,XMMREG,XMMREG,REG32,IMM8'); + FOpCodeList.Add('vpmaddubsw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmaddubsw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmaddubsw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmaddwd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmaddwd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmaddwd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmaxsb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmaxsb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmaxsb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmaxsd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmaxsd,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpmaxsd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmaxsd,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpmaxsd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmaxsd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpmaxsw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmaxsw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmaxsw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmaxub,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmaxub,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmaxub,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmaxud,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmaxud,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpmaxud,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmaxud,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpmaxud,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmaxud,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpmaxuw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmaxuw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmaxuw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpminsb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpminsb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpminsb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpminsd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpminsd,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpminsd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpminsd,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpminsd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpminsd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpminsw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpminsw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpminsw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpminub,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpminub,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpminub,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpminud,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpminud,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpminud,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpminud,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpminud,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpminud,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpminuw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpminuw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpminuw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmovmskb,1,1,0,REG64,XMMREG,,'); + FOpCodeList.Add('vpmovmskb,1,1,0,REG32,XMMREG,,'); + FOpCodeList.Add('vpmovmskb,1,1,0,REG32,YMMREG,,'); + FOpCodeList.Add('vpmovmskb,1,1,0,REG64,YMMREG,,'); + FOpCodeList.Add('vpmovsxbd,1,1,1,XMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vpmovsxbd,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxbd,1,1,1,YMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovsxbd,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxbd,1,1,1,ZMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vpmovsxbd,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxbq,1,1,1,XMMREG_MZ,MEM16,,'); + FOpCodeList.Add('vpmovsxbq,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxbq,1,1,1,YMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vpmovsxbq,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxbq,1,1,1,ZMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovsxbq,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxbw,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovsxbw,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxbw,1,1,1,YMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vpmovsxbw,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxbw,1,1,1,ZMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vpmovsxbw,1,1,1,ZMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vpmovsxdq,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovsxdq,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxdq,1,1,1,YMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vpmovsxdq,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxdq,1,1,1,ZMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vpmovsxdq,1,1,1,ZMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vpmovsxwd,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovsxwd,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxwd,1,1,1,YMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vpmovsxwd,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxwd,1,1,1,ZMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vpmovsxwd,1,1,1,ZMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vpmovsxwq,1,1,1,XMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vpmovsxwq,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxwq,1,1,1,YMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovsxwq,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovsxwq,1,1,1,ZMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vpmovsxwq,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxbd,1,1,1,XMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vpmovzxbd,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxbd,1,1,1,YMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovzxbd,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxbd,1,1,1,ZMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vpmovzxbd,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxbq,1,1,1,XMMREG_MZ,MEM16,,'); + FOpCodeList.Add('vpmovzxbq,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxbq,1,1,1,YMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vpmovzxbq,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxbq,1,1,1,ZMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovzxbq,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxbw,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovzxbw,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxbw,1,1,1,YMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vpmovzxbw,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxbw,1,1,1,ZMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vpmovzxbw,1,1,1,ZMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vpmovzxdq,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovzxdq,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxdq,1,1,1,YMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vpmovzxdq,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxdq,1,1,1,ZMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vpmovzxdq,1,1,1,ZMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vpmovzxwd,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovzxwd,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxwd,1,1,1,YMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vpmovzxwd,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxwd,1,1,1,ZMMREG_MZ,MEM256,,'); + FOpCodeList.Add('vpmovzxwd,1,1,1,ZMMREG_MZ,YMMREG,,'); + FOpCodeList.Add('vpmovzxwq,1,1,1,XMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vpmovzxwq,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxwq,1,1,1,YMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpmovzxwq,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmovzxwq,1,1,1,ZMMREG_MZ,MEM128,,'); + FOpCodeList.Add('vpmovzxwq,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpmuldq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmuldq,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vpmuldq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmuldq,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpmuldq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmuldq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vpmulhrsw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmulhrsw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmulhrsw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmulhuw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmulhuw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmulhuw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmulhw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmulhw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmulhw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmulld,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmulld,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpmulld,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmulld,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpmulld,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmulld,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpmullw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmullw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmullw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmuludq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpmuludq,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vpmuludq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpmuludq,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpmuludq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpmuludq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vpor,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpor,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsadbw,1,1,1,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsadbw,1,1,1,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsadbw,1,1,1,ZMMREG,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpshufb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpshufb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpshufb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpshufd,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpshufd,1,1,1,XMMREG_MZ,4B32,IMM8,'); + FOpCodeList.Add('vpshufd,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpshufd,1,1,1,YMMREG_MZ,8B32,IMM8,'); + FOpCodeList.Add('vpshufd,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpshufd,1,1,1,ZMMREG_MZ,16B32,IMM8,'); + FOpCodeList.Add('vpshufhw,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpshufhw,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpshufhw,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpshuflw,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpshuflw,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpshuflw,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpsignb,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsignb,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsignd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsignd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsignw,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsignw,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vpslld,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpslld,1,1,1,XMMREG_MZ,4B32,IMM8,'); + FOpCodeList.Add('vpslld,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpslld,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpslld,1,1,1,YMMREG_MZ,8B32,IMM8,'); + FOpCodeList.Add('vpslld,1,1,1,YMMREG_MZ,YMMREG,XMMRM,'); + FOpCodeList.Add('vpslld,1,1,1,ZMMREG_MZ,ZMMREG,XMMRM,'); + FOpCodeList.Add('vpslld,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpslld,1,1,1,ZMMREG_MZ,16B32,IMM8,'); + FOpCodeList.Add('vpslldq,1,1,1,XMMREG,XMMRM,IMM8,'); + FOpCodeList.Add('vpslldq,1,1,1,YMMREG,YMMRM,IMM8,'); + FOpCodeList.Add('vpslldq,1,1,1,ZMMREG,ZMMRM,IMM8,'); + FOpCodeList.Add('vpsllq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsllq,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpsllq,1,1,1,XMMREG_MZ,2B64,IMM8,'); + FOpCodeList.Add('vpsllq,1,1,1,YMMREG_MZ,YMMREG,XMMRM,'); + FOpCodeList.Add('vpsllq,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpsllq,1,1,1,YMMREG_MZ,4B32,IMM8,'); + FOpCodeList.Add('vpsllq,1,1,1,ZMMREG_MZ,ZMMREG,XMMRM,'); + FOpCodeList.Add('vpsllq,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpsllq,1,1,1,ZMMREG_MZ,8B32,IMM8,'); + FOpCodeList.Add('vpsllw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsllw,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpsllw,1,1,1,YMMREG_MZ,YMMREG,XMMRM,'); + FOpCodeList.Add('vpsllw,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpsllw,1,1,1,ZMMREG_MZ,ZMMREG,XMMRM,'); + FOpCodeList.Add('vpsllw,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpsrad,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpsrad,1,1,1,XMMREG_MZ,4B32,IMM8,'); + FOpCodeList.Add('vpsrad,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsrad,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpsrad,1,1,1,YMMREG_MZ,8B32,IMM8,'); + FOpCodeList.Add('vpsrad,1,1,1,YMMREG_MZ,YMMREG,XMMRM,'); + FOpCodeList.Add('vpsrad,1,1,1,ZMMREG_MZ,ZMMREG,XMMRM,'); + FOpCodeList.Add('vpsrad,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpsrad,1,1,1,ZMMREG_MZ,16B32,IMM8,'); + FOpCodeList.Add('vpsraw,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpsraw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsraw,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpsraw,1,1,1,YMMREG_MZ,YMMREG,XMMRM,'); + FOpCodeList.Add('vpsraw,1,1,1,ZMMREG_MZ,ZMMREG,XMMRM,'); + FOpCodeList.Add('vpsraw,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpsrld,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpsrld,1,1,1,XMMREG_MZ,4B32,IMM8,'); + FOpCodeList.Add('vpsrld,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsrld,1,1,1,YMMREG_MZ,YMMREG,XMMRM,'); + FOpCodeList.Add('vpsrld,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpsrld,1,1,1,YMMREG_MZ,8B32,IMM8,'); + FOpCodeList.Add('vpsrld,1,1,1,ZMMREG_MZ,ZMMREG,XMMRM,'); + FOpCodeList.Add('vpsrld,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpsrld,1,1,1,ZMMREG_MZ,16B32,IMM8,'); + FOpCodeList.Add('vpsrldq,1,1,1,XMMREG,XMMRM,IMM8,'); + FOpCodeList.Add('vpsrldq,1,1,1,YMMREG,YMMRM,IMM8,'); + FOpCodeList.Add('vpsrldq,1,1,1,ZMMREG,ZMMRM,IMM8,'); + FOpCodeList.Add('vpsrlq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsrlq,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpsrlq,1,1,1,XMMREG_MZ,2B64,IMM8,'); + FOpCodeList.Add('vpsrlq,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpsrlq,1,1,1,YMMREG_MZ,4B32,IMM8,'); + FOpCodeList.Add('vpsrlq,1,1,1,YMMREG_MZ,YMMREG,XMMRM,'); + FOpCodeList.Add('vpsrlq,1,1,1,ZMMREG_MZ,ZMMREG,XMMRM,'); + FOpCodeList.Add('vpsrlq,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpsrlq,1,1,1,ZMMREG_MZ,8B32,IMM8,'); + FOpCodeList.Add('vpsrlw,1,1,1,XMMREG_MZ,XMMRM,IMM8,'); + FOpCodeList.Add('vpsrlw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsrlw,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpsrlw,1,1,1,YMMREG_MZ,YMMREG,XMMRM,'); + FOpCodeList.Add('vpsrlw,1,1,1,ZMMREG_MZ,ZMMREG,XMMRM,'); + FOpCodeList.Add('vpsrlw,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpsubb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsubb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsubb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsubd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsubd,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpsubd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsubd,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpsubd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsubd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpsubq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsubq,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vpsubq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsubq,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpsubq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsubq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vpsubsb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsubsb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsubsb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsubsw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsubsw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsubsw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsubusb,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsubusb,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsubusb,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsubusw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsubusw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsubusw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsubw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsubw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsubw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vptest,1,1,0,YMMREG,YMMRM,,'); + FOpCodeList.Add('vptest,1,1,0,XMMREG,XMMRM,,'); + FOpCodeList.Add('vpunpckhbw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpunpckhbw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpunpckhbw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpunpckhdq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpunpckhdq,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpunpckhdq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpunpckhdq,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpunpckhdq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpunpckhdq,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpunpckhqdq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpunpckhqdq,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vpunpckhqdq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpunpckhqdq,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpunpckhqdq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpunpckhqdq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vpunpckhwd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpunpckhwd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpunpckhwd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpunpcklbw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpunpcklbw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpunpcklbw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpunpckldq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpunpckldq,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpunpckldq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpunpckldq,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpunpckldq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpunpckldq,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpunpcklqdq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpunpcklqdq,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vpunpcklqdq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpunpcklqdq,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpunpcklqdq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpunpcklqdq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vpunpcklwd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpunpcklwd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpunpcklwd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpxor,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vpxor,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vrcpps,1,1,0,XMMREG,XMMRM,,'); + FOpCodeList.Add('vrcpps,1,1,0,YMMREG,YMMRM,,'); + FOpCodeList.Add('vrcpss,1,1,0,XMMREG,XMMREG,MEM32,'); + FOpCodeList.Add('vrcpss,1,1,0,XMMREG,XMMREG,XMMREG,'); + FOpCodeList.Add('vroundpd,1,1,0,YMMREG,YMMRM,IMM8,'); + FOpCodeList.Add('vroundpd,1,1,0,XMMREG,XMMRM,IMM8,'); + FOpCodeList.Add('vroundps,1,1,0,YMMREG,YMMRM,IMM8,'); + FOpCodeList.Add('vroundps,1,1,0,XMMREG,XMMRM,IMM8,'); + FOpCodeList.Add('vroundsd,1,1,0,XMMREG,XMMREG,MEM64,IMM8'); + FOpCodeList.Add('vroundsd,1,1,0,XMMREG,XMMREG,XMMREG,IMM8'); + FOpCodeList.Add('vroundss,1,1,0,XMMREG,XMMREG,MEM32,IMM8'); + FOpCodeList.Add('vroundss,1,1,0,XMMREG,XMMREG,XMMREG,IMM8'); + FOpCodeList.Add('vrsqrtps,1,1,0,YMMREG,YMMRM,,'); + FOpCodeList.Add('vrsqrtps,1,1,0,XMMREG,XMMRM,,'); + FOpCodeList.Add('vrsqrtss,1,1,0,XMMREG,XMMREG,MEM32,'); + FOpCodeList.Add('vrsqrtss,1,1,0,XMMREG,XMMREG,XMMREG,'); + FOpCodeList.Add('vshufpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vshufpd,1,1,1,XMMREG_MZ,XMMREG,2B64,IMM8'); + FOpCodeList.Add('vshufpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vshufpd,1,1,1,YMMREG_MZ,YMMREG,4B32,IMM8'); + FOpCodeList.Add('vshufpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,IMM8'); + FOpCodeList.Add('vshufpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,IMM8'); + FOpCodeList.Add('vshufps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vshufps,1,1,1,XMMREG_MZ,XMMREG,4B32,IMM8'); + FOpCodeList.Add('vshufps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vshufps,1,1,1,YMMREG_MZ,YMMREG,8B32,IMM8'); + FOpCodeList.Add('vshufps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,IMM8'); + FOpCodeList.Add('vshufps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,IMM8'); + FOpCodeList.Add('vsqrtpd,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vsqrtpd,1,1,1,XMMREG_MZ,2B64,,'); + FOpCodeList.Add('vsqrtpd,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vsqrtpd,1,1,1,YMMREG_MZ,4B32,,'); + FOpCodeList.Add('vsqrtpd,1,1,1,ZMMREG_MZ,MEM512,,'); + FOpCodeList.Add('vsqrtpd,1,1,1,ZMMREG_MZ,8B32,,'); + FOpCodeList.Add('vsqrtpd,1,1,1,ZMMREG_MZ,ZMMREG_ER,,'); + FOpCodeList.Add('vsqrtps,1,1,1,XMMREG_MZ,XMMRM,,'); + FOpCodeList.Add('vsqrtps,1,1,1,XMMREG_MZ,4B32,,'); + FOpCodeList.Add('vsqrtps,1,1,1,YMMREG_MZ,YMMRM,,'); + FOpCodeList.Add('vsqrtps,1,1,1,YMMREG_MZ,8B32,,'); + FOpCodeList.Add('vsqrtps,1,1,1,ZMMREG_MZ,MEM512,,'); + FOpCodeList.Add('vsqrtps,1,1,1,ZMMREG_MZ,16B32,,'); + FOpCodeList.Add('vsqrtps,1,1,1,ZMMREG_MZ,ZMMREG_ER,,'); + FOpCodeList.Add('vsqrtsd,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vsqrtsd,1,1,1,XMMREG_MZ,XMMREG,MEM64,'); + FOpCodeList.Add('vsqrtss,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vsqrtss,1,1,1,XMMREG_MZ,XMMREG,MEM32,'); + FOpCodeList.Add('vstmxcsr,1,1,0,MEM32,,,'); + FOpCodeList.Add('vsubpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vsubpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vsubpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vsubpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vsubpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vsubpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vsubpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,'); + FOpCodeList.Add('vsubps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vsubps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vsubps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vsubps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vsubps,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,'); + FOpCodeList.Add('vsubps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vsubps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,'); + FOpCodeList.Add('vsubsd,1,1,1,XMMREG_MZ,XMMREG,MEM64,'); + FOpCodeList.Add('vsubsd,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vsubss,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,'); + FOpCodeList.Add('vsubss,1,1,1,XMMREG_MZ,XMMREG,MEM32,'); + FOpCodeList.Add('vtestpd,1,1,0,XMMREG,XMMRM,,'); + FOpCodeList.Add('vtestpd,1,1,0,YMMREG,YMMRM,,'); + FOpCodeList.Add('vtestps,1,1,0,YMMREG,YMMRM,,'); + FOpCodeList.Add('vtestps,1,1,0,XMMREG,XMMRM,,'); + FOpCodeList.Add('vucomisd,1,1,1,XMMREG,MEM64,,'); + FOpCodeList.Add('vucomisd,1,1,1,XMMREG,XMMREG_SAE,,'); + FOpCodeList.Add('vucomiss,1,1,1,XMMREG,MEM32,,'); + FOpCodeList.Add('vucomiss,1,1,1,XMMREG,XMMREG_SAE,,'); + FOpCodeList.Add('vunpckhpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vunpckhpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vunpckhpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vunpckhpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vunpckhpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vunpckhpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vunpckhps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vunpckhps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vunpckhps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vunpckhps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vunpckhps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vunpckhps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vunpcklpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vunpcklpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vunpcklpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vunpcklpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vunpcklpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vunpcklpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vunpcklps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vunpcklps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vunpcklps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vunpcklps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vunpcklps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vunpcklps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vxorpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vxorpd,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vxorpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vxorpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vxorpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vxorpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vxorps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vxorps,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vxorps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vxorps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vxorps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vxorps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vzeroall,1,1,0,,,,'); + FOpCodeList.Add('vzeroupper,1,1,0,,,,'); + FOpCodeList.Add('andn,1,1,0,REG32,REG32,RM32,'); + FOpCodeList.Add('andn,0,1,0,REG64,REG64,RM64,'); + FOpCodeList.Add('bextr,1,1,0,REG32,RM32,REG32,'); + FOpCodeList.Add('bextr,0,1,0,REG64,RM64,REG64,'); + FOpCodeList.Add('rorx,1,1,0,REG32,RM32,IMM8,'); + FOpCodeList.Add('rorx,0,1,0,REG64,RM64,IMM8,'); + FOpCodeList.Add('sarx,1,1,0,REG32,RM32,REG32,'); + FOpCodeList.Add('sarx,0,1,0,REG64,RM64,REG64,'); + FOpCodeList.Add('shlx,1,1,0,REG32,RM32,REG32,'); + FOpCodeList.Add('shlx,0,1,0,REG64,RM64,REG64,'); + FOpCodeList.Add('shrx,1,1,0,REG32,RM32,REG32,'); + FOpCodeList.Add('shrx,0,1,0,REG64,RM64,REG64,'); + FOpCodeList.Add('vbroadcasti128,1,1,0,YMMREG,MEM128,,'); + FOpCodeList.Add('vextracti128,1,1,0,XMMRM,YMMREG,IMM8,'); + FOpCodeList.Add('vinserti128,1,1,0,YMMREG,YMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vpblendd,1,1,0,YMMREG,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vpblendd,1,1,0,XMMREG,XMMREG,XMMRM,IMM8'); + FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,MEM8,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,REG8,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,REG32,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,REG64,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,REG16,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,MEM8,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,REG8,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,REG32,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,REG64,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,REG16,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,MEM8,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,REG8,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,REG32,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,REG64,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,REG16,,'); + FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastd,1,1,1,XMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vpbroadcastd,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastd,1,1,1,XMMREG_MZ,REG32,,'); + FOpCodeList.Add('vpbroadcastd,1,1,1,YMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vpbroadcastd,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastd,1,1,1,YMMREG_MZ,REG32,,'); + FOpCodeList.Add('vpbroadcastd,1,1,1,ZMMREG_MZ,MEM32,,'); + FOpCodeList.Add('vpbroadcastd,1,1,1,ZMMREG_MZ,REG32,,'); + FOpCodeList.Add('vpbroadcastd,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastq,1,1,1,XMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpbroadcastq,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastq,1,1,1,XMMREG_MZ,REG64,,'); + FOpCodeList.Add('vpbroadcastq,1,1,1,YMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpbroadcastq,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastq,1,1,1,YMMREG_MZ,REG64,,'); + FOpCodeList.Add('vpbroadcastq,1,1,1,ZMMREG_MZ,MEM64,,'); + FOpCodeList.Add('vpbroadcastq,1,1,1,ZMMREG_MZ,REG64,,'); + FOpCodeList.Add('vpbroadcastq,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,XMMREG_MZ,MEM16,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,XMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,XMMREG_MZ,REG16,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,XMMREG_MZ,REG32,,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,XMMREG_MZ,REG64,,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,YMMREG_MZ,MEM16,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,YMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,YMMREG_MZ,REG16,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,YMMREG_MZ,REG32,,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,YMMREG_MZ,REG64,,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,ZMMREG_MZ,MEM16,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,ZMMREG_MZ,REG16,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,ZMMREG_MZ,REG32,,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,ZMMREG_MZ,REG64,,'); + FOpCodeList.Add('vpbroadcastw,1,1,1,ZMMREG_MZ,XMMREG,,'); + FOpCodeList.Add('vperm2i128,1,1,0,YMMREG,YMMREG,YMMRM,IMM8'); + FOpCodeList.Add('vpermd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpermd,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpermd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpermd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,MEM256,IMM8,'); + FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,YMMREG,IMM8,'); + FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,4B32,IMM8,'); + FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpermpd,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpermpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpermpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vpermpd,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpermpd,1,1,1,ZMMREG_MZ,8B32,IMM8,'); + FOpCodeList.Add('vpermps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpermps,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpermps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpermps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpermq,1,1,1,YMMREG_MZ,YMMRM,IMM8,'); + FOpCodeList.Add('vpermq,1,1,1,YMMREG_MZ,4B32,IMM8,'); + FOpCodeList.Add('vpermq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpermq,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpermq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpermq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vpermq,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,'); + FOpCodeList.Add('vpermq,1,1,1,ZMMREG_MZ,8B32,IMM8,'); + FOpCodeList.Add('vpmaskmovd,1,1,0,XMMREG,XMMREG,MEM128,'); + FOpCodeList.Add('vpmaskmovd,1,1,0,MEM128,XMMREG,XMMREG,'); + FOpCodeList.Add('vpmaskmovd,1,1,0,YMMREG,YMMREG,MEM256,'); + FOpCodeList.Add('vpmaskmovd,1,1,0,MEM256,YMMREG,YMMREG,'); + FOpCodeList.Add('vpmaskmovq,1,1,0,XMMREG,XMMREG,MEM128,'); + FOpCodeList.Add('vpmaskmovq,1,1,0,MEM128,XMMREG,XMMREG,'); + FOpCodeList.Add('vpmaskmovq,1,1,0,MEM256,YMMREG,YMMREG,'); + FOpCodeList.Add('vpmaskmovq,1,1,0,YMMREG,YMMREG,MEM256,'); + FOpCodeList.Add('vpsllvd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsllvd,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpsllvd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsllvd,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpsllvd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsllvd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpsllvq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsllvq,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vpsllvq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsllvq,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpsllvq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsllvq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + FOpCodeList.Add('vpsravd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsravd,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpsravd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsravd,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpsravd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsravd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpsrlvd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsrlvd,1,1,1,XMMREG_MZ,XMMREG,4B32,'); + FOpCodeList.Add('vpsrlvd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsrlvd,1,1,1,YMMREG_MZ,YMMREG,8B32,'); + FOpCodeList.Add('vpsrlvd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsrlvd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,'); + FOpCodeList.Add('vpsrlvq,1,1,1,XMMREG_MZ,XMMREG,XMMRM,'); + FOpCodeList.Add('vpsrlvq,1,1,1,XMMREG_MZ,XMMREG,2B64,'); + FOpCodeList.Add('vpsrlvq,1,1,1,YMMREG_MZ,YMMREG,YMMRM,'); + FOpCodeList.Add('vpsrlvq,1,1,1,YMMREG_MZ,YMMREG,4B32,'); + FOpCodeList.Add('vpsrlvq,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,'); + FOpCodeList.Add('vpsrlvq,1,1,1,ZMMREG_MZ,ZMMREG,8B32,'); + + FOpCodeList.Add('vgatherdpd,1,1,0,XMMREG,XMEM32,XMMREG,'); + FOpCodeList.Add('vgatherdpd,1,1,1,XMMREG_M,XMEM32,,'); + FOpCodeList.Add('vgatherdpd,1,1,0,YMMREG,XMEM32,YMMREG,'); + FOpCodeList.Add('vgatherdpd,1,1,1,YMMREG_M,XMEM32,,'); + FOpCodeList.Add('vgatherdpd,1,1,1,ZMMREG_M,YMEM32,,'); + + FOpCodeList.Add('vgatherdps,1,1,0,XMMREG,XMEM32,XMMREG,'); + FOpCodeList.Add('vgatherdps,1,1,1,XMMREG_M,XMEM32,,'); + FOpCodeList.Add('vgatherdps,1,1,0,YMMREG,YMEM32,YMMREG,'); + FOpCodeList.Add('vgatherdps,1,1,1,YMMREG_M,YMEM32,,'); + FOpCodeList.Add('vgatherdps,1,1,1,ZMMREG_M,ZMEM32,,'); + FOpCodeList.Add('vgatherqpd,1,1,0,XMMREG,XMEM64,XMMREG,'); + FOpCodeList.Add('vgatherqpd,1,1,1,XMMREG_M,XMEM64,,'); + FOpCodeList.Add('vgatherqpd,1,1,0,YMMREG,YMEM64,YMMREG,'); + FOpCodeList.Add('vgatherqpd,1,1,1,YMMREG_M,YMEM64,,'); + FOpCodeList.Add('vgatherqpd,1,1,1,ZMMREG_M,ZMEM32,,'); + FOpCodeList.Add('vgatherqps,1,1,0,XMMREG,XMEM32,XMMREG,'); + FOpCodeList.Add('vgatherqps,1,1,0,XMMREG,YMEM32,XMMREG,'); + FOpCodeList.Add('vgatherqps,1,1,1,XMMREG_M,XMEM32,,'); + FOpCodeList.Add('vgatherqps,1,1,1,XMMREG_M,YMEM32,,'); + FOpCodeList.Add('vgatherqps,1,1,1,YMMREG_M,ZMEM32,,'); + FOpCodeList.Add('vpgatherdd,1,1,0,XMMREG,XMEM32,XMMREG,'); + FOpCodeList.Add('vpgatherdd,1,1,1,XMMREG_M,XMEM32,,'); + FOpCodeList.Add('vpgatherdd,1,1,0,YMMREG,YMEM32,YMMREG,'); + FOpCodeList.Add('vpgatherdd,1,1,1,YMMREG_M,YMEM32,,'); + FOpCodeList.Add('vpgatherdd,1,1,1,ZMMREG_M,ZMEM32,,'); + FOpCodeList.Add('vpgatherdq,1,1,0,XMMREG,XMEM64,XMMREG,'); + FOpCodeList.Add('vpgatherdq,1,1,1,XMMREG_M,XMEM64,,'); + FOpCodeList.Add('vpgatherdq,1,1,0,YMMREG,XMEM64,YMMREG,'); + FOpCodeList.Add('vpgatherdq,1,1,1,YMMREG_M,XMEM64,,'); + FOpCodeList.Add('vpgatherdq,1,1,1,ZMMREG_M,YMEM64,,'); + FOpCodeList.Add('vpgatherqd,1,1,0,XMMREG,XMEM32,XMMREG,'); + FOpCodeList.Add('vpgatherqd,1,1,0,XMMREG,YMEM32,XMMREG,'); + FOpCodeList.Add('vpgatherqd,1,1,1,XMMREG_M,XMEM32,,'); + FOpCodeList.Add('vpgatherqd,1,1,1,XMMREG_M,YMEM32,,'); + FOpCodeList.Add('vpgatherqd,1,1,1,YMMREG_M,ZMEM32,,'); + FOpCodeList.Add('vpgatherqq,1,1,0,XMMREG,XMEM64,XMMREG,'); + FOpCodeList.Add('vpgatherqq,1,1,1,XMMREG_M,XMEM64,,'); + FOpCodeList.Add('vpgatherqq,1,1,0,YMMREG,YMEM64,YMMREG,'); + FOpCodeList.Add('vpgatherqq,1,1,1,YMMREG_M,YMEM64,,'); + FOpCodeList.Add('vpgatherqq,1,1,1,ZMMREG_M,ZMEM64,,'); + FOpCodeList.Add('vfmadd132pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd132pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmadd213pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd213pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmadd231pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd231pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmaddpd,1,1,0,XMMREG,XMMREG,XMMRM,XMMREG'); + FOpCodeList.Add('vfmaddpd,1,1,0,XMMREG,XMMREG,XMMREG,XMMRM'); + FOpCodeList.Add('vfmadd132ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd132ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmadd213ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd213ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmadd231ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd231ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmadd132sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd213sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd231sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd132ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd213ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmadd231ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmaddsub132pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmaddsub132pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmaddsub213pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmaddsub213pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmaddsub231pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmaddsub231pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmaddsub132ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmaddsub132ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmaddsub213ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmaddsub213ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmaddsub231ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmaddsub231ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsubadd132pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsubadd132pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsubadd213pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsubadd213pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsubadd231pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsubadd231pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsubadd132ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsubadd132ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsubadd213ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsubadd213ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsubadd231ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsubadd231ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsub132pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub132pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsub213pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub213pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsub231pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub231pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsub132ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub132ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsub213ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub213ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsub231ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub231ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfmsub132sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub213sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub231sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub132ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub213ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfmsub231ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd132pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd132pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmadd213pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd213pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmadd231pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd231pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmadd132ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd132ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmadd213ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd213ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmadd231ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd231ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmadd132sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd213sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd231sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd132ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd213ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmadd231ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub132pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub132pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmsub213pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub213pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmsub231pd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub231pd,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmsub132ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub132ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmsub213ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub213ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmsub231ps,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub231ps,1,1,0,YMMREG,YMMREG,YMMRM,'); + FOpCodeList.Add('vfnmsub132sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub213sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub231sd,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub132ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub213ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('vfnmsub231ss,1,1,0,XMMREG,XMMREG,XMMRM,'); + FOpCodeList.Add('kaddb,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kaddd,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kaddq,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kaddw,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kandb,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kandd,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kandnb,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kandnd,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kandnq,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kandnw,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kandq,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kandw,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kmovb,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('kmovb,1,1,0,KREG,REG32,,'); + FOpCodeList.Add('kmovb,1,1,0,REG32,KREG,,'); + FOpCodeList.Add('kmovd,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('kmovd,1,1,0,KREG,MEM32,,'); + FOpCodeList.Add('kmovd,1,1,0,KREG,REG32,,'); + FOpCodeList.Add('kmovd,1,1,0,MEM32,KREG,,'); + FOpCodeList.Add('kmovd,1,1,0,REG32,KREG,,'); + FOpCodeList.Add('kmovq,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('kmovq,1,1,0,KREG,MEM64,,'); + FOpCodeList.Add('kmovq,1,1,0,KREG,REG64,,'); + FOpCodeList.Add('kmovq,1,1,0,MEM64,KREG,,'); + FOpCodeList.Add('kmovq,1,1,0,REG64,KREG,,'); + FOpCodeList.Add('kmovw,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('kmovw,1,1,0,KREG,REG32,,'); + FOpCodeList.Add('kmovw,1,1,0,REG32,KREG,,'); + FOpCodeList.Add('knotb,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('knotd,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('knotq,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('knotw,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('korb,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kord,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('korq,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kortestb,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('kortestd,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('kortestq,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('kortestw,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('korw,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kshiftlb,1,1,0,KREG,KREG,IMM8,'); + FOpCodeList.Add('kshiftld,1,1,0,KREG,KREG,IMM8,'); + FOpCodeList.Add('kshiftlq,1,1,0,KREG,KREG,IMM8,'); + FOpCodeList.Add('kshiftlw,1,1,0,KREG,KREG,IMM8,'); + FOpCodeList.Add('kshiftrb,1,1,0,KREG,KREG,IMM8,'); + FOpCodeList.Add('kshiftrd,1,1,0,KREG,KREG,IMM8,'); + FOpCodeList.Add('kshiftrq,1,1,0,KREG,KREG,IMM8,'); + FOpCodeList.Add('kshiftrw,1,1,0,KREG,KREG,IMM8,'); + FOpCodeList.Add('ktestb,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('ktestd,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('ktestq,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('ktestw,1,1,0,KREG,KREG,,'); + FOpCodeList.Add('kunpckbw,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kunpckdq,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kunpckwd,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kxnorb,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kxnord,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kxnorq,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kxnorw,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kxorb,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kxord,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kxorq,1,1,0,KREG,KREG,KREG,'); + FOpCodeList.Add('kxorw,1,1,0,KREG,KREG,KREG,'); + +FOpCodeList.Add('valignd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('valignd,1,1,1,xmmreg_mz,xmmreg,4B32,imm8'); +FOpCodeList.Add('valignd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('valignd,1,1,1,ymmreg_mz,ymmreg,8B32,imm8'); +FOpCodeList.Add('valignd,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('valignd,1,1,1,zmmreg_mz,zmmreg,16B32,imm8'); +FOpCodeList.Add('valignq,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('valignq,1,1,1,xmmreg_mz,xmmreg,2B64,imm8'); +FOpCodeList.Add('valignq,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('valignq,1,1,1,ymmreg_mz,ymmreg,4B64,imm8'); +FOpCodeList.Add('valignq,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('valignq,1,1,1,zmmreg_mz,zmmreg,8B64,imm8'); +FOpCodeList.Add('vblendmpd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vblendmpd,1,1,1,xmmreg_mz,xmmreg,2B64,'); +FOpCodeList.Add('vblendmpd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vblendmpd,1,1,1,ymmreg_mz,ymmreg,4B64,'); +FOpCodeList.Add('vblendmpd,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vblendmpd,1,1,1,zmmreg_mz,zmmreg,8B64,'); +FOpCodeList.Add('vblendmps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vblendmps,1,1,1,xmmreg_mz,xmmreg,4B32,'); +FOpCodeList.Add('vblendmps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vblendmps,1,1,1,ymmreg_mz,ymmreg,8B32,'); +FOpCodeList.Add('vblendmps,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vblendmps,1,1,1,zmmreg_mz,zmmreg,16B32,'); +FOpCodeList.Add('vbroadcastf32x2,1,1,1,ymmreg_mz,mem64,,'); +FOpCodeList.Add('vbroadcastf32x2,1,1,1,ymmreg_mz,xmmreg,,'); +FOpCodeList.Add('vbroadcastf32x2,1,1,1,zmmreg_mz,mem64,,'); +FOpCodeList.Add('vbroadcastf32x2,1,1,1,zmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vbroadcastf32x4,1,1,1,ymmreg_mz,mem128,,'); +FOpCodeList.Add('vbroadcastf32x4,1,1,1,zmmreg_mz,mem128,,'); +FOpCodeList.Add('vbroadcastf32x8,1,1,1,zmmreg_mz,mem256,,'); +FOpCodeList.Add('vbroadcastf64x2,1,1,1,ymmreg_mz,mem128,,'); +FOpCodeList.Add('vbroadcastf64x2,1,1,1,zmmreg_mz,mem128,,'); +FOpCodeList.Add('vbroadcastf64x4,1,1,1,zmmreg_mz,mem256,,'); +FOpCodeList.Add('vbroadcasti32x2,1,1,1,xmmreg_mz,mem64,,'); +FOpCodeList.Add('vbroadcasti32x2,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vbroadcasti32x2,1,1,1,ymmreg_mz,mem64,,'); +FOpCodeList.Add('vbroadcasti32x2,1,1,1,ymmreg_mz,xmmreg,,'); +FOpCodeList.Add('vbroadcasti32x2,1,1,1,zmmreg_mz,mem64,,'); +FOpCodeList.Add('vbroadcasti32x2,1,1,1,zmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vbroadcasti32x4,1,1,1,ymmreg_mz,mem128,,'); +FOpCodeList.Add('vbroadcasti32x4,1,1,1,zmmreg_mz,mem128,,'); +FOpCodeList.Add('vbroadcasti32x8,1,1,1,zmmreg_mz,mem256,,'); +FOpCodeList.Add('vbroadcasti64x2,1,1,1,ymmreg_mz,mem128,,'); +FOpCodeList.Add('vbroadcasti64x2,1,1,1,zmmreg_mz,mem128,,'); +FOpCodeList.Add('vbroadcasti64x4,1,1,1,zmmreg_mz,mem256,,'); +FOpCodeList.Add('vcompresspd,1,1,1,mem128_m,xmmreg,,'); +FOpCodeList.Add('vcompresspd,1,1,1,mem256_m,ymmreg,,'); +FOpCodeList.Add('vcompresspd,1,1,1,mem512_m,zmmreg,,'); +FOpCodeList.Add('vcompressps,1,1,1,mem128_m,xmmreg,,'); +FOpCodeList.Add('vcompressps,1,1,1,mem256_m,ymmreg,,'); +FOpCodeList.Add('vcompressps,1,1,1,mem512_m,zmmreg,,'); +FOpCodeList.Add('vcompressps,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vcompressps,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vcompressps,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vcvtpd2qq,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvtpd2qq,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vcvtpd2qq,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vcvtpd2qq,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vcvtpd2qq,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vcvtpd2qq,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vcvtpd2qq,1,1,1,zmmreg_mz,zmmreg_er,,'); +FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,mem128,,'); +FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,mem256,,'); +FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,4b64,,'); +FOpCodeList.Add('vcvtpd2udq,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vcvtpd2udq,1,1,1,ymmreg_mz,mem512,,'); +FOpCodeList.Add('vcvtpd2udq,1,1,1,ymmreg_mz,8b64,,'); +FOpCodeList.Add('vcvtpd2udq,1,1,1,ymmreg_mz,zmmreg_er,,'); +FOpCodeList.Add('vcvtpd2uqq,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvtpd2uqq,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vcvtpd2uqq,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vcvtpd2uqq,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vcvtpd2uqq,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vcvtpd2uqq,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vcvtpd2uqq,1,1,1,zmmreg_mz,zmmreg_er,,'); +FOpCodeList.Add('vcvtps2qq,1,1,1,xmmreg_mz,mem64,,'); +FOpCodeList.Add('vcvtps2qq,1,1,1,xmmreg_mz,2b32,,'); +FOpCodeList.Add('vcvtps2qq,1,1,1,ymmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvtps2qq,1,1,1,ymmreg_mz,4b32,,'); +FOpCodeList.Add('vcvtps2qq,1,1,1,zmmreg_mz,mem256,,'); +FOpCodeList.Add('vcvtps2qq,1,1,1,zmmreg_mz,8b32,,'); +FOpCodeList.Add('vcvtps2qq,1,1,1,zmmreg_mz,ymmreg_er,,'); +FOpCodeList.Add('vcvtps2udq,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvtps2udq,1,1,1,xmmreg_mz,4b32,,'); +FOpCodeList.Add('vcvtps2udq,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vcvtps2udq,1,1,1,ymmreg_mz,8b32,,'); +FOpCodeList.Add('vcvtps2udq,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vcvtps2udq,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vcvtps2udq,1,1,1,zmmreg_mz,zmmreg_er,,'); +FOpCodeList.Add('vcvtps2uqq,1,1,1,xmmreg_mz,mem64,,'); +FOpCodeList.Add('vcvtps2uqq,1,1,1,xmmreg_mz,2b32,,'); +FOpCodeList.Add('vcvtps2uqq,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vcvtps2uqq,1,1,1,ymmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvtps2uqq,1,1,1,ymmreg_mz,4b32,,'); +FOpCodeList.Add('vcvtps2uqq,1,1,1,zmmreg_mz,mem256,,'); +FOpCodeList.Add('vcvtps2uqq,1,1,1,zmmreg_mz,8b32,,'); +FOpCodeList.Add('vcvtps2uqq,1,1,1,zmmreg_mz,ymmreg_er,,'); +FOpCodeList.Add('vcvtqq2pd,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvtqq2pd,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vcvtqq2pd,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vcvtqq2pd,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vcvtqq2pd,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vcvtqq2pd,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vcvtqq2pd,1,1,1,zmmreg_mz,zmmreg_er,,'); +FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,mem128,,'); +FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,mem256,,'); +FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,4b64,,'); +FOpCodeList.Add('vcvtqq2ps,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vcvtqq2ps,1,1,1,ymmreg_mz,mem512,,'); +FOpCodeList.Add('vcvtqq2ps,1,1,1,ymmreg_mz,8b64,,'); +FOpCodeList.Add('vcvtqq2ps,1,1,1,ymmreg_mz,zmmreg_er,,'); +FOpCodeList.Add('vcvtsd2usi,1,1,1,reg32,mem64,,'); +FOpCodeList.Add('vcvtsd2usi,1,1,1,reg32,xmmreg_er,,'); +FOpCodeList.Add('vcvtsd2usi,1,1,1,reg64,mem64,,'); +FOpCodeList.Add('vcvtsd2usi,1,1,1,reg64,xmmreg_er,,'); +FOpCodeList.Add('vcvtss2usi,1,1,1,reg32,mem32,,'); +FOpCodeList.Add('vcvtss2usi,1,1,1,reg32,xmmreg_er,,'); +FOpCodeList.Add('vcvtss2usi,1,1,1,reg64,mem32,,'); +FOpCodeList.Add('vcvtss2usi,1,1,1,reg64,xmmreg_er,,'); +FOpCodeList.Add('vcvttpd2qq,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvttpd2qq,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vcvttpd2qq,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vcvttpd2qq,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vcvttpd2qq,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vcvttpd2qq,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vcvttpd2qq,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,mem128,,'); +FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,mem256,,'); +FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,4b64,,'); +FOpCodeList.Add('vcvttpd2udq,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vcvttpd2udq,1,1,1,ymmreg_mz,mem512,,'); +FOpCodeList.Add('vcvttpd2udq,1,1,1,ymmreg_mz,8b64,,'); +FOpCodeList.Add('vcvttpd2udq,1,1,1,ymmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vcvttpd2uqq,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvttpd2uqq,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vcvttpd2uqq,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vcvttpd2uqq,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vcvttpd2uqq,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vcvttpd2uqq,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vcvttpd2uqq,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vcvttps2qq,1,1,1,xmmreg_mz,mem64,,'); +FOpCodeList.Add('vcvttps2qq,1,1,1,xmmreg_mz,2b32,,'); +FOpCodeList.Add('vcvttps2qq,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vcvttps2qq,1,1,1,ymmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvttps2qq,1,1,1,ymmreg_mz,4b32,,'); +FOpCodeList.Add('vcvttps2qq,1,1,1,zmmreg_mz,mem256,,'); +FOpCodeList.Add('vcvttps2qq,1,1,1,zmmreg_mz,8b32,,'); +FOpCodeList.Add('vcvttps2qq,1,1,1,zmmreg_mz,ymmreg_sae,,'); +FOpCodeList.Add('vcvttps2udq,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvttps2udq,1,1,1,xmmreg_mz,4b32,,'); +FOpCodeList.Add('vcvttps2udq,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vcvttps2udq,1,1,1,ymmreg_mz,8b32,,'); +FOpCodeList.Add('vcvttps2udq,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vcvttps2udq,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vcvttps2udq,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vcvttps2uqq,1,1,1,xmmreg_mz,mem64,,'); +FOpCodeList.Add('vcvttps2uqq,1,1,1,xmmreg_mz,2b32,,'); +FOpCodeList.Add('vcvttps2uqq,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vcvttps2uqq,1,1,1,ymmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvttps2uqq,1,1,1,ymmreg_mz,4b32,,'); +FOpCodeList.Add('vcvttps2uqq,1,1,1,zmmreg_mz,mem256,,'); +FOpCodeList.Add('vcvttps2uqq,1,1,1,zmmreg_mz,8b32,,'); +FOpCodeList.Add('vcvttps2uqq,1,1,1,zmmreg_mz,ymmreg_sae,,'); +FOpCodeList.Add('vcvttsd2usi,1,1,1,reg32,mem64,,'); +FOpCodeList.Add('vcvttsd2usi,1,1,1,reg32,xmmreg_sae,,'); +FOpCodeList.Add('vcvttsd2usi,1,1,1,reg64,mem64,,'); +FOpCodeList.Add('vcvttsd2usi,1,1,1,reg64,xmmreg_sae,,'); +FOpCodeList.Add('vcvttss2usi,1,1,1,reg32,mem32,,'); +FOpCodeList.Add('vcvttss2usi,1,1,1,reg32,xmmreg_sae,,'); +FOpCodeList.Add('vcvttss2usi,1,1,1,reg64,mem32,,'); +FOpCodeList.Add('vcvttss2usi,1,1,1,reg64,xmmreg_sae,,'); +FOpCodeList.Add('vcvtudq2pd,1,1,1,xmmreg_mz,mem64,,'); +FOpCodeList.Add('vcvtudq2pd,1,1,1,xmmreg_mz,2b32,,'); +FOpCodeList.Add('vcvtudq2pd,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vcvtudq2pd,1,1,1,ymmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvtudq2pd,1,1,1,ymmreg_mz,4b32,,'); +FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,mem256,,'); +FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,8b32,,'); +FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,ymmreg_er,,'); +FOpCodeList.Add('vcvtudq2ps,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvtudq2ps,1,1,1,xmmreg_mz,4b32,,'); +FOpCodeList.Add('vcvtudq2ps,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vcvtudq2ps,1,1,1,ymmreg_mz,8b32,,'); +FOpCodeList.Add('vcvtudq2ps,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vcvtudq2ps,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vcvtudq2ps,1,1,1,zmmreg_mz,zmmreg_er,,'); +FOpCodeList.Add('vcvtuqq2pd,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vcvtuqq2pd,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vcvtuqq2pd,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vcvtuqq2pd,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vcvtuqq2pd,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vcvtuqq2pd,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vcvtuqq2pd,1,1,1,zmmreg_mz,zmmreg_er,,'); +FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,mem128,,'); +FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,mem256,,'); +FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,4b64,,'); +FOpCodeList.Add('vcvtuqq2ps,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vcvtuqq2ps,1,1,1,ymmreg_mz,mem512,,'); +FOpCodeList.Add('vcvtuqq2ps,1,1,1,ymmreg_mz,8b64,,'); +FOpCodeList.Add('vcvtuqq2ps,1,1,1,ymmreg_mz,zmmreg_er,,'); +FOpCodeList.Add('vcvtusi2sd,1,1,1,xmmreg,xmmreg_er,rm32,'); +FOpCodeList.Add('vcvtusi2sd,1,1,1,xmmreg,xmmreg_er,rm64,'); +FOpCodeList.Add('vcvtusi2ss,1,1,1,xmmreg,xmmreg_er,rm32,'); +FOpCodeList.Add('vcvtusi2ss,1,1,1,xmmreg,xmmreg_er,rm64,'); +FOpCodeList.Add('vdbpsadbw,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vdbpsadbw,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vdbpsadbw,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vexp2pd,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vexp2pd,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vexp2pd,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vexp2ps,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vexp2ps,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vexp2ps,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vexpandpd,1,1,1,xmmreg_mz,mem128,,'); +FOpCodeList.Add('vexpandpd,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vexpandpd,1,1,1,ymmreg_mz,mem256,,'); +FOpCodeList.Add('vexpandpd,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vexpandpd,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vexpandpd,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vexpandps,1,1,1,xmmreg_mz,mem128,,'); +FOpCodeList.Add('vexpandps,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vexpandps,1,1,1,ymmreg_mz,mem256,,'); +FOpCodeList.Add('vexpandps,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vexpandps,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vexpandps,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vextractf32x4,1,1,1,mem128_m,ymmreg,imm8,'); +FOpCodeList.Add('vextractf32x4,1,1,1,mem128_m,zmmreg,imm8,'); +FOpCodeList.Add('vextractf32x4,1,1,1,xmmreg_mz,ymmreg,imm8,'); +FOpCodeList.Add('vextractf32x4,1,1,1,xmmreg_mz,zmmreg,imm8,'); +FOpCodeList.Add('vextractf32x8,1,1,1,mem256_m,zmmreg,imm8,'); +FOpCodeList.Add('vextractf32x8,1,1,1,ymmreg_mz,zmmreg,imm8,'); +FOpCodeList.Add('vextractf64x2,1,1,1,mem128_m,ymmreg,imm8,'); +FOpCodeList.Add('vextractf64x2,1,1,1,mem128_m,zmmreg,imm8,'); +FOpCodeList.Add('vextractf64x2,1,1,1,xmmreg_mz,ymmreg,imm8,'); +FOpCodeList.Add('vextractf64x2,1,1,1,xmmreg_mz,zmmreg,imm8,'); +FOpCodeList.Add('vextractf64x4,1,1,1,mem256_m,zmmreg,imm8,'); +FOpCodeList.Add('vextractf64x4,1,1,1,ymmreg_mz,zmmreg,imm8,'); +FOpCodeList.Add('vextracti32x4,1,1,1,mem128_m,ymmreg,imm8,'); +FOpCodeList.Add('vextracti32x4,1,1,1,mem128_m,zmmreg,imm8,'); +FOpCodeList.Add('vextracti32x4,1,1,1,xmmreg_mz,ymmreg,imm8,'); +FOpCodeList.Add('vextracti32x4,1,1,1,xmmreg_mz,zmmreg,imm8,'); +FOpCodeList.Add('vextracti32x8,1,1,1,mem256_m,zmmreg,imm8,'); +FOpCodeList.Add('vextracti32x8,1,1,1,ymmreg_mz,zmmreg,imm8,'); +FOpCodeList.Add('vextracti64x2,1,1,1,mem128_m,ymmreg,imm8,'); +FOpCodeList.Add('vextracti64x2,1,1,1,mem128_m,zmmreg,imm8,'); +FOpCodeList.Add('vextracti64x2,1,1,1,xmmreg_mz,ymmreg,imm8,'); +FOpCodeList.Add('vextracti64x2,1,1,1,xmmreg_mz,zmmreg,imm8,'); +FOpCodeList.Add('vextracti64x4,1,1,1,mem256_m,zmmreg,imm8,'); +FOpCodeList.Add('vextracti64x4,1,1,1,ymmreg_mz,zmmreg,imm8,'); +FOpCodeList.Add('vfixupimmpd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vfixupimmpd,1,1,1,xmmreg_mz,xmmreg,2b64,imm8'); +FOpCodeList.Add('vfixupimmpd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vfixupimmpd,1,1,1,ymmreg_mz,ymmreg,4b64,imm8'); +FOpCodeList.Add('vfixupimmpd,1,1,1,zmmreg_mz,zmmreg,mem512,imm8'); +FOpCodeList.Add('vfixupimmpd,1,1,1,zmmreg_mz,zmmreg,8b64,imm8'); +FOpCodeList.Add('vfixupimmpd,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8'); +FOpCodeList.Add('vfixupimmps,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vfixupimmps,1,1,1,xmmreg_mz,xmmreg,4b32,imm8'); +FOpCodeList.Add('vfixupimmps,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vfixupimmps,1,1,1,ymmreg_mz,ymmreg,8b32,imm8'); +FOpCodeList.Add('vfixupimmps,1,1,1,zmmreg_mz,zmmreg,mem512,imm8'); +FOpCodeList.Add('vfixupimmps,1,1,1,zmmreg_mz,zmmreg,16b32,imm8'); +FOpCodeList.Add('vfixupimmps,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8'); +FOpCodeList.Add('vfixupimmsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8'); +FOpCodeList.Add('vfixupimmsd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8'); +FOpCodeList.Add('vfixupimmss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8'); +FOpCodeList.Add('vfixupimmss,1,1,1,xmmreg_mz,xmmreg,mem32,imm8'); +FOpCodeList.Add('vfmadd132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmadd132pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmadd132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmadd132pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmadd132pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmadd132pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmadd132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmadd132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmadd132ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmadd132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmadd132ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmadd132ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmadd132ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmadd132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmadd132sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfmadd132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmadd132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmadd132ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfmadd213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmadd213pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmadd213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmadd213pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmadd213pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmadd213pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmadd213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmadd213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmadd213ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmadd213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmadd213ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmadd213ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmadd213ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmadd213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmadd213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmadd213sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfmadd213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmadd213ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfmadd231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmadd231pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmadd231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmadd231pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmadd231pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmadd231pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmadd231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmadd231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmadd231ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmadd231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmadd231ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmadd231ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmadd231ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmadd231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmadd231sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfmadd231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmadd231ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfmadd231ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmaddsub132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmaddsub132pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmaddsub132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmaddsub132pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmaddsub132pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmaddsub132pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmaddsub132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmaddsub132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmaddsub132ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmaddsub132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmaddsub132ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmaddsub132ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmaddsub132ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmaddsub132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmaddsub213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmaddsub213pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmaddsub213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmaddsub213pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmaddsub213pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmaddsub213pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmaddsub213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmaddsub213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmaddsub213ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmaddsub213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmaddsub213ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmaddsub213ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmaddsub213ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmaddsub213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmaddsub231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmaddsub231pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmaddsub231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmaddsub231pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmaddsub231pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmaddsub231pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmaddsub231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmaddsub231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmaddsub231ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmaddsub231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmaddsub231ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmaddsub231ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmaddsub231ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmaddsub231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsub132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsub132pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmsub132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsub132pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmsub132pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsub132pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmsub132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsub132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsub132ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmsub132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsub132ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmsub132ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsub132ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmsub132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsub132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmsub132sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfmsub132ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfmsub132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmsub213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsub213pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmsub213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsub213pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmsub213pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsub213pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmsub213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsub213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsub213ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmsub213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsub213ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmsub213ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsub213ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmsub213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsub213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmsub213sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfmsub213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmsub213ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfmsub231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsub231pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmsub231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsub231pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmsub231pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsub231pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmsub231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsub231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsub231ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmsub231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsub231ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmsub231ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsub231ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmsub231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsub231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmsub231sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfmsub231ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfmsub231ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfmsubadd132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsubadd132pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmsubadd132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsubadd132pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmsubadd132pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsubadd132pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmsubadd132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsubadd132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsubadd132ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmsubadd132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsubadd132ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmsubadd132ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsubadd132ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmsubadd132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsubadd213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsubadd213pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmsubadd213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsubadd213pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmsubadd213pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsubadd213pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmsubadd213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsubadd213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsubadd213ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmsubadd213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsubadd213ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmsubadd213ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsubadd213ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmsubadd213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsubadd231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsubadd231pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfmsubadd231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsubadd231pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfmsubadd231pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsubadd231pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfmsubadd231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfmsubadd231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfmsubadd231ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfmsubadd231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfmsubadd231ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfmsubadd231ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfmsubadd231ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfmsubadd231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmadd132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmadd132pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfnmadd132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmadd132pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfnmadd132pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmadd132pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfnmadd132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmadd132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmadd132ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfnmadd132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmadd132ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfnmadd132ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmadd132ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfnmadd132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmadd132sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfnmadd132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmadd132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmadd132ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfnmadd213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmadd213pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfnmadd213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmadd213pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfnmadd213pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmadd213pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfnmadd213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmadd213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmadd213ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfnmadd213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmadd213ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfnmadd213ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmadd213ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfnmadd213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmadd213sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfnmadd213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmadd213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmadd213ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfnmadd231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmadd231pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfnmadd231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmadd231pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfnmadd231pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmadd231pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfnmadd231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmadd231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmadd231ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfnmadd231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmadd231ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfnmadd231ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmadd231ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfnmadd231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmadd231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmadd231ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfnmsub132pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmsub132pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfnmsub132pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmsub132pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfnmsub132pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmsub132pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfnmsub132pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmsub132ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmsub132ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfnmsub132ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmsub132ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfnmsub132ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmsub132ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfnmsub132ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmsub132sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmsub132sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfnmsub132ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmsub132ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfnmsub213pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmsub213pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfnmsub213pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmsub213pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfnmsub213pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmsub213pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfnmsub213pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmsub213ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmsub213ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfnmsub213ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmsub213ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfnmsub213ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmsub213ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfnmsub213ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmsub213sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfnmsub213sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmsub213ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfnmsub213ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmsub231pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmsub231pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vfnmsub231pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmsub231pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vfnmsub231pd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmsub231pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vfnmsub231pd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmsub231ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vfnmsub231ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vfnmsub231ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vfnmsub231ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vfnmsub231ps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vfnmsub231ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vfnmsub231ps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vfnmsub231sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmsub231sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vfnmsub231ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vfnmsub231ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,xmmrm,imm8,'); +FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,2b64,imm8,'); +FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,ymmrm,imm8,'); +FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,4b64,imm8,'); +FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,zmmrm,imm8,'); +FOpCodeList.Add('vfpclasspd,1,1,1,kreg_m,8b64,imm8,'); +FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,xmmrm,imm8,'); +FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,4b32,imm8,'); +FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,ymmrm,imm8,'); +FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,8b32,imm8,'); +FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,zmmrm,imm8,'); +FOpCodeList.Add('vfpclassps,1,1,1,kreg_m,16b32,imm8,'); +FOpCodeList.Add('vgetexppd,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vgetexppd,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vgetexppd,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vgetexppd,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vgetexppd,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vgetexppd,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vgetexppd,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vgetexpps,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vgetexpps,1,1,1,xmmreg_mz,4b32,,'); +FOpCodeList.Add('vgetexpps,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vgetexpps,1,1,1,ymmreg_mz,8b32,,'); +FOpCodeList.Add('vgetexpps,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vgetexpps,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vgetexpps,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vgetexpsd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vgetexpsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,'); +FOpCodeList.Add('vgetexpss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,'); +FOpCodeList.Add('vgetexpss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vgetmantpd,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vgetmantpd,1,1,1,xmmreg_mz,2b64,imm8,'); +FOpCodeList.Add('vgetmantpd,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vgetmantpd,1,1,1,ymmreg_mz,4b64,imm8,'); +FOpCodeList.Add('vgetmantpd,1,1,1,zmmreg_mz,mem512,imm8,'); +FOpCodeList.Add('vgetmantpd,1,1,1,zmmreg_mz,8b64,imm8,'); +FOpCodeList.Add('vgetmantpd,1,1,1,zmmreg_mz,zmmreg_sae,imm8,'); +FOpCodeList.Add('vgetmantps,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vgetmantps,1,1,1,xmmreg_mz,4b32,imm8,'); +FOpCodeList.Add('vgetmantps,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vgetmantps,1,1,1,ymmreg_mz,8b32,imm8,'); +FOpCodeList.Add('vgetmantps,1,1,1,zmmreg_mz,mem512,imm8,'); +FOpCodeList.Add('vgetmantps,1,1,1,zmmreg_mz,16b32,imm8,'); +FOpCodeList.Add('vgetmantps,1,1,1,zmmreg_mz,zmmreg_sae,imm8,'); +FOpCodeList.Add('vgetmantsd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8'); +FOpCodeList.Add('vgetmantsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8'); +FOpCodeList.Add('vgetmantss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8'); +FOpCodeList.Add('vgetmantss,1,1,1,xmmreg_mz,xmmreg,mem32,imm8'); +FOpCodeList.Add('vinsertf32x4,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8'); +FOpCodeList.Add('vinsertf32x4,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8'); +FOpCodeList.Add('vinsertf32x8,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8'); +FOpCodeList.Add('vinsertf64x2,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8'); +FOpCodeList.Add('vinsertf64x2,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8'); +FOpCodeList.Add('vinsertf64x4,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8'); +FOpCodeList.Add('vinserti32x4,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8'); +FOpCodeList.Add('vinserti32x4,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8'); +FOpCodeList.Add('vinserti32x8,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8'); +FOpCodeList.Add('vinserti64x2,1,1,1,ymmreg_mz,ymmreg,xmmrm,imm8'); +FOpCodeList.Add('vinserti64x2,1,1,1,zmmreg_mz,zmmreg,xmmrm,imm8'); +FOpCodeList.Add('vinserti64x4,1,1,1,zmmreg_mz,zmmreg,ymmrm,imm8'); +FOpCodeList.Add('vmovdqa32,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vmovdqa32,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqa32,1,1,1,mem128_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqa32,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vmovdqa32,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqa32,1,1,1,mem256_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqa32,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vmovdqa32,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqa32,1,1,1,mem512_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqa64,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vmovdqa64,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqa64,1,1,1,mem128_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqa64,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vmovdqa64,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqa64,1,1,1,mem256_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqa64,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vmovdqa64,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqa64,1,1,1,mem512_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqu16,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vmovdqu16,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqu16,1,1,1,mem128_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqu16,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vmovdqu16,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqu16,1,1,1,mem256_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqu16,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vmovdqu16,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqu16,1,1,1,mem512_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqu32,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vmovdqu32,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqu32,1,1,1,mem128_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqu32,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vmovdqu32,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqu32,1,1,1,mem256_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqu32,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vmovdqu32,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqu32,1,1,1,mem512_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqu64,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vmovdqu64,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqu64,1,1,1,mem128_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqu64,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vmovdqu64,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqu64,1,1,1,mem256_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqu64,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vmovdqu64,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqu64,1,1,1,mem512_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqu8,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vmovdqu8,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqu8,1,1,1,mem128_mz,xmmreg,,'); +FOpCodeList.Add('vmovdqu8,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vmovdqu8,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqu8,1,1,1,mem256_mz,ymmreg,,'); +FOpCodeList.Add('vmovdqu8,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vmovdqu8,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vmovdqu8,1,1,1,mem512_mz,zmmreg,,'); +FOpCodeList.Add('vpabsq,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vpabsq,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vpabsq,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vpabsq,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vpabsq,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vpabsq,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vpandd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpandd,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vpandd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpandd,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vpandd,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpandd,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vpandnd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpandnd,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vpandnd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpandnd,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vpandnd,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpandnd,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vpandnq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpandnq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpandnq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpandnq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpandnq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpandnq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpandq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpandq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpandq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpandq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpandq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpandq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpblendmb,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpblendmb,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpblendmb,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpblendmd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpblendmd,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vpblendmd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpblendmd,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vpblendmd,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpblendmd,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vpblendmq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpblendmq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpblendmq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpblendmq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpblendmq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpblendmq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpblendmw,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpblendmw,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpblendmw,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,mem8,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg16,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg32,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg64,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg8,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,mem8,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg16,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg32,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg64,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg8,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,mem8,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg16,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg32,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg64,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg8,,'); +FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,mem32,,'); +FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,reg32,,'); +FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastd,1,1,1,ymmreg_mz,mem32,,'); +FOpCodeList.Add('vpbroadcastd,1,1,1,ymmreg_mz,reg32,,'); +FOpCodeList.Add('vpbroadcastd,1,1,1,ymmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastd,1,1,1,zmmreg_mz,mem32,,'); +FOpCodeList.Add('vpbroadcastd,1,1,1,zmmreg_mz,reg32,,'); +FOpCodeList.Add('vpbroadcastd,1,1,1,zmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastmb2q xmmreg,kreg,1,1,1,void,,,'); +FOpCodeList.Add('vpbroadcastmb2q ymmreg,kreg,1,1,1,void,,,'); +FOpCodeList.Add('vpbroadcastmb2q zmmreg,kreg,1,1,1,void,,,'); +FOpCodeList.Add('vpbroadcastmw2d xmmreg,kreg,1,1,1,void,,,'); +FOpCodeList.Add('vpbroadcastmw2d ymmreg,kreg,1,1,1,void,,,'); +FOpCodeList.Add('vpbroadcastmw2d zmmreg,kreg,1,1,1,void,,,'); +FOpCodeList.Add('vpbroadcastq,1,1,1,xmmreg_mz,mem64,,'); +FOpCodeList.Add('vpbroadcastq,1,1,1,xmmreg_mz,reg64,,'); +FOpCodeList.Add('vpbroadcastq,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastq,1,1,1,ymmreg_mz,mem64,,'); +FOpCodeList.Add('vpbroadcastq,1,1,1,ymmreg_mz,reg64,,'); +FOpCodeList.Add('vpbroadcastq,1,1,1,ymmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,mem64,,'); +FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,reg64,,'); +FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,mem16,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg16,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg32,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg64,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,mem16,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg16,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg32,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg64,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,mem16,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg16,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg32,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg64,,'); +FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,xmmreg,4b32,imm8'); +FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,ymmreg,8b32,imm8'); +FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vpcmpd,1,1,1,kreg_m,zmmreg,16b32,imm8'); +FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,xmmreg,2b64,imm8'); +FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,ymmreg,4b64,imm8'); +FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vpcmpq,1,1,1,kreg_m,zmmreg,8b64,imm8'); +FOpCodeList.Add('vpcmpub,1,1,1,kreg_m,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vpcmpub,1,1,1,kreg_m,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vpcmpub,1,1,1,kreg_m,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,xmmreg,4b32,imm8'); +FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,ymmreg,8b32,imm8'); +FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vpcmpud,1,1,1,kreg_m,zmmreg,16b32,imm8'); +FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,xmmreg,2b64,imm8'); +FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,ymmreg,4b64,imm8'); +FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vpcmpuq,1,1,1,kreg_m,zmmreg,8b64,imm8'); +FOpCodeList.Add('vpcmpuw,1,1,1,kreg_m,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vpcmpuw,1,1,1,kreg_m,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vpcmpuw,1,1,1,kreg_m,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vpcmpw,1,1,1,kreg_m,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vpcmpw,1,1,1,kreg_m,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vpcmpw,1,1,1,kreg_m,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vpcompressd,1,1,1,mem128_m,xmmreg,,'); +FOpCodeList.Add('vpcompressd,1,1,1,mem256_m,ymmreg,,'); +FOpCodeList.Add('vpcompressd,1,1,1,mem512_m,zmmreg,,'); +FOpCodeList.Add('vpcompressd,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpcompressd,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpcompressd,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpcompressq,1,1,1,mem128_m,xmmreg,,'); +FOpCodeList.Add('vpcompressq,1,1,1,mem256_m,ymmreg,,'); +FOpCodeList.Add('vpcompressq,1,1,1,mem512_m,zmmreg,,'); +FOpCodeList.Add('vpcompressq,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpcompressq,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpcompressq,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpconflictd,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vpconflictd,1,1,1,xmmreg_mz,4b32,,'); +FOpCodeList.Add('vpconflictd,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vpconflictd,1,1,1,ymmreg_mz,8b32,,'); +FOpCodeList.Add('vpconflictd,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vpconflictd,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vpconflictq,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vpconflictq,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vpconflictq,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vpconflictq,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vpconflictq,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vpconflictq,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vpermb,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermb,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermb,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermi2b,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermi2b,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermi2b,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermi2d,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermi2d,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vpermi2d,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermi2d,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vpermi2d,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermi2d,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vpermi2pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermi2pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpermi2pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermi2pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpermi2pd,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermi2pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpermi2ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermi2ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vpermi2ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermi2ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vpermi2ps,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermi2ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vpermi2q,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermi2q,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpermi2q,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermi2q,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpermi2q,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermi2q,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpermi2w,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermi2w,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermi2w,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermt2b,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermt2b,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermt2b,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermt2d,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermt2d,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vpermt2d,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermt2d,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vpermt2d,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermt2d,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vpermt2pd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermt2pd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpermt2pd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermt2pd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpermt2pd,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermt2pd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpermt2ps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermt2ps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vpermt2ps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermt2ps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vpermt2ps,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermt2ps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vpermt2q,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermt2q,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpermt2q,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermt2q,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpermt2q,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermt2q,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpermt2w,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermt2w,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermt2w,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpermw,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpermw,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpermw,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpexpandd,1,1,1,xmmreg_mz,mem128,,'); +FOpCodeList.Add('vpexpandd,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpexpandd,1,1,1,ymmreg_mz,mem256,,'); +FOpCodeList.Add('vpexpandd,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpexpandd,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vpexpandd,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpexpandq,1,1,1,xmmreg_mz,mem128,,'); +FOpCodeList.Add('vpexpandq,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpexpandq,1,1,1,ymmreg_mz,mem256,,'); +FOpCodeList.Add('vpexpandq,1,1,1,ymmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpexpandq,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vpexpandq,1,1,1,zmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vplzcntd,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vplzcntd,1,1,1,xmmreg_mz,4b32,,'); +FOpCodeList.Add('vplzcntd,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vplzcntd,1,1,1,ymmreg_mz,8b32,,'); +FOpCodeList.Add('vplzcntd,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vplzcntd,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vplzcntq,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vplzcntq,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vplzcntq,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vplzcntq,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vplzcntq,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vplzcntq,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vpmadd52huq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpmadd52huq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpmadd52huq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpmadd52huq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpmadd52huq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpmadd52huq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpmadd52luq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpmadd52luq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpmadd52luq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpmadd52luq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpmadd52luq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpmadd52luq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpmaxsq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpmaxsq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpmaxsq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpmaxsq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpmaxsq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpmaxsq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpmaxuq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpmaxuq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpmaxuq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpmaxuq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpmaxuq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpmaxuq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpminsq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpminsq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpminsq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpminsq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpminsq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpminsq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpminuq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpminuq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpminuq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpminuq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpminuq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpminuq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpmovb2m,1,1,1,kreg,xmmreg,,'); +FOpCodeList.Add('vpmovb2m,1,1,1,kreg,ymmreg,,'); +FOpCodeList.Add('vpmovb2m,1,1,1,kreg,zmmreg,,'); +FOpCodeList.Add('vpmovd2m,1,1,1,kreg,xmmreg,,'); +FOpCodeList.Add('vpmovd2m,1,1,1,kreg,ymmreg,,'); +FOpCodeList.Add('vpmovd2m,1,1,1,kreg,zmmreg,,'); +FOpCodeList.Add('vpmovdb,1,1,1,mem128_m,zmmreg,,'); +FOpCodeList.Add('vpmovdb,1,1,1,mem32_m,xmmreg,,'); +FOpCodeList.Add('vpmovdb,1,1,1,mem64_m,ymmreg,,'); +FOpCodeList.Add('vpmovdb,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovdb,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovdb,1,1,1,xmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovdw,1,1,1,mem128_m,ymmreg,,'); +FOpCodeList.Add('vpmovdw,1,1,1,mem256_m,zmmreg,,'); +FOpCodeList.Add('vpmovdw,1,1,1,mem64_m,xmmreg,,'); +FOpCodeList.Add('vpmovdw,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovdw,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovdw,1,1,1,ymmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovm2b,1,1,1,xmmreg,kreg,,'); +FOpCodeList.Add('vpmovm2b,1,1,1,ymmreg,kreg,,'); +FOpCodeList.Add('vpmovm2b,1,1,1,zmmreg,kreg,,'); +FOpCodeList.Add('vpmovm2d,1,1,1,xmmreg,kreg,,'); +FOpCodeList.Add('vpmovm2d,1,1,1,ymmreg,kreg,,'); +FOpCodeList.Add('vpmovm2d,1,1,1,zmmreg,kreg,,'); +FOpCodeList.Add('vpmovm2q,1,1,1,xmmreg,kreg,,'); +FOpCodeList.Add('vpmovm2q,1,1,1,ymmreg,kreg,,'); +FOpCodeList.Add('vpmovm2q,1,1,1,zmmreg,kreg,,'); +FOpCodeList.Add('vpmovm2w,1,1,1,xmmreg,kreg,,'); +FOpCodeList.Add('vpmovm2w,1,1,1,ymmreg,kreg,,'); +FOpCodeList.Add('vpmovm2w,1,1,1,zmmreg,kreg,,'); +FOpCodeList.Add('vpmovq2m,1,1,1,kreg,xmmreg,,'); +FOpCodeList.Add('vpmovq2m,1,1,1,kreg,ymmreg,,'); +FOpCodeList.Add('vpmovq2m,1,1,1,kreg,zmmreg,,'); +FOpCodeList.Add('vpmovqb,1,1,1,mem16_m,xmmreg,,'); +FOpCodeList.Add('vpmovqb,1,1,1,mem32_m,ymmreg,,'); +FOpCodeList.Add('vpmovqb,1,1,1,mem64_m,zmmreg,,'); +FOpCodeList.Add('vpmovqb,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovqb,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovqb,1,1,1,xmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovqd,1,1,1,mem128_m,ymmreg,,'); +FOpCodeList.Add('vpmovqd,1,1,1,mem256_m,zmmreg,,'); +FOpCodeList.Add('vpmovqd,1,1,1,mem64_m,xmmreg,,'); +FOpCodeList.Add('vpmovqd,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovqd,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovqd,1,1,1,ymmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovqw,1,1,1,mem128_m,zmmreg,,'); +FOpCodeList.Add('vpmovqw,1,1,1,mem32_m,xmmreg,,'); +FOpCodeList.Add('vpmovqw,1,1,1,mem64_m,ymmreg,,'); +FOpCodeList.Add('vpmovqw,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovqw,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovqw,1,1,1,xmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovsdb,1,1,1,mem128_m,zmmreg,,'); +FOpCodeList.Add('vpmovsdb,1,1,1,mem32_m,xmmreg,,'); +FOpCodeList.Add('vpmovsdb,1,1,1,mem64_m,ymmreg,,'); +FOpCodeList.Add('vpmovsdb,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovsdb,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovsdb,1,1,1,xmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovsdw,1,1,1,mem128_m,ymmreg,,'); +FOpCodeList.Add('vpmovsdw,1,1,1,mem256_m,zmmreg,,'); +FOpCodeList.Add('vpmovsdw,1,1,1,mem64_m,xmmreg,,'); +FOpCodeList.Add('vpmovsdw,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovsdw,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovsdw,1,1,1,ymmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovsqb,1,1,1,mem16_m,xmmreg,,'); +FOpCodeList.Add('vpmovsqb,1,1,1,mem32_m,ymmreg,,'); +FOpCodeList.Add('vpmovsqb,1,1,1,mem64_m,zmmreg,,'); +FOpCodeList.Add('vpmovsqb,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovsqb,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovsqb,1,1,1,xmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovsqd,1,1,1,mem128_m,ymmreg,,'); +FOpCodeList.Add('vpmovsqd,1,1,1,mem256_m,zmmreg,,'); +FOpCodeList.Add('vpmovsqd,1,1,1,mem64_m,xmmreg,,'); +FOpCodeList.Add('vpmovsqd,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovsqd,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovsqd,1,1,1,ymmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovsqw,1,1,1,mem128_m,zmmreg,,'); +FOpCodeList.Add('vpmovsqw,1,1,1,mem32_m,xmmreg,,'); +FOpCodeList.Add('vpmovsqw,1,1,1,mem64_m,ymmreg,,'); +FOpCodeList.Add('vpmovsqw,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovsqw,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovsqw,1,1,1,xmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovswb,1,1,1,mem128_m,ymmreg,,'); +FOpCodeList.Add('vpmovswb,1,1,1,mem256_m,zmmreg,,'); +FOpCodeList.Add('vpmovswb,1,1,1,mem64_m,xmmreg,,'); +FOpCodeList.Add('vpmovswb,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovswb,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovswb,1,1,1,ymmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovusdb,1,1,1,mem128_m,zmmreg,,'); +FOpCodeList.Add('vpmovusdb,1,1,1,mem32_m,xmmreg,,'); +FOpCodeList.Add('vpmovusdb,1,1,1,mem64_m,ymmreg,,'); +FOpCodeList.Add('vpmovusdb,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovusdb,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovusdb,1,1,1,xmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovusdw,1,1,1,mem128_m,ymmreg,,'); +FOpCodeList.Add('vpmovusdw,1,1,1,mem256_m,zmmreg,,'); +FOpCodeList.Add('vpmovusdw,1,1,1,mem64_m,xmmreg,,'); +FOpCodeList.Add('vpmovusdw,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovusdw,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovusdw,1,1,1,ymmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovusqb,1,1,1,mem16_m,xmmreg,,'); +FOpCodeList.Add('vpmovusqb,1,1,1,mem32_m,ymmreg,,'); +FOpCodeList.Add('vpmovusqb,1,1,1,mem64_m,zmmreg,,'); +FOpCodeList.Add('vpmovusqb,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovusqb,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovusqb,1,1,1,xmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovusqd,1,1,1,mem128_m,ymmreg,,'); +FOpCodeList.Add('vpmovusqd,1,1,1,mem256_m,zmmreg,,'); +FOpCodeList.Add('vpmovusqd,1,1,1,mem64_m,xmmreg,,'); +FOpCodeList.Add('vpmovusqd,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovusqd,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovusqd,1,1,1,ymmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovusqw,1,1,1,mem128_m,zmmreg,,'); +FOpCodeList.Add('vpmovusqw,1,1,1,mem32_m,xmmreg,,'); +FOpCodeList.Add('vpmovusqw,1,1,1,mem64_m,ymmreg,,'); +FOpCodeList.Add('vpmovusqw,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovusqw,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovusqw,1,1,1,xmmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovuswb,1,1,1,mem128_m,ymmreg,,'); +FOpCodeList.Add('vpmovuswb,1,1,1,mem256_m,zmmreg,,'); +FOpCodeList.Add('vpmovuswb,1,1,1,mem64_m,xmmreg,,'); +FOpCodeList.Add('vpmovuswb,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovuswb,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovuswb,1,1,1,ymmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmovw2m,1,1,1,kreg,xmmreg,,'); +FOpCodeList.Add('vpmovw2m,1,1,1,kreg,ymmreg,,'); +FOpCodeList.Add('vpmovw2m,1,1,1,kreg,zmmreg,,'); +FOpCodeList.Add('vpmovwb,1,1,1,mem128_m,ymmreg,,'); +FOpCodeList.Add('vpmovwb,1,1,1,mem256_m,zmmreg,,'); +FOpCodeList.Add('vpmovwb,1,1,1,mem64_m,xmmreg,,'); +FOpCodeList.Add('vpmovwb,1,1,1,xmmreg_mz,xmmreg,,'); +FOpCodeList.Add('vpmovwb,1,1,1,xmmreg_mz,ymmreg,,'); +FOpCodeList.Add('vpmovwb,1,1,1,ymmreg_mz,zmmreg,,'); +FOpCodeList.Add('vpmullq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpmullq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpmullq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpmullq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpmullq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpmullq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpmultishiftqb,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpmultishiftqb,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpmultishiftqb,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpmultishiftqb,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpmultishiftqb,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpmultishiftqb,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpord,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpord,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vpord,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpord,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vpord,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpord,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vporq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vporq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vporq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vporq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vporq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vporq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vprold,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vprold,1,1,1,xmmreg_mz,4b32,imm8,'); +FOpCodeList.Add('vprold,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vprold,1,1,1,ymmreg_mz,8b32,imm8,'); +FOpCodeList.Add('vprold,1,1,1,zmmreg_mz,zmmrm,imm8,'); +FOpCodeList.Add('vprold,1,1,1,zmmreg_mz,16b32,imm8,'); +FOpCodeList.Add('vprolq,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vprolq,1,1,1,xmmreg_mz,2b64,imm8,'); +FOpCodeList.Add('vprolq,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vprolq,1,1,1,ymmreg_mz,4b64,imm8,'); +FOpCodeList.Add('vprolq,1,1,1,zmmreg_mz,zmmrm,imm8,'); +FOpCodeList.Add('vprolq,1,1,1,zmmreg_mz,8b64,imm8,'); +FOpCodeList.Add('vprolvd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vprolvd,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vprolvd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vprolvd,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vprolvd,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vprolvd,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vprolvq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vprolvq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vprolvq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vprolvq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vprolvq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vprolvq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vprord,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vprord,1,1,1,xmmreg_mz,4b32,imm8,'); +FOpCodeList.Add('vprord,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vprord,1,1,1,ymmreg_mz,8b32,imm8,'); +FOpCodeList.Add('vprord,1,1,1,zmmreg_mz,zmmrm,imm8,'); +FOpCodeList.Add('vprord,1,1,1,zmmreg_mz,16b32,imm8,'); +FOpCodeList.Add('vprorq,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vprorq,1,1,1,xmmreg_mz,2b64,imm8,'); +FOpCodeList.Add('vprorq,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vprorq,1,1,1,ymmreg_mz,4b64,imm8,'); +FOpCodeList.Add('vprorq,1,1,1,zmmreg_mz,zmmrm,imm8,'); +FOpCodeList.Add('vprorq,1,1,1,zmmreg_mz,8b64,imm8,'); +FOpCodeList.Add('vprorvd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vprorvd,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vprorvd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vprorvd,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vprorvd,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vprorvd,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vprorvq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vprorvq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vprorvq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vprorvq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vprorvq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vprorvq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpscatterdd,1,1,1,xmem32_m,xmmreg,,'); +FOpCodeList.Add('vpscatterdd,1,1,1,ymem32_m,ymmreg,,'); +FOpCodeList.Add('vpscatterdd,1,1,1,zmem32_m,zmmreg,,'); +FOpCodeList.Add('vpscatterdq,1,1,1,xmem64_m,xmmreg,,'); +FOpCodeList.Add('vpscatterdq,1,1,1,xmem64_m,ymmreg,,'); +FOpCodeList.Add('vpscatterdq,1,1,1,ymem64_m,zmmreg,,'); +FOpCodeList.Add('vpscatterqd,1,1,1,xmem32_m,xmmreg,,'); +FOpCodeList.Add('vpscatterqd,1,1,1,ymem32_m,xmmreg,,'); +FOpCodeList.Add('vpscatterqd,1,1,1,zmem32_m,ymmreg,,'); +FOpCodeList.Add('vpscatterqq,1,1,1,xmem64_m,xmmreg,,'); +FOpCodeList.Add('vpscatterqq,1,1,1,ymem64_m,ymmreg,,'); +FOpCodeList.Add('vpscatterqq,1,1,1,zmem64_m,zmmreg,,'); +FOpCodeList.Add('vpsllvw,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpsllvw,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpsllvw,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpsraq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpsraq,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vpsraq,1,1,1,xmmreg_mz,2b64,imm8,'); +FOpCodeList.Add('vpsraq,1,1,1,ymmreg_mz,ymmreg,xmmrm,'); +FOpCodeList.Add('vpsraq,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vpsraq,1,1,1,ymmreg_mz,4b64,imm8,'); +FOpCodeList.Add('vpsraq,1,1,1,zmmreg_mz,zmmreg,xmmrm,'); +FOpCodeList.Add('vpsraq,1,1,1,zmmreg_mz,zmmrm,imm8,'); +FOpCodeList.Add('vpsraq,1,1,1,zmmreg_mz,8b64,imm8,'); +FOpCodeList.Add('vpsravq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpsravq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpsravq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpsravq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpsravq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpsravq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vpsravw,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpsravw,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpsravw,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpsrlvw,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpsrlvw,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpsrlvw,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpternlogd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vpternlogd,1,1,1,xmmreg_mz,xmmreg,4b32,imm8'); +FOpCodeList.Add('vpternlogd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vpternlogd,1,1,1,ymmreg_mz,ymmreg,8b32,imm8'); +FOpCodeList.Add('vpternlogd,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vpternlogd,1,1,1,zmmreg_mz,zmmreg,16b32,imm8'); +FOpCodeList.Add('vpternlogq,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vpternlogq,1,1,1,xmmreg_mz,xmmreg,2b64,imm8'); +FOpCodeList.Add('vpternlogq,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vpternlogq,1,1,1,ymmreg_mz,ymmreg,4b64,imm8'); +FOpCodeList.Add('vpternlogq,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vpternlogq,1,1,1,zmmreg_mz,zmmreg,8b64,imm8'); +FOpCodeList.Add('vptestmb,1,1,1,kreg_m,xmmreg,xmmrm,'); +FOpCodeList.Add('vptestmb,1,1,1,kreg_m,ymmreg,ymmrm,'); +FOpCodeList.Add('vptestmb,1,1,1,kreg_m,zmmreg,zmmrm,'); +FOpCodeList.Add('vptestmd,1,1,1,kreg_m,xmmreg,xmmrm,'); +FOpCodeList.Add('vptestmd,1,1,1,kreg_m,xmmreg,4b32,'); +FOpCodeList.Add('vptestmd,1,1,1,kreg_m,ymmreg,ymmrm,'); +FOpCodeList.Add('vptestmd,1,1,1,kreg_m,ymmreg,8b32,'); +FOpCodeList.Add('vptestmd,1,1,1,kreg_m,zmmreg,zmmrm,'); +FOpCodeList.Add('vptestmd,1,1,1,kreg_m,zmmreg,16b32,'); +FOpCodeList.Add('vptestmq,1,1,1,kreg_m,xmmreg,xmmrm,'); +FOpCodeList.Add('vptestmq,1,1,1,kreg_m,xmmreg,2b64,'); +FOpCodeList.Add('vptestmq,1,1,1,kreg_m,ymmreg,ymmrm,'); +FOpCodeList.Add('vptestmq,1,1,1,kreg_m,ymmreg,4b64,'); +FOpCodeList.Add('vptestmq,1,1,1,kreg_m,zmmreg,zmmrm,'); +FOpCodeList.Add('vptestmq,1,1,1,kreg_m,zmmreg,8b64,'); +FOpCodeList.Add('vptestmw,1,1,1,kreg_m,xmmreg,xmmrm,'); +FOpCodeList.Add('vptestmw,1,1,1,kreg_m,ymmreg,ymmrm,'); +FOpCodeList.Add('vptestmw,1,1,1,kreg_m,zmmreg,zmmrm,'); +FOpCodeList.Add('vptestnmb,1,1,1,kreg_m,xmmreg,xmmrm,'); +FOpCodeList.Add('vptestnmb,1,1,1,kreg_m,ymmreg,ymmrm,'); +FOpCodeList.Add('vptestnmb,1,1,1,kreg_m,zmmreg,zmmrm,'); +FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,xmmreg,xmmrm,'); +FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,xmmreg,4b32,'); +FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,ymmreg,ymmrm,'); +FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,ymmreg,8b32,'); +FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,zmmreg,zmmrm,'); +FOpCodeList.Add('vptestnmd,1,1,1,kreg_m,zmmreg,16b32,'); +FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,xmmreg,xmmrm,'); +FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,xmmreg,2b64,'); +FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,ymmreg,ymmrm,'); +FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,ymmreg,4b64,'); +FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,zmmreg,zmmrm,'); +FOpCodeList.Add('vptestnmq,1,1,1,kreg_m,zmmreg,8b64,'); +FOpCodeList.Add('vptestnmw,1,1,1,kreg_m,xmmreg,xmmrm,'); +FOpCodeList.Add('vptestnmw,1,1,1,kreg_m,ymmreg,ymmrm,'); +FOpCodeList.Add('vptestnmw,1,1,1,kreg_m,zmmreg,zmmrm,'); +FOpCodeList.Add('vpxord,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpxord,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vpxord,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpxord,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vpxord,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpxord,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vpxorq,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vpxorq,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vpxorq,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vpxorq,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vpxorq,1,1,1,zmmreg_mz,zmmreg,zmmrm,'); +FOpCodeList.Add('vpxorq,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vrangepd,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vrangepd,1,1,1,xmmreg_mz,xmmreg,2b64,imm8'); +FOpCodeList.Add('vrangepd,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vrangepd,1,1,1,ymmreg_mz,ymmreg,4b64,imm8'); +FOpCodeList.Add('vrangepd,1,1,1,zmmreg_mz,zmmreg,mem512,imm8'); +FOpCodeList.Add('vrangepd,1,1,1,zmmreg_mz,zmmreg,8b64,imm8'); +FOpCodeList.Add('vrangepd,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8'); +FOpCodeList.Add('vrangeps,1,1,1,xmmreg_mz,xmmreg,xmmrm,imm8'); +FOpCodeList.Add('vrangeps,1,1,1,xmmreg_mz,xmmreg,4b32,imm8'); +FOpCodeList.Add('vrangeps,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vrangeps,1,1,1,ymmreg_mz,ymmreg,8b32,imm8'); +FOpCodeList.Add('vrangeps,1,1,1,zmmreg_mz,zmmreg,mem512,imm8'); +FOpCodeList.Add('vrangeps,1,1,1,zmmreg_mz,zmmreg,16b32,imm8'); +FOpCodeList.Add('vrangeps,1,1,1,zmmreg_mz,zmmreg,zmmreg_sae,imm8'); +FOpCodeList.Add('vrangesd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8'); +FOpCodeList.Add('vrangesd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8'); +FOpCodeList.Add('vrangess,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8'); +FOpCodeList.Add('vrangess,1,1,1,xmmreg_mz,xmmreg,mem32,imm8'); +FOpCodeList.Add('vrcp14pd,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vrcp14pd,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vrcp14pd,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vrcp14pd,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vrcp14pd,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vrcp14pd,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vrcp14ps,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vrcp14ps,1,1,1,xmmreg_mz,4b32,,'); +FOpCodeList.Add('vrcp14ps,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vrcp14ps,1,1,1,ymmreg_mz,8b32,,'); +FOpCodeList.Add('vrcp14ps,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vrcp14ps,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vrcp14sd,1,1,1,xmmreg_mz,xmmreg,xmmreg,'); +FOpCodeList.Add('vrcp14sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vrcp14ss,1,1,1,xmmreg_mz,xmmreg,xmmreg,'); +FOpCodeList.Add('vrcp14ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vrcp28pd,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vrcp28pd,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vrcp28pd,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vrcp28ps,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vrcp28ps,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vrcp28ps,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vrcp28sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,'); +FOpCodeList.Add('vrcp28sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vrcp28ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,'); +FOpCodeList.Add('vrcp28ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vreducepd,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vreducepd,1,1,1,xmmreg_mz,2b64,imm8,'); +FOpCodeList.Add('vreducepd,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vreducepd,1,1,1,ymmreg_mz,4b64,imm8,'); +FOpCodeList.Add('vreducepd,1,1,1,zmmreg_mz,mem512,imm8,'); +FOpCodeList.Add('vreducepd,1,1,1,zmmreg_mz,8b64,imm8,'); +FOpCodeList.Add('vreducepd,1,1,1,zmmreg_mz,zmmreg_sae,imm8,'); +FOpCodeList.Add('vreduceps,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vreduceps,1,1,1,xmmreg_mz,4b32,imm8,'); +FOpCodeList.Add('vreduceps,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vreduceps,1,1,1,ymmreg_mz,8b32,imm8,'); +FOpCodeList.Add('vreduceps,1,1,1,zmmreg_mz,mem512,imm8,'); +FOpCodeList.Add('vreduceps,1,1,1,zmmreg_mz,16b32,imm8,'); +FOpCodeList.Add('vreduceps,1,1,1,zmmreg_mz,zmmreg_sae,imm8,'); +FOpCodeList.Add('vreducesd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8'); +FOpCodeList.Add('vreducesd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8'); +FOpCodeList.Add('vreducess,1,1,1,xmmreg_mz,xmmreg,mem32,imm8'); +FOpCodeList.Add('vreducess,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8'); +FOpCodeList.Add('vrndscalepd,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vrndscalepd,1,1,1,xmmreg_mz,2b64,imm8,'); +FOpCodeList.Add('vrndscalepd,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vrndscalepd,1,1,1,ymmreg_mz,4b64,imm8,'); +FOpCodeList.Add('vrndscalepd,1,1,1,zmmreg_mz,mem512,imm8,'); +FOpCodeList.Add('vrndscalepd,1,1,1,zmmreg_mz,8b64,imm8,'); +FOpCodeList.Add('vrndscalepd,1,1,1,zmmreg_mz,zmmreg_sae,imm8,'); +FOpCodeList.Add('vrndscaleps,1,1,1,xmmreg_mz,xmmrm,imm8,'); +FOpCodeList.Add('vrndscaleps,1,1,1,xmmreg_mz,4b32,imm8,'); +FOpCodeList.Add('vrndscaleps,1,1,1,ymmreg_mz,ymmrm,imm8,'); +FOpCodeList.Add('vrndscaleps,1,1,1,ymmreg_mz,8b32,imm8,'); +FOpCodeList.Add('vrndscaleps,1,1,1,zmmreg_mz,mem512,imm8,'); +FOpCodeList.Add('vrndscaleps,1,1,1,zmmreg_mz,16b32,imm8,'); +FOpCodeList.Add('vrndscaleps,1,1,1,zmmreg_mz,zmmreg_sae,imm8,'); +FOpCodeList.Add('vrndscalesd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8'); +FOpCodeList.Add('vrndscalesd,1,1,1,xmmreg_mz,xmmreg,mem64,imm8'); +FOpCodeList.Add('vrndscaless,1,1,1,xmmreg_mz,xmmreg,mem32,imm8'); +FOpCodeList.Add('vrndscaless,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,imm8'); +FOpCodeList.Add('vrsqrt14pd,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vrsqrt14pd,1,1,1,xmmreg_mz,2b64,,'); +FOpCodeList.Add('vrsqrt14pd,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vrsqrt14pd,1,1,1,ymmreg_mz,4b64,,'); +FOpCodeList.Add('vrsqrt14pd,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vrsqrt14pd,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vrsqrt14ps,1,1,1,xmmreg_mz,xmmrm,,'); +FOpCodeList.Add('vrsqrt14ps,1,1,1,xmmreg_mz,4b32,,'); +FOpCodeList.Add('vrsqrt14ps,1,1,1,ymmreg_mz,ymmrm,,'); +FOpCodeList.Add('vrsqrt14ps,1,1,1,ymmreg_mz,8b32,,'); +FOpCodeList.Add('vrsqrt14ps,1,1,1,zmmreg_mz,zmmrm,,'); +FOpCodeList.Add('vrsqrt14ps,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vrsqrt14sd,1,1,1,xmmreg_mz,xmmreg,xmmreg,'); +FOpCodeList.Add('vrsqrt14sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vrsqrt14ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vrsqrt14ss,1,1,1,xmmreg_mz,xmmreg,xmmreg,'); +FOpCodeList.Add('vrsqrt28pd,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vrsqrt28pd,1,1,1,zmmreg_mz,8b64,,'); +FOpCodeList.Add('vrsqrt28pd,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vrsqrt28ps,1,1,1,zmmreg_mz,mem512,,'); +FOpCodeList.Add('vrsqrt28ps,1,1,1,zmmreg_mz,16b32,,'); +FOpCodeList.Add('vrsqrt28ps,1,1,1,zmmreg_mz,zmmreg_sae,,'); +FOpCodeList.Add('vrsqrt28sd,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,'); +FOpCodeList.Add('vrsqrt28sd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vrsqrt28ss,1,1,1,xmmreg_mz,xmmreg,xmmreg_sae,'); +FOpCodeList.Add('vrsqrt28ss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vscalefpd,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vscalefpd,1,1,1,xmmreg_mz,xmmreg,2b64,'); +FOpCodeList.Add('vscalefpd,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vscalefpd,1,1,1,ymmreg_mz,ymmreg,4b64,'); +FOpCodeList.Add('vscalefpd,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vscalefpd,1,1,1,zmmreg_mz,zmmreg,8b64,'); +FOpCodeList.Add('vscalefpd,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vscalefps,1,1,1,xmmreg_mz,xmmreg,xmmrm,'); +FOpCodeList.Add('vscalefps,1,1,1,xmmreg_mz,xmmreg,4b32,'); +FOpCodeList.Add('vscalefps,1,1,1,ymmreg_mz,ymmreg,ymmrm,'); +FOpCodeList.Add('vscalefps,1,1,1,ymmreg_mz,ymmreg,8b32,'); +FOpCodeList.Add('vscalefps,1,1,1,zmmreg_mz,zmmreg,mem512,'); +FOpCodeList.Add('vscalefps,1,1,1,zmmreg_mz,zmmreg,16b32,'); +FOpCodeList.Add('vscalefps,1,1,1,zmmreg_mz,zmmreg,zmmreg_er,'); +FOpCodeList.Add('vscalefsd,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vscalefsd,1,1,1,xmmreg_mz,xmmreg,mem64,'); +FOpCodeList.Add('vscalefss,1,1,1,xmmreg_mz,xmmreg,xmmreg_er,'); +FOpCodeList.Add('vscalefss,1,1,1,xmmreg_mz,xmmreg,mem32,'); +FOpCodeList.Add('vscatterdpd,1,1,1,xmem64_m,xmmreg,,'); +FOpCodeList.Add('vscatterdpd,1,1,1,xmem64_m,ymmreg,,'); +FOpCodeList.Add('vscatterdpd,1,1,1,ymem64_m,zmmreg,,'); +FOpCodeList.Add('vscatterdps,1,1,1,xmem32_m,xmmreg,,'); +FOpCodeList.Add('vscatterdps,1,1,1,ymem32_m,ymmreg,,'); +FOpCodeList.Add('vscatterdps,1,1,1,zmem32_m,zmmreg,,'); +FOpCodeList.Add('vscatterqpd,1,1,1,xmem64_m,xmmreg,,'); +FOpCodeList.Add('vscatterqpd,1,1,1,ymem64_m,ymmreg,,'); +FOpCodeList.Add('vscatterqpd,1,1,1,zmem64_m,zmmreg,,'); +FOpCodeList.Add('vscatterqps,1,1,1,xmem32_m,xmmreg,,'); +FOpCodeList.Add('vscatterqps,1,1,1,ymem32_m,xmmreg,,'); +FOpCodeList.Add('vscatterqps,1,1,1,zmem32_m,ymmreg,,'); +FOpCodeList.Add('vshuff32x4,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vshuff32x4,1,1,1,ymmreg_mz,ymmreg,8b32,imm8'); +FOpCodeList.Add('vshuff32x4,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vshuff32x4,1,1,1,zmmreg_mz,zmmreg,16b32,imm8'); +FOpCodeList.Add('vshuff64x2,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vshuff64x2,1,1,1,ymmreg_mz,ymmreg,4b64,imm8'); +FOpCodeList.Add('vshuff64x2,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vshuff64x2,1,1,1,zmmreg_mz,zmmreg,8b64,imm8'); +FOpCodeList.Add('vshufi32x4,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vshufi32x4,1,1,1,ymmreg_mz,ymmreg,8b32,imm8'); +FOpCodeList.Add('vshufi32x4,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vshufi32x4,1,1,1,zmmreg_mz,zmmreg,16b32,imm8'); +FOpCodeList.Add('vshufi64x2,1,1,1,ymmreg_mz,ymmreg,ymmrm,imm8'); +FOpCodeList.Add('vshufi64x2,1,1,1,ymmreg_mz,ymmreg,4b64,imm8'); +FOpCodeList.Add('vshufi64x2,1,1,1,zmmreg_mz,zmmreg,zmmrm,imm8'); +FOpCodeList.Add('vshufi64x2,1,1,1,zmmreg_mz,zmmreg,8b64,imm8'); FOpCodeList.Add('VGATHERQPD,1,1,XMMREG,XMEM64,XMMREG,'); FOpCodeList.Add('VGATHERQPD,1,1,YMMREG,YMEM64,YMMREG,'); @@ -834,10 +3813,11 @@ begin FOpCodeList.Add('VPGATHERQQ,1,1,YMMREG,YMEM64,YMMREG,'); end; -function TAVXTestGenerator.InternalMakeTestFiles(aX64: boolean; aDestPath, aFileExt: String; +function TAVXTestGenerator.InternalMakeTestFiles(aX64, aAVX512, aSAE: boolean; aDestPath, aFileExt: String; aOpCodeList, aHeaderList, aFooterList: TStringList): boolean; var i: integer; + sData: string; sl: TStringList; slAsm: TStringList; LastOpCode: String; @@ -873,9 +3853,9 @@ begin sl.Clear; sl.CommaText := aOpCodeList[i]; - while sl.Count < 7 do sl.Add(''); + while sl.Count < 8 do sl.Add(''); - NewOpCode := sl[0]; + NewOpCode := ansilowercase(sl[0]); if NewOpCode <> '' then begin if NewOpCode <> LastOpCode then @@ -891,17 +3871,18 @@ begin else LastOpCode := NewOpCode; end; + if (not(aX64) and (sl[1] = '1')) or // i386 (aX64 and (sl[2] = '1')) then // x86_64 begin - if (sl[3] = '') and - (sl[3] = '') and - (sl[3] = '') and - (sl[3] = '') then + if (sl[4] = '') and + (sl[5] = '') and + (sl[6] = '') and + (sl[7] = '') then begin // Opcode with no Params, e.g. VZEROALL slAsm.Add(' ' + sl[0]); end - else TAsmTestGenerator.CalcTestData(aX64, sl[0], sl[3], sl[4], sl[5], sl[6], slAsm); + else TAsmTestGenerator.CalcTestData(aX64, aAVX512 and (sl[3] = '1'), aSAE, sl[0], sl[4], sl[5], sl[6], sl[7], slAsm); end; end; end; @@ -920,7 +3901,7 @@ begin end; end; -function TAVXTestGenerator.MakeTestFiles(aTyp: TTestFileTyp; aX64: boolean; +function TAVXTestGenerator.MakeTestFiles(aTyp: TTestFileTyp; aX64, aAVX512, aSAE: boolean; aDestPath: String): boolean; var slHeader: TStringList; @@ -1032,7 +4013,7 @@ begin end; end; - InternalMakeTestFiles(aX64, aDestPath, Fileext, FOpCodeList, slHeader, slFooter); + InternalMakeTestFiles(aX64, aAVX512, aSAE, aDestPath, Fileext, FOpCodeList, slHeader, slFooter); finally FreeAndNil(slFooter); diff --git a/tests/utils/avx/avxtestgenerator.pp b/tests/utils/avx/avxtestgenerator.pp index 81aa1efc05..bfe4c8d99e 100644 --- a/tests/utils/avx/avxtestgenerator.pp +++ b/tests/utils/avx/avxtestgenerator.pp @@ -45,15 +45,19 @@ begin writeln('-f [fpc,nasm,fasm,fpcinc] outputformat'); writeln('-p [x8664] codegenerator for x86_64 platform'); writeln('-o destination path'); + writeln('-z avx512'); writeln(''); end else begin + //TAsmTestGenerator.CalcTestInstFile; + //exit; + case OutputFormat of - 'f': MakeTestFiles(tfFPC, x64, Path); - 'F': MakeTestFiles(tfFasm, x64, Path); - 'n': MakeTestFiles(tfNasm, x64, Path); - 'I': MakeTestFiles(tfFPCInc, x64, Path); + 'f': MakeTestFiles(tfFPC, x64, AVX512, false, Path); + 'F': MakeTestFiles(tfFasm, x64, AVX512, false, Path); + 'n': MakeTestFiles(tfNasm, x64, AVX512, false, Path); + 'I': MakeTestFiles(tfFPCInc, x64, AVX512, false, Path); end; end; finally diff --git a/tests/utils/avx/options.pas b/tests/utils/avx/options.pas index 183ca26104..c7f59f61fb 100644 --- a/tests/utils/avx/options.pas +++ b/tests/utils/avx/options.pas @@ -26,8 +26,11 @@ interface type + { TOptions } + TOptions = class(TObject) private + FAVX512: boolean; FHelp: boolean; FX64: boolean; FOutputFormat: Char; @@ -40,6 +43,7 @@ type property Help: boolean read FHelp write FHelp; property OutputFormat: Char read FOutputFormat write FOutputFormat; property X64: boolean read FX64 write FX64; + property AVX512: boolean read FAVX512 write FAVX512; property Path: string read FPath write FPath; end; @@ -53,6 +57,7 @@ constructor TOptions.Create; begin FHelp := false; FX64 := false; + FAVX512 := false; FOutputFormat := '?'; FPath := ''; end; @@ -91,6 +96,7 @@ begin Fx64 := true; end else IsInvalidParam := true; + 'z': FAVX512 := true; 'o': if sValue <> '' then begin FPath := IncludeTrailingBackslash(sValue); diff --git a/tests/utils/avx/readme.txt b/tests/utils/avx/readme.txt index a4fc62ad74..0750c7b1d0 100644 --- a/tests/utils/avx/readme.txt +++ b/tests/utils/avx/readme.txt @@ -2,6 +2,7 @@ create testfiles in shell (linux): for i in `ls /tmp/avx/*.pp`; do /home/torsten/fpc/avx/ppcx64 -Fu/home/torsten/fpc/avx/rtl/units/x86_64-linux/ "$i"; done; +*********************************************************************************************************** On windows, complete testing would look like: i386: @@ -29,19 +30,37 @@ for %a in (*.asm) do nasm -fwin64 %a cd .. avxtestfilecmp -mtmp\*.obj -dtmp -eexe -s +*********************************************************************************************************** Linux x86-64: + mkdir tmp fpc avxtestgenerator fpc avxtestfilecmp + ./avxtestgenerator -px8664 -ffpc -otmp +# AVX-512: ./avxtestgenerator -px8664 -ffpc -otmp -z + ./avxtestgenerator -px8664 -fnasm -otmp +# AVX-512: ./avxtestgenerator -px8664 -fnasm -otmp -z + cd tmp -echo *.pp | xargs -n 1 fpc -Px86_64 -v0i -echo *.asm | xargs -n 1 nasm -fwin64 + +# use GNU Parallel [1] +# if not available: +# echo *.pp | xargs -n 1 fpc -Px86_64 -v0i +find . -name '*.pp' | parallel fpc -Px86_64 -v0i + +# use GNU Parallel [1] +# if not available: +# echo *.asm | xargs -n 1 nasm -fwin64 +find . -name '*.asm' | parallel nasm -fwin64 + cd .. ./avxtestfilecmp -mtmp/*.o -dtmp -s +*********************************************************************************************************** x86_64 testing by using self testing fpc executables: + avxtestgenerator -px8664 -ffpcinc -otmp avxtestgenerator -px8664 -fnasm -otmp cd tmp @@ -88,3 +107,4 @@ VMOVUPD VMOVUPS +[1] O. Tange (2011): GNU Parallel - The Command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47. |