瀏覽代碼

-- 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: trunk@42654 -

florian 6 年之前
父節點
當前提交
7f8dc75604
共有 87 個文件被更改,包括 63152 次插入11845 次删除
  1. 3 0
      compiler/aasmtai.pas
  2. 314 34
      compiler/i386/i386att.inc
  3. 281 1
      compiler/i386/i386atts.inc
  4. 314 34
      compiler/i386/i386int.inc
  5. 1 1
      compiler/i386/i386nop.inc
  6. 314 34
      compiler/i386/i386op.inc
  7. 281 1
      compiler/i386/i386prop.inc
  8. 16639 3171
      compiler/i386/i386tab.inc
  9. 16 0
      compiler/i386/r386ari.inc
  10. 17 1
      compiler/i386/r386att.inc
  11. 16 0
      compiler/i386/r386con.inc
  12. 17 1
      compiler/i386/r386dwrf.inc
  13. 17 1
      compiler/i386/r386int.inc
  14. 17 1
      compiler/i386/r386iri.inc
  15. 17 1
      compiler/i386/r386nasm.inc
  16. 1 1
      compiler/i386/r386nor.inc
  17. 17 1
      compiler/i386/r386nri.inc
  18. 17 1
      compiler/i386/r386num.inc
  19. 17 1
      compiler/i386/r386ot.inc
  20. 17 1
      compiler/i386/r386rni.inc
  21. 17 1
      compiler/i386/r386sri.inc
  22. 17 1
      compiler/i386/r386stab.inc
  23. 17 1
      compiler/i386/r386std.inc
  24. 314 34
      compiler/i8086/i8086att.inc
  25. 281 1
      compiler/i8086/i8086atts.inc
  26. 314 34
      compiler/i8086/i8086int.inc
  27. 1 1
      compiler/i8086/i8086nop.inc
  28. 314 34
      compiler/i8086/i8086op.inc
  29. 281 1
      compiler/i8086/i8086prop.inc
  30. 16764 3296
      compiler/i8086/i8086tab.inc
  31. 16 0
      compiler/i8086/r8086ari.inc
  32. 17 1
      compiler/i8086/r8086att.inc
  33. 16 0
      compiler/i8086/r8086con.inc
  34. 16 0
      compiler/i8086/r8086dwrf.inc
  35. 17 1
      compiler/i8086/r8086int.inc
  36. 17 1
      compiler/i8086/r8086iri.inc
  37. 17 1
      compiler/i8086/r8086nasm.inc
  38. 1 1
      compiler/i8086/r8086nor.inc
  39. 17 1
      compiler/i8086/r8086nri.inc
  40. 17 1
      compiler/i8086/r8086num.inc
  41. 17 1
      compiler/i8086/r8086ot.inc
  42. 17 1
      compiler/i8086/r8086rni.inc
  43. 17 1
      compiler/i8086/r8086sri.inc
  44. 17 1
      compiler/i8086/r8086stab.inc
  45. 17 1
      compiler/i8086/r8086std.inc
  46. 1 0
      compiler/msg/errore.msg
  47. 3 2
      compiler/msgidx.inc
  48. 291 293
      compiler/msgtxt.inc
  49. 17 3
      compiler/scanner.pas
  50. 3 1
      compiler/utils/mkx86ins.pp
  51. 3 3
      compiler/utils/mkx86reg.pp
  52. 590 54
      compiler/x86/aasmcpu.pas
  53. 35 0
      compiler/x86/agx86att.pas
  54. 1 0
      compiler/x86/agx86int.pas
  55. 17 2
      compiler/x86/cpubase.pas
  56. 590 204
      compiler/x86/rax86.pas
  57. 353 61
      compiler/x86/rax86int.pas
  58. 542 208
      compiler/x86/x86ins.dat
  59. 81 0
      compiler/x86/x86reg.dat
  60. 86 14
      compiler/x86_64/r8664ari.inc
  61. 73 1
      compiler/x86_64/r8664att.inc
  62. 72 0
      compiler/x86_64/r8664con.inc
  63. 73 1
      compiler/x86_64/r8664dwrf.inc
  64. 73 1
      compiler/x86_64/r8664int.inc
  65. 87 15
      compiler/x86_64/r8664iri.inc
  66. 73 1
      compiler/x86_64/r8664nasm.inc
  67. 1 1
      compiler/x86_64/r8664nor.inc
  68. 73 1
      compiler/x86_64/r8664num.inc
  69. 73 1
      compiler/x86_64/r8664ot.inc
  70. 73 1
      compiler/x86_64/r8664rni.inc
  71. 87 15
      compiler/x86_64/r8664sri.inc
  72. 73 1
      compiler/x86_64/r8664stab.inc
  73. 73 1
      compiler/x86_64/r8664std.inc
  74. 281 1
      compiler/x86_64/x8664ats.inc
  75. 314 34
      compiler/x86_64/x8664att.inc
  76. 314 34
      compiler/x86_64/x8664int.inc
  77. 1 1
      compiler/x86_64/x8664nop.inc
  78. 314 34
      compiler/x86_64/x8664op.inc
  79. 281 1
      compiler/x86_64/x8664pro.inc
  80. 16747 3265
      compiler/x86_64/x8664tab.inc
  81. 10 6
      tests/test/units/character/tissurrogatepair.pp
  82. 11 7
      tests/test/units/character/tissurrogatepair2.pp
  83. 729 140
      tests/utils/avx/asmtestgenerator.pas
  84. 3708 729
      tests/utils/avx/avxopcodes.pas
  85. 8 4
      tests/utils/avx/avxtestgenerator.pp
  86. 6 0
      tests/utils/avx/options.pas
  87. 22 2
      tests/utils/avx/readme.txt

+ 3 - 0
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);

+ 314 - 34
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'
 );

+ 281 - 1
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
 );

+ 314 - 34
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'
 );

+ 1 - 1
compiler/i386/i386nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
-2129;
+4053;

+ 314 - 34
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
 );

+ 281 - 1
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])
 );

+ 16639 - 3171
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,45 +9159,73 @@
   (
     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;
@@ -9912,6 +10122,55 @@
     code    : #241#242#244#248#1#194#61#80#1#31;
     flags   : [if_avx,if_sandybridge]
   ),
+  (
+    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;
@@ -9926,6 +10185,55 @@
     code    : #241#242#244#248#1#194#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
+  (
+    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;
@@ -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,4935 +10308,18067 @@
     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;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTDQ2PS;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#91#72;
+    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_VCVTDQ2PS;
+    opcode  : A_VCVTDQ2PD;
     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_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_VCVTPD2DQ;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #220#242#248#1#230#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPD2DQ;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #220#242#244#248#1#230#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none);
+    code    : #219#232#233#248#1#230#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTPD2PS;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#90#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPD2PS;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#90#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_VCVTPS2DQ;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#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_VCVTPS2DQ;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#91#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPS2PD;
+    opcode  : A_VCVTDQ2PS;
     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_ymmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#244#248#1#91#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VCVTPS2PD;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#90#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPS2PD;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#244#248#1#90#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#233#248#1#91#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VCVTSD2SI;
+    opcode  : A_VCVTDQ2PS;
     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]
+    optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none);
+    code    : #232#233#248#1#91#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTSD2SI;
+    opcode  : A_VCVTPD2DQ;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#248#1#45#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTSD2SI;
+    opcode  : A_VCVTPD2DQ;
     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]
+    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_VCVTSD2SI;
+    opcode  : A_VCVTPD2DQ;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#243#248#1#45#72;
+    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_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]
+    opcode  : A_VCVTPD2DQ;
+    ops     : 2;
+    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_VCVTSD2SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#90#61#80;
+    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_VCVTSI2SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #220#242#248#1#42#61#80;
-    flags   : [if_avx,if_sandybridge,if_sd]
+    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_VCVTSI2SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #219#242#248#1#42#61#80;
-    flags   : [if_avx,if_sandybridge,if_sd]
+    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_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]
+    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_VCVTSS2SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#90#61#80;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTPD2PS;
+    ops     : 2;
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     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]
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#45#72;
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     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]
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#243#248#1#45#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTTPD2DQ;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#230#72;
+    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_VCVTTPD2DQ;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#230#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTTPS2DQ;
+    opcode  : A_VCVTPD2PS;
     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_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_VCVTTPS2DQ;
+    opcode  : A_VCVTPD2PS;
     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_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none);
+    code    : #232#233#234#241#248#1#90#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     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]
+    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_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#248#1#44#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#242#249#1#19#72;
+    flags   : [if_avx]
   ),
   (
-    opcode  : A_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     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]
+    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_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#243#248#1#44#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#242#244#249#1#19#72;
+    flags   : [if_avx]
   ),
   (
-    opcode  : A_VCVTTSS2SI;
+    opcode  : A_VCVTPH2PS;
     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]
+    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_VCVTTSS2SI;
+    opcode  : A_VCVTPH2PS;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#44#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none);
+    code    : #232#233#241#249#1#19#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTTSS2SI;
+    opcode  : A_VCVTPS2DQ;
     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]
+    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_VCVTTSS2SI;
+    opcode  : A_VCVTPS2DQ;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#243#248#1#44#72;
+    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_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]
+    opcode  : A_VCVTPS2DQ;
+    ops     : 2;
+    optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#241#248#1#91#72;
+    flags   : [if_avx512,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]
+    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_VDIVPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#94#61#80;
+    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_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]
+    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_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]
+    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_VDIVSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#94#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VDIVSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#94#61#80;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTPS2PD;
+    ops     : 2;
+    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_VDPPD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#65#61#80#23;
+    opcode  : A_VCVTPS2PD;
+    ops     : 2;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#242#248#1#90#72;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VDPPS;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#64#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTPS2PD;
+    ops     : 2;
+    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_VDPPS;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#64#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VEXTRACTF128;
-    ops     : 3;
-    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#25#65#22;
+    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_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;
-    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_VHADDPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHADDPD;
+    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_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHADDPS;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #220#242#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHADDPS;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #220#242#244#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHSUBPD;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHSUBPD;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHSUBPS;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #220#242#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    opcode  : A_VHSUBPS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #220#242#244#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    opcode  : A_VINSERTF128;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#24#61#80#23;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    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]
-  ),
-  (
-    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;
-    flags   : [if_avx,if_sandybridge]
+    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_VLDDQU;
+    opcode  : A_VCVTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none);
-    code    : #220#242#248#1#240#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#242#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VLDDQU;
+    opcode  : A_VCVTSD2SI;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_none,ot_none);
-    code    : #220#242#244#248#1#240#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_VLDMXCSR;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
-    code    : #242#248#1#174#130;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTSD2SI;
+    ops     : 2;
+    optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#234#242#243#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VMASKMOVDQU;
+    opcode  : A_VCVTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#247#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_VMASKMOVPD;
+    opcode  : A_VCVTSD2SS;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#47#61#66;
-    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_VMASKMOVPD;
+    opcode  : A_VCVTSD2SS;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#47#61#66;
+    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_VMASKMOVPD;
+    opcode  : A_VCVTSI2SD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#244#249#1#45#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPD;
+    opcode  : A_VCVTSI2SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#249#1#45#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPS;
+    opcode  : A_VCVTSI2SS;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#46#61#66;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPS;
+    opcode  : A_VCVTSI2SS;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#46#61#66;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPS;
+    opcode  : A_VCVTSS2SD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#244#249#1#44#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_VMASKMOVPS;
+    opcode  : A_VCVTSS2SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#249#1#44#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_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]
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#242#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMAXPD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#95#61#80;
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    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_VMAXPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#95#61#80;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#234#242#243#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMAXPS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #242#244#248#1#95#61#80;
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    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_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]
+    opcode  : A_VCVTTPD2DQ;
+    ops     : 2;
+    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_VMAXSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#95#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VMAXSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#95#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VMINPD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#93#61#80;
+    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_VMINPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#93#61#80;
-    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_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]
+    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_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]
+    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_VMINSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#93#61#80;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTTPS2DQ;
+    ops     : 2;
+    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_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]
+    opcode  : A_VCVTTPS2DQ;
+    ops     : 2;
+    optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #219#232#248#1#91#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VMINSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#93#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#41#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#41#65;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none);
+    code    : #219#232#233#248#1#91#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VMOVAPS;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#242#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VMOVAPS;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#41#65;
+    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_VMOVAPS;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#234#242#243#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VMOVAPS;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#41#65;
+    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_VMOVD;
+    opcode  : A_VCVTTSS2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #241#242#248#1#110#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#242#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMOVD;
+    opcode  : A_VCVTTSS2SI;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#126#65;
+    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_VMOVDDUP;
+    opcode  : A_VCVTTSS2SI;
     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_reg64,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#234#242#243#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMOVDDUP;
+    opcode  : A_VCVTTSS2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #220#242#248#1#18#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_VMOVDDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#248#1#18#72;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VDIVPD;
+    ops     : 3;
+    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_VMOVDQA;
-    ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#127#65;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VDIVPD;
+    ops     : 3;
+    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_VMOVDQA;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#111#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVDQA;
-    ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#127#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVDQA;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#111#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #219#242#244#248#1#111#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #219#242#248#1#111#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#127#65;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VDIVPS;
+    ops     : 3;
+    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_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #219#242#244#248#1#127#65;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VDIVPS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#248#1#94#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VMOVHLPS;
+    opcode  : A_VDIVPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #242#248#1#18#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VMOVHPD;
+    opcode  : A_VDIVPS;
     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]
+    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_VMOVHPS;
+    opcode  : A_VDIVPS;
     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]
+    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_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]
+    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_VMOVLHPS;
+    opcode  : A_VDIVSD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #242#248#1#22#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_VMOVLPD;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#19#65;
+    opcode  : A_VDIVSD;
+    ops     : 3;
+    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_VMOVLPD;
+    opcode  : A_VDIVSS;
     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]
+    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_VMOVLPS;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#19#65;
+    opcode  : A_VDIVSS;
+    ops     : 3;
+    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]
   ),
   (
-    opcode  : A_VMOVLPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none);
-    code    : #242#248#1#18#61#80;
+    opcode  : A_VDPPD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#65#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPD;
-    ops     : 2;
-    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#80#72;
+    opcode  : A_VDPPS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#64#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPD;
-    ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#80#72;
+    opcode  : A_VDPPS;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#64#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPD;
-    ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#80#72;
+    opcode  : A_VEXTRACTF128;
+    ops     : 3;
+    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#25#65#22;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPD;
-    ops     : 2;
-    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#80#72;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VEXTRACTPS;
+    ops     : 3;
+    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_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#80#72;
+    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_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#80#72;
+    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);
+    code    : #241#242#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#80#72;
+    opcode  : A_VHADDPD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#80#72;
+    opcode  : A_VHADDPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#242#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVNTDQ;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#231#65;
+    opcode  : A_VHADDPS;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #220#242#244#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    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;
+    opcode  : A_VHSUBPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVNTDQA;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none);
-    code    : #241#242#249#1#42#72;
+    opcode  : A_VHSUBPD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    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]
+    opcode  : A_VHSUBPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#242#248#1#125#61#80;
+    flags   : [if_avx,if_sandybridge]
   ),
   (
-    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;
+    opcode  : A_VHSUBPS;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #220#242#244#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVNTPD;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#43#65;
+    opcode  : A_VINSERTF128;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#24#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVNTPS;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits128,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#43#65;
+    opcode  : A_VINSERTPS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8);
+    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    : #232#241#242#250#1#33#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVNTPS;
+    opcode  : A_VLDDQU;
     ops     : 2;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#43#65;
+    optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none);
+    code    : #220#242#248#1#240#72;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVQ;
+    opcode  : A_VLDDQU;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#219#248#1#126#72;
+    optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_none,ot_none);
+    code    : #220#242#244#248#1#240#72;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #242#219#248#1#126#72;
+    opcode  : A_VLDMXCSR;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
+    code    : #242#248#1#174#130;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVQ;
+    opcode  : A_VMASKMOVDQU;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#241#248#1#214#65;
+    code    : #241#242#248#1#247#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;
+    opcode  : A_VMASKMOVPD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#244#249#1#47#61#66;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVSD;
+    opcode  : A_VMASKMOVPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#16#61#80;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#249#1#47#61#66;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #220#242#248#1#16#72;
+    opcode  : A_VMASKMOVPD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#244#249#1#45#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVSD;
+    opcode  : A_VMASKMOVPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#17#61#66;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#249#1#45#61#80;
     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;
-    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]
-  ),
-  (
-    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]
-  ),
-  (
-    opcode  : A_VMOVSLDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #219#242#248#1#18#72;
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#244#249#1#46#61#66;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVSLDUP;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #219#242#244#248#1#18#72;
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#249#1#46#61#66;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVSS;
+    opcode  : A_VMASKMOVPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#16#61#80;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#244#249#1#44#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none);
-    code    : #219#242#248#1#16#72;
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#249#1#44#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVSS;
+    opcode  : A_VMAXPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#17#61#66;
-    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_VMOVSS;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VMAXPD;
+    ops     : 3;
+    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_VMOVUPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPD;
-    ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPD;
-    ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPS;
-    ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VMAXPS;
+    ops     : 3;
+    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_VMOVUPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VMAXPS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#248#1#95#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VMOVUPS;
-    ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMPSADBW;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#66#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VMPSADBW;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#66#61#80#23;
-    flags   : [if_avx2]
+    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_VMULPD;
+    opcode  : A_VMAXPS;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#248#1#95#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VMULPD;
+    opcode  : A_VMAXPS;
     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_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none);
+    code    : #232#233#248#1#95#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VMULPS;
+    opcode  : A_VMAXSD;
     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_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_VMULPS;
+    opcode  : A_VMAXSD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #242#244#248#1#89#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_VMULSD;
+    opcode  : A_VMAXSS;
     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_bits32,ot_none);
+    code    : #219#232#242#248#1#95#61#80;
+    flags   : [if_avx,if_sandybridge,if_t1s]
   ),
   (
-    opcode  : A_VMULSD;
+    opcode  : A_VMAXSS;
     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_sae,ot_none);
+    code    : #219#232#242#248#1#95#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMULSS;
+    opcode  : A_VMINPD;
     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_xmmrm,ot_none);
+    code    : #232#234#241#242#248#1#93#61#80;
+    flags   : [if_avx,if_sandybridge,if_tfv]
   ),
   (
-    opcode  : A_VMULSS;
+    opcode  : A_VMINPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#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#93#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VORPD;
+    opcode  : A_VMINPD;
     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_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_VORPS;
+    opcode  : A_VMINPD;
     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_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_VORPS;
+    opcode  : A_VMINPD;
     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_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_VPABSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#28#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPABSB;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#28#72;
-    flags   : [if_avx2]
+    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_VPABSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#30#72;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VMINPS;
+    ops     : 3;
+    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_VPABSD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#30#72;
-    flags   : [if_avx2]
+    opcode  : A_VMINPS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#248#1#93#61#80;
+    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]
+    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_VPABSW;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#29#72;
-    flags   : [if_avx2]
+    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_VPACKSSDW;
+    opcode  : A_VMINPS;
     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_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_VPACKSSDW;
+    opcode  : A_VMINPS;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#248#1#93#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPACKSSWB;
+    opcode  : A_VMINPS;
     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_zmmreg_mz,ot_zmmreg,ot_zmmreg_sae,ot_none);
+    code    : #232#233#248#1#93#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPACKSSWB;
+    opcode  : A_VMINSD;
     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_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_VPACKUSDW;
+    opcode  : A_VMINSD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#43#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_VPACKUSDW;
+    opcode  : A_VMINSS;
     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_memory or ot_bits32,ot_none);
+    code    : #219#232#242#248#1#93#61#80;
+    flags   : [if_avx,if_sandybridge,if_t1s]
   ),
   (
-    opcode  : A_VPACKUSWB;
+    opcode  : A_VMINSS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#103#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_VPACKUSWB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#103#61#80;
-    flags   : [if_avx2]
+    opcode  : A_VMOVAPD;
+    ops     : 2;
+    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_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]
+    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_VPADDB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#252#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPADDD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#254#61#80;
-    flags   : [if_avx2]
+    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_VPADDQ;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#212#61#80;
+    opcode  : A_VMOVAPD;
+    ops     : 2;
+    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_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_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_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_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_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_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_VMOVAPS;
+    ops     : 2;
+    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    : #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_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_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_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;
+    ops     : 2;
+    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQA;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQA;
+    ops     : 2;
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQA;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #219#242#244#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #219#242#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
+    code    : #219#242#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
+    code    : #219#242#244#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVHLPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
+    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    : #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    : #232#234#241#242#248#1#22#61#80;
+    flags   : [if_avx,if_sandybridge,if_t1s]
+  ),
+  (
+    opcode  : A_VMOVHPS;
+    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     : 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    : #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    : #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    : #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    : #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    : #232#242#248#1#18#61#80;
+    flags   : [if_avx,if_sandybridge,if_t2]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
+    code    : #242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
+    code    : #242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
+    code    : #242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
+    code    : #242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVNTDQ;
+    ops     : 2;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none);
+    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    : #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    : #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    : #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    : #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    : #232#242#248#1#43#65;
+    flags   : [if_avx,if_sandybridge,if_tfvm]
+  ),
+  (
+    opcode  : A_VMOVNTPS;
+    ops     : 2;
+    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_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_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    : #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    : #219#232#234#242#248#1#126#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVQ;
+    ops     : 2;
+    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     : 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_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_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     : 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_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_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_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_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     : 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_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_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     : 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_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_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_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_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_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_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_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_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);
+    code    : #241#242#250#1#66#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMPSADBW;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#66#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VMULPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#212#61#80;
-    flags   : [if_avx2]
+    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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#219#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPAND;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#219#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPANDN;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#223#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPANDN;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#223#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPAVGB;
+    ops     : 3;
+    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_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_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_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;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
+    code    : #241#242#250#1#76#61#80#247;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPBLENDVB;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_ymmreg);
+    code    : #241#242#244#250#1#76#61#80#247;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBLENDW;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#14#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPBLENDW;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#14#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPCLMULQDQ;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#116#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPCMPEQB;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#116#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPEQD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#118#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPEQQ;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#41#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPEQW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#117#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPCMPESTRI;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#97#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPCMPESTRM;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#96#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTB;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#100#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#102#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTQ;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#55#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#101#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPCMPISTRI;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#99#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPCMPISTRM;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#98#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPERM2F128;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#6#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPERMILPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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    : #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    : #232#241#242#250#1#20#65#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPEXTRB;
+    ops     : 3;
+    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    : #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    : #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_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_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    : #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    : #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    : #232#241#242#248#1#197#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#2#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#2#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHADDSW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#3#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDSW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#3#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHADDW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#1#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#1#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHMINPOSUW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#65#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#6#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#6#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHSUBSW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#7#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBSW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#7#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHSUBW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#5#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#5#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPINSRB;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8);
+    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    : #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    : #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    : #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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 2;
+    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#215#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPMOVMSKB;
+    ops     : 2;
+    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#215#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPMOVMSKB;
+    ops     : 2;
+    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#215#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMOVMSKB;
+    ops     : 2;
+    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#215#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMOVSXBD;
+    ops     : 2;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#235#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPOR;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#235#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSADBW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    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    : #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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#8#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPSIGNB;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#8#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSIGND;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#10#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPSIGND;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#10#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSIGNW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#9#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPSIGNW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#9#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSLLD;
+    ops     : 3;
+    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_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_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_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    : #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    : #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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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    : #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    : #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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#249#1#23#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPTEST;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#23#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPUNPCKHBW;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#239#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPXOR;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#239#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VRCPPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #242#248#1#83#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRCPPS;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #242#244#248#1#83#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRCPSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #219#242#248#1#83#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRCPSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #219#242#248#1#83#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#9#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#9#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPS;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#8#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#8#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#11#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#11#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#10#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#10#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTPS;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #242#244#248#1#82#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #242#248#1#82#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #219#242#248#1#82#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #219#242#248#1#82#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VSHUFPD;
+    ops     : 4;
+    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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
+    code    : #242#248#1#174#131;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VSUBPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#15#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VTESTPD;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#249#1#15#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VTESTPS;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#249#1#14#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VTESTPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#14#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VUCOMISD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
+    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_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    : #232#242#248#1#46#72;
+    flags   : [if_avx,if_sandybridge,if_t1s]
+  ),
+  (
+    opcode  : A_VUCOMISS;
+    ops     : 2;
+    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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #242#244#248#1#119;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VZEROUPPER;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #242#248#1#119;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_ANDN;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #242#249#1#242#61#80;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BEXTR;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #242#249#1#247#62#72;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BLSI;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #242#249#1#243#60#139;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BLSMSK;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #242#249#1#243#60#138;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BLSR;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #242#249#1#243#60#137;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_TZCNT;
+    ops     : 2;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_rm_gpr,ot_none,ot_none);
+    code    : #208#219#2#15#188#72;
+    flags   : [if_bmi1,if_sm]
+  ),
+  (
+    opcode  : A_BZHI;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #242#249#1#245#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_MULX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #220#242#249#1#246#61#80;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_PDEP;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #220#242#249#1#245#61#80;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_PEXT;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #219#242#249#1#245#61#80;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_RORX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_immediate or ot_bits8,ot_none);
+    code    : #220#242#250#1#240#72#22;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_SARX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #219#242#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_SHLX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #241#242#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_SHRX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #220#242#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_ADCX;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #241#3#15#56#246#72;
+    flags   : [if_adx]
+  ),
+  (
+    opcode  : A_ADOX;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #219#3#15#56#246#72;
+    flags   : [if_adx]
+  ),
+  (
+    opcode  : A_VBROADCASTI128;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none);
+    code    : #241#242#244#249#1#90#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VEXTRACTI128;
+    ops     : 3;
+    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#57#65#22;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VINSERTI128;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#56#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBLENDD;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#2#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBLENDD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#2#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBROADCASTB;
+    ops     : 2;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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);
+    code    : #241#242#244#250#1#70#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPERMD;
+    ops     : 3;
+    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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#244#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#244#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#243#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#243#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#243#244#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#243#244#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSLLVD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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);
+    code    : #241#242#249#1#146#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#243#249#1#147#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#249#1#147#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VGATHERQPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
+    code    : #241#242#244#249#1#147#62#72;
+    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);
+    code    : #241#242#249#1#144#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#243#249#1#144#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#249#1#145#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPGATHERQD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
+    code    : #241#242#244#249#1#145#62#72;
+    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);
+    code    : #241#242#243#249#1#145#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#152#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADD132PD;
+    ops     : 3;
+    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_VFMADD132PD;
+    ops     : 3;
+    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_VFMADD132PD;
+    ops     : 3;
+    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_VFMADD132PD;
+    ops     : 3;
+    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_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_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_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_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_VFMADD132SS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#168#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADD213PS;
+    ops     : 3;
+    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_VFMADD213PS;
+    ops     : 3;
+    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_VFMADD213PS;
+    ops     : 3;
+    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_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_VFMADD213SD;
+    ops     : 3;
+    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_VFMADD213SS;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#150#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    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_VFMADDSUB132PD;
+    ops     : 3;
+    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_VFMADDSUB132PD;
+    ops     : 3;
+    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_VFMADDSUB132PD;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#166#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#182#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_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_VFMSUB132SD;
+    ops     : 3;
+    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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#170#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    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_VFMSUB213PD;
+    ops     : 3;
+    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_VFMSUB213PD;
+    ops     : 3;
+    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_VFMSUB213PD;
+    ops     : 3;
+    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_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_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#170#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    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_VFMSUB213PS;
+    ops     : 3;
+    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_VFMSUB213PS;
+    ops     : 3;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#242#243#249#1#171#61#80;
+    flags   : [if_fma]
+  ),
+  (
+    opcode  : A_VFMSUB213SD;
+    ops     : 3;
+    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_VFMSUB213SS;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#156#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    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_VFNMADD132PD;
+    ops     : 3;
+    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_VFNMADD132PD;
+    ops     : 3;
+    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_VFNMADD132PD;
+    ops     : 3;
+    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_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_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_VFNMADD132SS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#172#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    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_VFNMADD213PS;
+    ops     : 3;
+    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_VFNMADD213PS;
+    ops     : 3;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#242#243#249#1#173#61#80;
+    flags   : [if_fma]
+  ),
+  (
+    opcode  : A_VFNMADD213SD;
+    ops     : 3;
+    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_VFNMADD213SS;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#158#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMSUB132PD;
+    ops     : 3;
+    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_VFNMSUB132PD;
+    ops     : 3;
+    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_VFNMSUB132PD;
+    ops     : 3;
+    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_VFNMSUB132PD;
+    ops     : 3;
+    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_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_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_VFNMSUB132SS;
+    ops     : 3;
+    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_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_VFNMSUB213SS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#190#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMSUB231PS;
+    ops     : 3;
+    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_VFNMSUB231PS;
+    ops     : 3;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#242#243#249#1#191#61#80;
+    flags   : [if_fma]
+  ),
+  (
+    opcode  : A_VFNMSUB231SD;
+    ops     : 3;
+    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_VFNMSUB231SS;
+    ops     : 3;
+    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_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;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #1#242;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XRELEASE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #1#243;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XBEGIN;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none,ot_none);
+    code    : #208#2#199#248#52;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XABORT;
+    ops     : 1;
+    optypes : (ot_immediate,ot_none,ot_none,ot_none);
+    code    : #2#198#248#20;
+    flags   : [if_tsx,if_sb]
+  ),
+  (
+    opcode  : A_XEND;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #3#15#1#213;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XTEST;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #3#15#1#214;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_RDRAND;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
+    code    : #208#2#15#199#134;
+    flags   : [if_rand]
+  ),
+  (
+    opcode  : A_RDSEED;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
+    code    : #208#2#15#199#135;
+    flags   : [if_rand]
+  ),
+  (
+    opcode  : A_XGETBV;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #3#15#1#208;
+    flags   : [if_xsave]
+  ),
+  (
+    opcode  : A_PREFETCHWT1;
+    ops     : 1;
+    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_VPADDSB;
+    opcode  : A_VPERMB;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#141#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDSB;
+    opcode  : A_VPERMB;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#141#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDSW;
+    opcode  : A_VPERMI2B;
     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#249#1#117#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDSW;
+    opcode  : A_VPERMI2B;
     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#244#249#1#117#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDUSB;
+    opcode  : A_VPERMI2B;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#117#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDUSB;
+    opcode  : A_VPERMI2D;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDUSW;
+    opcode  : A_VPERMI2D;
     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_bmem32,ot_none);
+    code    : #232#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDUSW;
+    opcode  : A_VPERMI2D;
     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#244#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDW;
+    opcode  : A_VPERMI2D;
     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_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDW;
+    opcode  : A_VPERMI2D;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    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]
+    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_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]
+    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_VPAND;
+    opcode  : A_VPERMI2PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#219#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPAND;
+    opcode  : A_VPERMI2PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#219#61#80;
-    flags   : [if_avx2]
+    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_VPANDN;
+    opcode  : A_VPERMI2PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#223#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPANDN;
+    opcode  : A_VPERMI2PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#223#61#80;
-    flags   : [if_avx2]
+    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_VPAVGB;
+    opcode  : A_VPERMI2PD;
     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_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_VPAVGB;
+    opcode  : A_VPERMI2PS;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPAVGW;
+    opcode  : A_VPERMI2PS;
     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_bmem32,ot_none);
+    code    : #232#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPAVGW;
+    opcode  : A_VPERMI2PS;
     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#244#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPBLENDVB;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
-    code    : #241#242#250#1#76#61#80#247;
-    flags   : [if_avx,if_sandybridge]
+    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_VPBLENDVB;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_ymmreg);
-    code    : #241#242#244#250#1#76#61#80#247;
-    flags   : [if_avx2]
+    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_VPBLENDW;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#14#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VPBLENDW;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#14#61#80#23;
-    flags   : [if_avx2]
+    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_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]
+    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_VPCMPEQB;
+    opcode  : A_VPERMI2Q;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#116#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQB;
+    opcode  : A_VPERMI2Q;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#116#61#80;
-    flags   : [if_avx2]
+    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_VPCMPEQD;
+    opcode  : A_VPERMI2Q;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#118#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQD;
+    opcode  : A_VPERMI2Q;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#118#61#80;
-    flags   : [if_avx2]
+    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_VPCMPEQQ;
+    opcode  : A_VPERMI2W;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#41#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQQ;
+    opcode  : A_VPERMI2W;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#41#61#80;
-    flags   : [if_avx2]
+    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_VPCMPEQW;
+    opcode  : A_VPERMI2W;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#117#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQW;
+    opcode  : A_VPERMT2B;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#117#61#80;
-    flags   : [if_avx2]
+    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_VPCMPESTRI;
+    opcode  : A_VPERMT2B;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#97#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPESTRM;
+    opcode  : A_VPERMT2B;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#96#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTB;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#100#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTB;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#100#61#80;
-    flags   : [if_avx2]
+    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_VPCMPGTD;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#102#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTD;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#102#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPCMPGTQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#55#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPCMPGTW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#101#61#80;
-    flags   : [if_avx2]
+    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_VPCMPISTRI;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#99#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPISTRM;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#98#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPERM2F128;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#6#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPEXTRB;
-    ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#20#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRB;
-    ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#20#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
+    opcode  : A_VPMADD52HUQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#248#1#197#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
+    opcode  : A_VPMADD52HUQ;
     ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#248#1#197#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
+    opcode  : A_VPMADD52HUQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#21#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
+    opcode  : A_VPMADD52HUQ;
     ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#21#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
+    opcode  : A_VPMADD52HUQ;
     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;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDD;
+    opcode  : A_VPMADD52HUQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#2#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDD;
+    opcode  : A_VPMADD52LUQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#2#61#80;
-    flags   : [if_avx2]
+    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_VPHADDSW;
+    opcode  : A_VPMADD52LUQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#3#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDSW;
+    opcode  : A_VPMADD52LUQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#3#61#80;
-    flags   : [if_avx2]
+    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_VPHADDW;
+    opcode  : A_VPMADD52LUQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#1#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDW;
+    opcode  : A_VPMADD52LUQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#1#61#80;
-    flags   : [if_avx2]
+    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_VPHMINPOSUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#65#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBD;
+    opcode  : A_VPMAXSQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#6#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBD;
+    opcode  : A_VPMAXSQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#6#61#80;
-    flags   : [if_avx2]
+    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_VPHSUBSW;
+    opcode  : A_VPMAXSQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#7#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBSW;
+    opcode  : A_VPMAXSQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#7#61#80;
-    flags   : [if_avx2]
+    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_VPHSUBW;
+    opcode  : A_VPMAXSQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#5#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBW;
+    opcode  : A_VPMAXSQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#5#61#80;
-    flags   : [if_avx2]
+    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_VPINSRB;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#32#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMADDUBSW;
+    opcode  : A_VPMINSQ;
     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#234#241#249#1#57#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMADDUBSW;
+    opcode  : A_VPMINSQ;
     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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#57#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMADDWD;
+    opcode  : A_VPMINSQ;
     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_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_VPMADDWD;
+    opcode  : A_VPMINSQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#57#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXSB;
+    opcode  : A_VPMINSQ;
     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_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_VPMAXSB;
+    opcode  : A_VPMINSQ;
     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_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_VPMAXSD;
+    opcode  : A_VPMINUQ;
     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#234#241#249#1#59#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXSD;
+    opcode  : A_VPMINUQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#59#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXSW;
+    opcode  : A_VPMINUQ;
     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_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_VPMAXSW;
+    opcode  : A_VPMINUQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#59#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXUB;
+    opcode  : A_VPMINUQ;
     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_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_VPMAXUB;
+    opcode  : A_VPMINUQ;
     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_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_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]
+    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_VPMAXUD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#63#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMAXUW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#62#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINSB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#56#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINSD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#57#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINSW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#234#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINUB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#218#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINUD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#59#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINUW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#58#61#80;
-    flags   : [if_avx2]
+    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_VPMOVMSKB;
+    opcode  : A_VPMOVDW;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#215#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#51#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVMSKB;
+    opcode  : A_VPMOVDW;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#215#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#51#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVMSKB;
+    opcode  : A_VPMOVM2B;
     ops     : 2;
-    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#215#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVMSKB;
+    opcode  : A_VPMOVM2B;
     ops     : 2;
-    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#215#72;
-    flags   : [if_avx2]
+    optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBD;
+    opcode  : A_VPMOVM2B;
     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_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBD;
+    opcode  : A_VPMOVM2D;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#33#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBD;
+    opcode  : A_VPMOVM2D;
     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,ot_kreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBD;
+    opcode  : A_VPMOVM2D;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #241#242#244#249#1#33#72;
-    flags   : [if_avx2]
+    optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVM2Q;
     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,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVM2Q;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#34#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#244#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVM2Q;
     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_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#234#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVM2W;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#34#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBW;
+    opcode  : A_VPMOVM2W;
     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_ymmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#244#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBW;
+    opcode  : A_VPMOVM2W;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#32#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#234#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBW;
+    opcode  : A_VPMOVQ2M;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#32#72;
-    flags   : [if_avx2]
+    optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#234#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXDQ;
+    opcode  : A_VPMOVQ2M;
     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_kreg,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#234#244#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXDQ;
+    opcode  : A_VPMOVQ2M;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#37#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#234#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXDQ;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#37#72;
-    flags   : [if_avx2]
+    optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#50#65;
+    flags   : [if_avx512,if_tovm]
   ),
   (
-    opcode  : A_VPMOVSXWD;
+    opcode  : A_VPMOVQB;
     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_mem32_m,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#50#65;
+    flags   : [if_avx512,if_tovm]
   ),
   (
-    opcode  : A_VPMOVSXWD;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#35#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVSXWD;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#35#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#50#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVQB;
     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_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#50#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#36#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#50#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVQD;
     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_mem128_m,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#53#65;
+    flags   : [if_avx512,if_thvm]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVQD;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#36#72;
-    flags   : [if_avx2]
+    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_VPMOVZXBD;
+    opcode  : A_VPMOVQD;
     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_mem64_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#53#65;
+    flags   : [if_avx512,if_thvm]
   ),
   (
-    opcode  : A_VPMOVZXBD;
+    opcode  : A_VPMOVQD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#49#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#53#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBD;
+    opcode  : A_VPMOVQD;
     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_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#53#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBD;
+    opcode  : A_VPMOVQD;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#49#72;
-    flags   : [if_avx2]
+    optypes : (ot_ymmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#53#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVQW;
     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_mem128_m,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#52#65;
+    flags   : [if_avx512,if_tqvm]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVQW;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#50#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_mem32_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#52#65;
+    flags   : [if_avx512,if_tqvm]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVQW;
     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_mem64_m,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#52#65;
+    flags   : [if_avx512,if_tqvm]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVQW;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#50#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#52#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBW;
+    opcode  : A_VPMOVQW;
     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_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#52#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBW;
+    opcode  : A_VPMOVQW;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#48#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#52#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBW;
+    opcode  : A_VPMOVSDB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#48#72;
-    flags   : [if_avx2]
+    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_VPMOVZXDQ;
+    opcode  : A_VPMOVSDB;
     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_mem32_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#33#65;
+    flags   : [if_avx512,if_tqvm]
   ),
   (
-    opcode  : A_VPMOVZXDQ;
+    opcode  : A_VPMOVSDB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#53#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVZXDQ;
+    opcode  : A_VPMOVSDB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#53#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#33#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXWD;
+    opcode  : A_VPMOVSDB;
     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_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#33#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXWD;
+    opcode  : A_VPMOVSDB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#51#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#33#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXWD;
+    opcode  : A_VPMOVSDW;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#51#72;
-    flags   : [if_avx2]
+    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_VPMOVZXWQ;
+    opcode  : A_VPMOVSDW;
     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_mem256_m,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#35#65;
+    flags   : [if_avx512,if_thvm]
   ),
   (
-    opcode  : A_VPMOVZXWQ;
+    opcode  : A_VPMOVSDW;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#52#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#35#65;
+    flags   : [if_avx512,if_thvm]
   ),
   (
-    opcode  : A_VPMOVZXWQ;
+    opcode  : A_VPMOVSDW;
     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_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#35#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXWQ;
+    opcode  : A_VPMOVSDW;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#52#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#35#65;
+    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]
+    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_VPMULDQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#40#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULHRSW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#11#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULHUW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#228#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULHW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#229#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULLD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#64#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULLW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#213#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULUDQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#244#61#80;
-    flags   : [if_avx2]
+    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_VPOR;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#235#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPOR;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#235#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSADBW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#246#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSHUFB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#0#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSIGNB;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#8#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPSIGNB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#8#61#80;
-    flags   : [if_avx2]
+    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_VPSIGND;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#10#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPSIGND;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#10#61#80;
-    flags   : [if_avx2]
+    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_VPSIGNW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#9#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPSIGNW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#9#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSLLD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#242#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSLLQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#243#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSLLW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#241#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRAD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#226#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRAW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#225#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRLD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#210#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRLQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#211#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRLW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#209#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBB;
+    opcode  : A_VPMULLQ;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#64#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBD;
+    opcode  : A_VPMULLQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#64#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBD;
+    opcode  : A_VPMULLQ;
     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_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_VPSUBQ;
+    opcode  : A_VPMULLQ;
     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_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_VPSUBQ;
+    opcode  : A_VPMULLQ;
     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_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_VPSUBSB;
+    opcode  : A_VPMULLQ;
     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_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_VPSUBSB;
+    opcode  : A_VPMULTISHIFTQB;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#131#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBSW;
+    opcode  : A_VPMULTISHIFTQB;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#131#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBSW;
+    opcode  : A_VPMULTISHIFTQB;
     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#234#241#244#249#1#131#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBUSB;
+    opcode  : A_VPMULTISHIFTQB;
     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_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_VPSUBUSB;
+    opcode  : A_VPMULTISHIFTQB;
     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_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_VPSUBUSW;
+    opcode  : A_VPMULTISHIFTQB;
     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_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_VPSUBUSW;
+    opcode  : A_VPORD;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBW;
+    opcode  : A_VPORD;
     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_bmem32,ot_none);
+    code    : #232#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBW;
+    opcode  : A_VPORD;
     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#244#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPTEST;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#23#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPTEST;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#23#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPUNPCKHBW;
+    opcode  : A_VPORD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKHBW;
+    opcode  : A_VPORQ;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKHDQ;
+    opcode  : A_VPORQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKHDQ;
+    opcode  : A_VPORQ;
     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_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_VPUNPCKHQDQ;
+    opcode  : A_VPORQ;
     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_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_VPUNPCKHQDQ;
+    opcode  : A_VPORQ;
     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_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_VPUNPCKHWD;
+    opcode  : A_VPORQ;
     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_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_VPUNPCKHWD;
+    opcode  : A_VPROLD;
     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_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_VPUNPCKLBW;
+    opcode  : A_VPROLD;
     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_bmem32,ot_immediate or ot_bits8,ot_none);
+    code    : #232#241#248#1#114#60#137#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKLBW;
+    opcode  : A_VPROLD;
     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_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_VPUNPCKLDQ;
+    opcode  : A_VPROLD;
     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_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_VPUNPCKLDQ;
+    opcode  : A_VPROLD;
     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_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_VPUNPCKLQDQ;
+    opcode  : A_VPROLD;
     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_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_VPUNPCKLQDQ;
+    opcode  : A_VPROLQ;
     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_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_VPUNPCKLWD;
+    opcode  : A_VPROLQ;
     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_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_VPUNPCKLWD;
+    opcode  : A_VPROLQ;
     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_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_VPXOR;
+    opcode  : A_VPROLQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#239#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPXOR;
+    opcode  : A_VPROLQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#239#61#80;
-    flags   : [if_avx2]
+    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_VRCPPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#83#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRCPPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#83#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRCPSS;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#83#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VRCPSS;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#83#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPD;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#9#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPD;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#9#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPS;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#8#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPS;
+    opcode  : A_VPROLVQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#8#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#11#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#11#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSS;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#10#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSS;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#10#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#82#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#82#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTSS;
+    opcode  : A_VPRORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#82#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#136#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VRSQRTSS;
+    opcode  : A_VPRORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#82#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VSQRTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#81#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VSQRTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#81#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#81#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTSD;
+    opcode  : A_VPRORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none);
-    code    : #220#242#248#1#81#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTSD;
+    opcode  : A_VPRORVD;
     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_xmmrm,ot_none);
+    code    : #232#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSQRTSS;
+    opcode  : A_VPRORVD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#81#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTSS;
+    opcode  : A_VPRORVD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSTMXCSR;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
-    code    : #242#248#1#174#131;
-    flags   : [if_avx,if_sandybridge]
+    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_VSUBPD;
+    opcode  : A_VPRORVD;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBPD;
+    opcode  : A_VPRORVD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBPS;
+    opcode  : A_VPRORVQ;
     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#234#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBPS;
+    opcode  : A_VPRORVQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBSD;
+    opcode  : A_VPRORVQ;
     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_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_VSUBSD;
+    opcode  : A_VPRORVQ;
     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_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_VSUBSS;
+    opcode  : A_VPRORVQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#92#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VSUBSS;
+    opcode  : A_VPRORVQ;
     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_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_VTESTPD;
+    opcode  : A_VPSCATTERDD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#15#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#249#1#160#65;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VTESTPD;
+    opcode  : A_VPSCATTERDD;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#15#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VTESTPS;
+    opcode  : A_VPSCATTERDD;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#14#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VTESTPS;
+    opcode  : A_VPSCATTERDQ;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#14#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VUCOMISD;
+    opcode  : A_VPSCATTERDQ;
     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]
+    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_VUCOMISD;
+    opcode  : A_VPSCATTERDQ;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#46#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VUCOMISS;
+    opcode  : A_VPSCATTERQD;
     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]
+    optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#249#1#161#65;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VUCOMISS;
+    opcode  : A_VPSCATTERQD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#46#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_VUNPCKHPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#21#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VUNPCKLPD;
+    opcode  : A_VPSLLVW;
     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#249#1#18#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VUNPCKLPD;
+    opcode  : A_VPSLLVW;
     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_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_VUNPCKLPS;
+    opcode  : A_VPSLLVW;
     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_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_VUNPCKLPS;
+    opcode  : A_VPSRAQ;
     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_xmmrm,ot_none);
+    code    : #232#234#241#248#1#226#61#80;
+    flags   : [if_avx512,if_tmem128]
   ),
   (
-    opcode  : A_VXORPD;
+    opcode  : A_VPSRAQ;
     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_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_VXORPD;
+    opcode  : A_VPSRAQ;
     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_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_VXORPS;
+    opcode  : A_VPSRAQ;
     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_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_VXORPS;
+    opcode  : A_VPSRAQ;
     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_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_VZEROALL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #242#244#248#1#119;
-    flags   : [if_avx,if_sandybridge]
+    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_VZEROUPPER;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #242#248#1#119;
-    flags   : [if_avx,if_sandybridge]
+    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_ANDN;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #242#249#1#242#61#80;
-    flags   : [if_bmi1,if_prot]
+    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_BEXTR;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #242#249#1#247#62#72;
-    flags   : [if_bmi1,if_prot]
+    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_BLSI;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #242#249#1#243#60#139;
-    flags   : [if_bmi1,if_prot]
+    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_BLSMSK;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #242#249#1#243#60#138;
-    flags   : [if_bmi1,if_prot]
+    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_BLSR;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #242#249#1#243#60#137;
-    flags   : [if_bmi1,if_prot]
+    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_TZCNT;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_rm_gpr,ot_none,ot_none);
-    code    : #208#219#2#15#188#72;
-    flags   : [if_bmi1,if_sm]
+    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_BZHI;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #242#249#1#245#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_MULX;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #220#242#249#1#246#61#80;
-    flags   : [if_bmi2,if_prot]
+    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_PDEP;
+    opcode  : A_VPSRAVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #220#242#249#1#245#61#80;
-    flags   : [if_bmi2,if_prot]
+    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_PEXT;
+    opcode  : A_VPSRAVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #219#242#249#1#245#61#80;
-    flags   : [if_bmi2,if_prot]
+    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_RORX;
+    opcode  : A_VPSRAVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_immediate or ot_bits8,ot_none);
-    code    : #220#242#250#1#240#72#22;
-    flags   : [if_bmi2,if_prot]
+    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_SARX;
+    opcode  : A_VPSRLVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #219#242#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_SHLX;
+    opcode  : A_VPSRLVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #241#242#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_SHRX;
+    opcode  : A_VPSRLVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #220#242#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_ADCX;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #241#3#15#56#246#72;
-    flags   : [if_adx]
+    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_ADOX;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #219#3#15#56#246#72;
-    flags   : [if_adx]
+    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_VBROADCASTI128;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none);
-    code    : #241#242#244#249#1#90#72;
-    flags   : [if_avx2]
+    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_VEXTRACTI128;
-    ops     : 3;
-    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#57#65#22;
-    flags   : [if_avx2]
+    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_VINSERTI128;
+    opcode  : A_VPTERNLOGD;
     ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#56#61#80#23;
-    flags   : [if_avx2]
+    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_VPBLENDD;
+    opcode  : A_VPTERNLOGD;
     ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#2#61#80#23;
-    flags   : [if_avx2]
+    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_VPBLENDD;
+    opcode  : A_VPTERNLOGQ;
     ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#2#61#80#23;
-    flags   : [if_avx2]
+    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_VPBROADCASTB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#120#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTB;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#120#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTB;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits8,ot_none,ot_none);
-    code    : #241#242#244#249#1#120#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#88#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none);
-    code    : #241#242#249#1#88#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#88#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none);
-    code    : #241#242#244#249#1#88#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #241#242#249#1#89#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#89#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTQ;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#89#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#121#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTW;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#121#72;
-    flags   : [if_avx2]
+    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_VPERM2I128;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#70#61#80#23;
-    flags   : [if_avx2]
+    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_VPERMD;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #219#232#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMPD;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #219#232#244#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMPS;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #219#232#244#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMQ;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #219#232#233#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMASKMOVD;
+    opcode  : A_VPTESTNMD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPMASKMOVD;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVD;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#244#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPMASKMOVD;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#243#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMW;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#243#244#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPSLLVD;
+    opcode  : A_VPTESTNMW;
     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_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_VPSLLVD;
+    opcode  : A_VPTESTNMW;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#71#61#80;
-    flags   : [if_avx2]
+    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_VPSLLVQ;
+    opcode  : A_VPXORD;
     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#241#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSLLVQ;
+    opcode  : A_VPXORD;
     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_bmem32,ot_none);
+    code    : #232#241#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRAVD;
+    opcode  : A_VPXORD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRAVD;
+    opcode  : A_VPXORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#70#61#80;
-    flags   : [if_avx2]
+    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_VPSRLVD;
+    opcode  : A_VPXORD;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRLVD;
+    opcode  : A_VPXORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#69#61#80;
-    flags   : [if_avx2]
+    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_VPSRLVQ;
+    opcode  : A_VPXORQ;
     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#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRLVQ;
+    opcode  : A_VPXORQ;
     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#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VGATHERDPD;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERDPD;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_xmem64,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERDPS;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERDPS;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymem32,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERQPD;
+    opcode  : A_VRCP14SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#147#62#72;
-    flags   : [if_avx2]
+    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_VGATHERQPD;
+    opcode  : A_VRCP14SD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#147#62#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#234#241#249#1#77#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VGATHERQPS;
+    opcode  : A_VRCP14SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#147#62#72;
-    flags   : [if_avx2]
+    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_VGATHERQPS;
+    opcode  : A_VRCP14SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
-    code    : #241#242#244#249#1#147#62#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#241#249#1#77#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPGATHERDD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#144#62#72;
-    flags   : [if_avx2]
+    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_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_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_VPGATHERDQ;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#144#62#72;
-    flags   : [if_avx2]
+    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_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_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_VPGATHERQD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERQD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
-    code    : #241#242#244#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERQQ;
+    opcode  : A_VRCP28SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERQQ;
+    opcode  : A_VRCP28SD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VFMADD132PD;
+    opcode  : A_VRCP28SS;
     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_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#203#61#80;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VFMADD132PD;
+    opcode  : A_VRCP28SS;
     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_xmmreg_sae,ot_none);
+    code    : #232#241#249#1#203#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PD;
+    opcode  : A_VREDUCEPD;
     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_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_VFMADD213PD;
+    opcode  : A_VREDUCEPD;
     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_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_VFMADD231PD;
+    opcode  : A_VREDUCEPD;
     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_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_VFMADD231PD;
+    opcode  : A_VREDUCEPD;
     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_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_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_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_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_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_VFMADD132PS;
+    opcode  : A_VREDUCEPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#152#61#80;
-    flags   : [if_fma]
+    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_VFMADD132PS;
+    opcode  : A_VREDUCEPS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#152#61#80;
-    flags   : [if_fma]
+    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_VFMADD213PS;
+    opcode  : A_VREDUCEPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#168#61#80;
-    flags   : [if_fma]
+    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_VFMADD213PS;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADD231PS;
+    opcode  : A_VREDUCEPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#184#61#80;
-    flags   : [if_fma]
+    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_VFMADD231PS;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADD132SD;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADD213SD;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADD231SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#185#61#80;
-    flags   : [if_fma]
+    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_VFMADD132SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#153#61#80;
-    flags   : [if_fma]
+    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_VFMADD213SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#169#61#80;
-    flags   : [if_fma]
+    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_VFMADD231SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#185#61#80;
-    flags   : [if_fma]
+    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_VFMADDSUB132PD;
+    opcode  : A_VRNDSCALEPD;
     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_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #232#234#241#250#1#9#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADDSUB132PD;
+    opcode  : A_VRNDSCALEPD;
     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_bmem64,ot_immediate or ot_bits8,ot_none);
+    code    : #232#234#241#250#1#9#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADDSUB213PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMADDSUB213PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMADDSUB231PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMADDSUB231PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMADDSUB132PS;
+    opcode  : A_VRNDSCALEPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#150#61#80;
-    flags   : [if_fma]
+    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_VFMADDSUB132PS;
+    opcode  : A_VRNDSCALEPS;
     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_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #232#241#250#1#8#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADDSUB213PS;
+    opcode  : A_VRNDSCALEPS;
     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_bmem32,ot_immediate or ot_bits8,ot_none);
+    code    : #232#241#250#1#8#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADDSUB213PS;
+    opcode  : A_VRNDSCALEPS;
     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_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_VFMADDSUB231PS;
+    opcode  : A_VRNDSCALEPS;
     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_bmem32,ot_immediate or ot_bits8,ot_none);
+    code    : #232#241#244#250#1#8#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADDSUB231PS;
+    opcode  : A_VRNDSCALEPS;
     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_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_VFMSUBADD132PD;
+    opcode  : A_VRNDSCALEPS;
     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_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_VFMSUBADD132PD;
+    opcode  : A_VRNDSCALEPS;
     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_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_VFMSUBADD213PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#167#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD213PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#167#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD231PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#183#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD231PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#183#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD132PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#151#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD132PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#151#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD213PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#167#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD213PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#167#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD231PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#183#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD231PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#183#61#80;
-    flags   : [if_fma]
+    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_VFMSUB132PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#154#61#80;
-    flags   : [if_fma]
+    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_VFMSUB132PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#154#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#170#61#80;
-    flags   : [if_fma]
+    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_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]
+    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_VFMSUB231PD;
+    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,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#186#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#234#241#249#1#79#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PD;
+    opcode  : A_VRSQRT14SD;
     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_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_VFMSUB132PS;
+    opcode  : A_VRSQRT14SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#154#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#241#249#1#79#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PS;
+    opcode  : A_VRSQRT14SS;
     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_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_VFMSUB213PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#170#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#170#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#186#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#186#61#80;
-    flags   : [if_fma]
+    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_VFMSUB132SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#155#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#171#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231SD;
+    opcode  : A_VRSQRT28SD;
     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#249#1#205#61#80;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VFMSUB132SS;
+    opcode  : A_VRSQRT28SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#155#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213SS;
+    opcode  : A_VRSQRT28SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#171#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231SS;
+    opcode  : A_VRSQRT28SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#187#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none);
+    code    : #232#241#249#1#205#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VSCALEFPD;
     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#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VSCALEFPD;
     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#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VSCALEFPD;
     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#244#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VSCALEFPD;
     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#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VSCALEFPD;
     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_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VSCALEFPD;
     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_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD132PS;
+    opcode  : A_VSCALEFPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#156#61#80;
-    flags   : [if_fma]
+    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_VFNMADD132PS;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#156#61#80;
-    flags   : [if_fma]
+    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_VFNMADD213PS;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#172#61#80;
-    flags   : [if_fma]
+    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_VFNMADD213PS;
+    opcode  : A_VSCALEFPS;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD231PS;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#188#61#80;
-    flags   : [if_fma]
+    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_VFNMADD231PS;
+    opcode  : A_VSCALEFPS;
     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_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_VFNMADD132SD;
+    opcode  : A_VSCALEFPS;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD213SD;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#173#61#80;
-    flags   : [if_fma]
+    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_VFNMADD231SD;
+    opcode  : A_VSCALEFSD;
     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#249#1#45#61#80;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VFNMADD132SS;
+    opcode  : A_VSCALEFSD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#157#61#80;
-    flags   : [if_fma]
+    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_VFNMADD213SS;
+    opcode  : A_VSCALEFSS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#173#61#80;
-    flags   : [if_fma]
+    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_VFNMADD231SS;
+    opcode  : A_VSCALEFSS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#189#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#45#61#80;
+    flags   : [if_avx512]
   ),
   (
-    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]
+    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_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]
+    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_VFNMSUB213PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#158#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#158#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#159#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#175#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#191#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#159#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#175#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#191#61#80;
-    flags   : [if_fma]
+    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_XACQUIRE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #1#242;
-    flags   : [if_tsx]
+    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_XRELEASE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #1#243;
-    flags   : [if_tsx]
+    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_XBEGIN;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none,ot_none);
-    code    : #208#2#199#248#52;
-    flags   : [if_tsx]
+    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_XABORT;
-    ops     : 1;
-    optypes : (ot_immediate,ot_none,ot_none,ot_none);
-    code    : #2#198#248#20;
-    flags   : [if_tsx,if_sb]
+    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_XEND;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #3#15#1#213;
-    flags   : [if_tsx]
+    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_XTEST;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #3#15#1#214;
-    flags   : [if_tsx]
+    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_RDRAND;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
-    code    : #208#2#15#199#134;
-    flags   : [if_rand]
+    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_RDSEED;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
-    code    : #208#2#15#199#135;
-    flags   : [if_rand]
+    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_XGETBV;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #3#15#1#208;
-    flags   : [if_xsave]
+    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_PREFETCHWT1;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none,ot_none);
-    code    : #2#15#13#130;
-    flags   : [if_prefetchwt1]
+    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]
   )
 );

+ 16 - 0
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

+ 17 - 1
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'

+ 16 - 0
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);

+ 17 - 1
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

+ 17 - 1
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'

+ 17 - 1
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

+ 17 - 1
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'

+ 1 - 1
compiler/i386/r386nor.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86reg.dat }
-90
+106

+ 17 - 1
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

+ 17 - 1
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)

+ 17 - 1
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

+ 17 - 1
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

+ 17 - 1
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

+ 17 - 1
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

+ 17 - 1
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'

+ 314 - 34
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'
 );

+ 281 - 1
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
 );

+ 314 - 34
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'
 );

+ 1 - 1
compiler/i8086/i8086nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
-2161;
+4085;

+ 314 - 34
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
 );

+ 281 - 1
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])
 );

+ 16764 - 3296
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,45 +9187,73 @@
   (
     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;
@@ -9940,6 +10150,55 @@
     code    : #241#242#244#248#1#194#61#80#1#31;
     flags   : [if_avx,if_sandybridge]
   ),
+  (
+    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;
@@ -9954,6 +10213,55 @@
     code    : #241#242#244#248#1#194#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
+  (
+    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;
@@ -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,5131 +10336,18263 @@
     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;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTDQ2PS;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#91#72;
+    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_VCVTDQ2PS;
+    opcode  : A_VCVTDQ2PD;
     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_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_VCVTPD2DQ;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #220#242#248#1#230#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPD2DQ;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #220#242#244#248#1#230#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none);
+    code    : #219#232#233#248#1#230#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTPD2PS;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#90#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPD2PS;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#90#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_VCVTPS2DQ;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#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_VCVTPS2DQ;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#91#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPS2PD;
+    opcode  : A_VCVTDQ2PS;
     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_ymmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#244#248#1#91#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VCVTPS2PD;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#90#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPS2PD;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#244#248#1#90#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#233#248#1#91#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VCVTSD2SI;
+    opcode  : A_VCVTDQ2PS;
     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]
+    optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none);
+    code    : #232#233#248#1#91#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTSD2SI;
+    opcode  : A_VCVTPD2DQ;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#248#1#45#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTSD2SI;
+    opcode  : A_VCVTPD2DQ;
     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]
+    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_VCVTSD2SI;
+    opcode  : A_VCVTPD2DQ;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#243#248#1#45#72;
+    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_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]
+    opcode  : A_VCVTPD2DQ;
+    ops     : 2;
+    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_VCVTSD2SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#90#61#80;
+    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_VCVTSI2SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #220#242#248#1#42#61#80;
-    flags   : [if_avx,if_sandybridge,if_sd]
+    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_VCVTSI2SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #219#242#248#1#42#61#80;
-    flags   : [if_avx,if_sandybridge,if_sd]
+    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_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]
+    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_VCVTSS2SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#90#61#80;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTPD2PS;
+    ops     : 2;
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     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]
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#45#72;
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     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]
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#243#248#1#45#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTTPD2DQ;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#230#72;
+    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_VCVTTPD2DQ;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#230#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTTPS2DQ;
+    opcode  : A_VCVTPD2PS;
     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_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_VCVTTPS2DQ;
+    opcode  : A_VCVTPD2PS;
     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_ymmreg_mz,ot_zmmreg_er,ot_none,ot_none);
+    code    : #232#233#234#241#248#1#90#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     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]
+    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_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#248#1#44#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#242#249#1#19#72;
+    flags   : [if_avx]
   ),
   (
-    opcode  : A_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     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]
+    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_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#243#248#1#44#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#242#244#249#1#19#72;
+    flags   : [if_avx]
   ),
   (
-    opcode  : A_VCVTTSS2SI;
+    opcode  : A_VCVTPH2PS;
     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]
+    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_VCVTTSS2SI;
+    opcode  : A_VCVTPH2PS;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#44#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none);
+    code    : #232#233#241#249#1#19#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTTSS2SI;
+    opcode  : A_VCVTPS2DQ;
     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]
+    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_VCVTTSS2SI;
+    opcode  : A_VCVTPS2DQ;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#243#248#1#44#72;
+    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_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]
+    opcode  : A_VCVTPS2DQ;
+    ops     : 2;
+    optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#241#248#1#91#72;
+    flags   : [if_avx512,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]
+    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_VDIVPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#94#61#80;
+    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_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]
+    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_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]
+    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_VDIVSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#94#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VDIVSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#94#61#80;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTPS2PD;
+    ops     : 2;
+    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_VDPPD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#65#61#80#23;
+    opcode  : A_VCVTPS2PD;
+    ops     : 2;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#242#248#1#90#72;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VDPPS;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#64#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTPS2PD;
+    ops     : 2;
+    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_VDPPS;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#64#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VEXTRACTF128;
-    ops     : 3;
-    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#25#65#22;
+    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_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;
-    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_VHADDPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHADDPD;
+    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_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHADDPS;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #220#242#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHADDPS;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #220#242#244#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHSUBPD;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHSUBPD;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHSUBPS;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #220#242#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    opcode  : A_VHSUBPS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #220#242#244#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    opcode  : A_VINSERTF128;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#24#61#80#23;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    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]
-  ),
-  (
-    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;
-    flags   : [if_avx,if_sandybridge]
+    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_VLDDQU;
+    opcode  : A_VCVTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none);
-    code    : #220#242#248#1#240#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#242#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VLDDQU;
+    opcode  : A_VCVTSD2SI;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_none,ot_none);
-    code    : #220#242#244#248#1#240#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_VLDMXCSR;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
-    code    : #242#248#1#174#130;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTSD2SI;
+    ops     : 2;
+    optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#234#242#243#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VMASKMOVDQU;
+    opcode  : A_VCVTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#247#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_VMASKMOVPD;
+    opcode  : A_VCVTSD2SS;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#47#61#66;
-    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_VMASKMOVPD;
+    opcode  : A_VCVTSD2SS;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#47#61#66;
+    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_VMASKMOVPD;
+    opcode  : A_VCVTSI2SD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#244#249#1#45#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPD;
+    opcode  : A_VCVTSI2SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#249#1#45#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPS;
+    opcode  : A_VCVTSI2SS;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#46#61#66;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPS;
+    opcode  : A_VCVTSI2SS;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#46#61#66;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPS;
+    opcode  : A_VCVTSS2SD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#244#249#1#44#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_VMASKMOVPS;
+    opcode  : A_VCVTSS2SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#249#1#44#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_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]
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#242#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMAXPD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#95#61#80;
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    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_VMAXPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#95#61#80;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#234#242#243#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMAXPS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #242#244#248#1#95#61#80;
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    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_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]
+    opcode  : A_VCVTTPD2DQ;
+    ops     : 2;
+    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_VMAXSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#95#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VMAXSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#95#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VMINPD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#93#61#80;
+    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_VMINPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#93#61#80;
-    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_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]
+    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_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]
+    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_VMINSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#93#61#80;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTTPS2DQ;
+    ops     : 2;
+    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_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]
+    opcode  : A_VCVTTPS2DQ;
+    ops     : 2;
+    optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #219#232#248#1#91#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VMINSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#93#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#41#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#41#65;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none);
+    code    : #219#232#233#248#1#91#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VMOVAPS;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#242#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VMOVAPS;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#41#65;
+    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_VMOVAPS;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#234#242#243#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VMOVAPS;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#41#65;
+    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_VMOVD;
+    opcode  : A_VCVTTSS2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #241#242#248#1#110#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#242#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMOVD;
+    opcode  : A_VCVTTSS2SI;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#126#65;
+    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_VMOVDDUP;
+    opcode  : A_VCVTTSS2SI;
     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_reg64,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#234#242#243#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMOVDDUP;
+    opcode  : A_VCVTTSS2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #220#242#248#1#18#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_VMOVDDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#248#1#18#72;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VDIVPD;
+    ops     : 3;
+    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_VMOVDQA;
-    ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#127#65;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VDIVPD;
+    ops     : 3;
+    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_VMOVDQA;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#111#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVDQA;
-    ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#127#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVDQA;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#111#72;
+    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_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_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_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_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_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #219#242#244#248#1#111#72;
+    opcode  : A_VDIVSS;
+    ops     : 3;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #219#232#242#248#1#94#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #219#242#248#1#111#72;
+    opcode  : A_VDPPD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#65#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#127#65;
+    opcode  : A_VDPPS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#64#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #219#242#244#248#1#127#65;
+    opcode  : A_VDPPS;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#64#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVHLPS;
+    opcode  : A_VEXTRACTF128;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #242#248#1#18#61#80;
+    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#25#65#22;
     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;
+    opcode  : A_VEXTRACTPS;
+    ops     : 3;
+    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_VMOVHPD;
+    opcode  : A_VEXTRACTPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none);
-    code    : #241#242#248#1#22#61#80;
+    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);
+    code    : #241#242#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVHPS;
+    opcode  : A_VHADDPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none);
-    code    : #242#248#1#22#61#80;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVHPS;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#23#65;
+    opcode  : A_VHADDPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#242#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVLHPS;
+    opcode  : A_VHADDPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #242#248#1#22#61#80;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #220#242#244#248#1#124#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;
+    opcode  : A_VHSUBPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVLPD;
+    opcode  : A_VHSUBPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none);
-    code    : #241#242#248#1#18#61#80;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVLPS;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#19#65;
+    opcode  : A_VHSUBPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#242#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVLPS;
+    opcode  : A_VHSUBPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none);
-    code    : #242#248#1#18#61#80;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #220#242#244#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPD;
-    ops     : 2;
-    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#80#72;
+    opcode  : A_VINSERTF128;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#24#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPD;
+    opcode  : A_VINSERTPS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8);
+    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    : #232#241#242#250#1#33#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VLDDQU;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#80#72;
+    optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none);
+    code    : #220#242#248#1#240#72;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPD;
+    opcode  : A_VLDDQU;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#80#72;
+    optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_none,ot_none);
+    code    : #220#242#244#248#1#240#72;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPD;
+    opcode  : A_VLDMXCSR;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
+    code    : #242#248#1#174#130;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVDQU;
     ops     : 2;
-    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#80#72;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#247#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#244#249#1#47#61#66;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#249#1#47#61#66;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#244#249#1#45#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#249#1#45#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#244#249#1#46#61#66;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#249#1#46#61#66;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#244#249#1#44#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#80#72;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#249#1#44#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMAXPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_VMOVAPS;
+    ops     : 2;
+    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    : #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_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_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_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;
+    ops     : 2;
+    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQA;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQA;
+    ops     : 2;
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQA;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #219#242#244#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #219#242#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
+    code    : #219#242#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
+    code    : #219#242#244#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVHLPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
+    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    : #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    : #232#234#241#242#248#1#22#61#80;
+    flags   : [if_avx,if_sandybridge,if_t1s]
+  ),
+  (
+    opcode  : A_VMOVHPS;
+    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     : 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    : #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    : #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    : #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    : #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    : #232#242#248#1#18#61#80;
+    flags   : [if_avx,if_sandybridge,if_t2]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
+    code    : #242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
+    code    : #242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
+    code    : #242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
+    code    : #242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVNTDQ;
+    ops     : 2;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none);
+    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    : #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    : #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    : #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    : #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    : #232#242#248#1#43#65;
+    flags   : [if_avx,if_sandybridge,if_tfvm]
+  ),
+  (
+    opcode  : A_VMOVNTPS;
+    ops     : 2;
+    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_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_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    : #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    : #219#232#234#242#248#1#126#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVQ;
+    ops     : 2;
+    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     : 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_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_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     : 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_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_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_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_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     : 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_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_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     : 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_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_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_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_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_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_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_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_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);
+    code    : #241#242#250#1#66#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMPSADBW;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#66#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VMULPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#219#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPAND;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#219#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPANDN;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#223#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPANDN;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#223#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPAVGB;
+    ops     : 3;
+    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_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_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_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;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
+    code    : #241#242#250#1#76#61#80#247;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPBLENDVB;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_ymmreg);
+    code    : #241#242#244#250#1#76#61#80#247;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBLENDW;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#14#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPBLENDW;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#14#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPCLMULQDQ;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#116#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPCMPEQB;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#116#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPEQD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#118#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPEQQ;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#41#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPEQW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#117#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPCMPESTRI;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#97#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPCMPESTRM;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#96#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTB;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#100#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#102#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTQ;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#55#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#101#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPCMPISTRI;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#99#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPCMPISTRM;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#98#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPERM2F128;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#6#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPERMILPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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    : #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    : #232#241#242#250#1#20#65#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPEXTRB;
+    ops     : 3;
+    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    : #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    : #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_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_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    : #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    : #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    : #232#241#242#248#1#197#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#2#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#2#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHADDSW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#3#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDSW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#3#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHADDW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#1#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#1#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHMINPOSUW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#65#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#6#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#6#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHSUBSW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#7#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBSW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#7#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHSUBW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#5#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#5#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPINSRB;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8);
+    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    : #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    : #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    : #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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 2;
+    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#215#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPMOVMSKB;
+    ops     : 2;
+    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#215#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPMOVMSKB;
+    ops     : 2;
+    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#215#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMOVMSKB;
+    ops     : 2;
+    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#215#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMOVSXBD;
+    ops     : 2;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#235#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPOR;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#235#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSADBW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    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    : #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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#8#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPSIGNB;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#8#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSIGND;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#10#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPSIGND;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#10#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSIGNW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#9#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPSIGNW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#9#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSLLD;
+    ops     : 3;
+    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_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_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_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    : #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    : #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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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    : #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    : #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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#249#1#23#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPTEST;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#23#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPUNPCKHBW;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#239#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPXOR;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#239#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VRCPPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #242#248#1#83#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRCPPS;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #242#244#248#1#83#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRCPSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #219#242#248#1#83#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRCPSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #219#242#248#1#83#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#9#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#9#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPS;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#8#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#8#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#11#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#11#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#10#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#10#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTPS;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #242#244#248#1#82#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #242#248#1#82#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #219#242#248#1#82#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #219#242#248#1#82#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VSHUFPD;
+    ops     : 4;
+    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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
+    code    : #242#248#1#174#131;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VSUBPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#15#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VTESTPD;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#249#1#15#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VTESTPS;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#249#1#14#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VTESTPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#14#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VUCOMISD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
+    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_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    : #232#242#248#1#46#72;
+    flags   : [if_avx,if_sandybridge,if_t1s]
+  ),
+  (
+    opcode  : A_VUCOMISS;
+    ops     : 2;
+    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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #242#244#248#1#119;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VZEROUPPER;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #242#248#1#119;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_ANDN;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #242#249#1#242#61#80;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BEXTR;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #242#249#1#247#62#72;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BLSI;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #242#249#1#243#60#139;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BLSMSK;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #242#249#1#243#60#138;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BLSR;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #242#249#1#243#60#137;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_TZCNT;
+    ops     : 2;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_rm_gpr,ot_none,ot_none);
+    code    : #208#219#2#15#188#72;
+    flags   : [if_bmi1,if_sm]
+  ),
+  (
+    opcode  : A_BZHI;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #242#249#1#245#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_MULX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #220#242#249#1#246#61#80;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_PDEP;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #220#242#249#1#245#61#80;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_PEXT;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #219#242#249#1#245#61#80;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_RORX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_immediate or ot_bits8,ot_none);
+    code    : #220#242#250#1#240#72#22;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_SARX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #219#242#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_SHLX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #241#242#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_SHRX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #220#242#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_ADCX;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #241#3#15#56#246#72;
+    flags   : [if_adx]
+  ),
+  (
+    opcode  : A_ADOX;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #219#3#15#56#246#72;
+    flags   : [if_adx]
+  ),
+  (
+    opcode  : A_VBROADCASTI128;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none);
+    code    : #241#242#244#249#1#90#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VEXTRACTI128;
+    ops     : 3;
+    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#57#65#22;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VINSERTI128;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#56#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBLENDD;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#2#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBLENDD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#2#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBROADCASTB;
+    ops     : 2;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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);
+    code    : #241#242#244#250#1#70#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPERMD;
+    ops     : 3;
+    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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#244#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#244#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#243#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#243#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#243#244#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#243#244#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSLLVD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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);
+    code    : #241#242#249#1#146#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#243#249#1#147#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#249#1#147#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VGATHERQPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
+    code    : #241#242#244#249#1#147#62#72;
+    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);
+    code    : #241#242#249#1#144#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#243#249#1#144#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#249#1#145#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPGATHERQD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
+    code    : #241#242#244#249#1#145#62#72;
+    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);
+    code    : #241#242#243#249#1#145#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #2#15#32;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_BRKEM;
+    ops     : 1;
+    optypes : (ot_immediate,ot_none,ot_none,ot_none);
+    code    : #2#15#255#20;
+    flags   : [if_nec,if_sb,if_16bitonly]
+  ),
+  (
+    opcode  : A_CLR1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits8,ot_reg_cl,ot_none,ot_none);
+    code    : #2#15#18#128;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_CLR1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits16,ot_reg_cl,ot_none,ot_none);
+    code    : #2#15#19#128;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_CLR1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits8,ot_immediate,ot_none,ot_none);
+    code    : #2#15#26#128#21;
+    flags   : [if_nec,if_sb,if_imm3,if_16bitonly]
+  ),
+  (
+    opcode  : A_CLR1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits16,ot_immediate,ot_none,ot_none);
+    code    : #2#15#27#128#21;
+    flags   : [if_nec,if_sw,if_imm4,if_16bitonly]
+  ),
+  (
+    opcode  : A_CMP4S;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #2#15#38;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_EXT;
+    ops     : 2;
+    optypes : (ot_reg8,ot_reg8,ot_none,ot_none);
+    code    : #2#15#51#65;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_EXT;
+    ops     : 2;
+    optypes : (ot_reg8,ot_immediate,ot_none,ot_none);
+    code    : #2#15#59#128#21;
+    flags   : [if_nec,if_sb,if_imm4,if_16bitonly]
+  ),
+  (
+    opcode  : A_NEC_INS;
+    ops     : 2;
+    optypes : (ot_reg8,ot_reg8,ot_none,ot_none);
+    code    : #2#15#49#65;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_NEC_INS;
+    ops     : 2;
+    optypes : (ot_reg8,ot_immediate,ot_none,ot_none);
+    code    : #2#15#57#128#21;
+    flags   : [if_nec,if_sb,if_imm4,if_16bitonly]
+  ),
+  (
+    opcode  : A_NOT1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits8,ot_reg_cl,ot_none,ot_none);
+    code    : #2#15#22#128;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_NOT1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits16,ot_reg_cl,ot_none,ot_none);
+    code    : #2#15#23#128;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_NOT1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits8,ot_immediate,ot_none,ot_none);
+    code    : #2#15#30#128#21;
+    flags   : [if_nec,if_sb,if_imm3,if_16bitonly]
+  ),
+  (
+    opcode  : A_NOT1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits16,ot_immediate,ot_none,ot_none);
+    code    : #2#15#31#128#21;
+    flags   : [if_nec,if_sw,if_imm4,if_16bitonly]
+  ),
+  (
+    opcode  : A_REPC;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #1#101;
+    flags   : [if_nec,if_pre,if_16bitonly]
+  ),
+  (
+    opcode  : A_REPNC;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #1#100;
+    flags   : [if_nec,if_pre,if_16bitonly]
+  ),
+  (
+    opcode  : A_ROL4;
+    ops     : 1;
+    optypes : (ot_rm_gpr or ot_bits8,ot_none,ot_none,ot_none);
+    code    : #2#15#40#128;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_ROR4;
+    ops     : 1;
+    optypes : (ot_rm_gpr or ot_bits8,ot_none,ot_none,ot_none);
+    code    : #2#15#42#128;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_SET1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits8,ot_reg_cl,ot_none,ot_none);
+    code    : #2#15#20#128;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_SET1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits16,ot_reg_cl,ot_none,ot_none);
+    code    : #2#15#21#128;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_SET1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits8,ot_immediate,ot_none,ot_none);
+    code    : #2#15#28#128#21;
+    flags   : [if_nec,if_sb,if_imm3,if_16bitonly]
+  ),
+  (
+    opcode  : A_SET1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits16,ot_immediate,ot_none,ot_none);
+    code    : #2#15#29#128#21;
+    flags   : [if_nec,if_sw,if_imm4,if_16bitonly]
+  ),
+  (
+    opcode  : A_SUB4S;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #2#15#34;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_TEST1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits8,ot_reg_cl,ot_none,ot_none);
+    code    : #2#15#16#128;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_TEST1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits16,ot_reg_cl,ot_none,ot_none);
+    code    : #2#15#17#128;
+    flags   : [if_nec,if_16bitonly]
+  ),
+  (
+    opcode  : A_TEST1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits8,ot_immediate,ot_none,ot_none);
+    code    : #2#15#24#128#21;
+    flags   : [if_nec,if_sb,if_imm3,if_16bitonly]
+  ),
+  (
+    opcode  : A_TEST1;
+    ops     : 2;
+    optypes : (ot_rm_gpr or ot_bits16,ot_immediate,ot_none,ot_none);
+    code    : #2#15#25#128#21;
+    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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#152#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADD132PD;
+    ops     : 3;
+    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_VFMADD132PD;
+    ops     : 3;
+    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_VFMADD132PD;
+    ops     : 3;
+    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_VFMADD132PD;
+    ops     : 3;
+    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_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_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_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_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_VFMADD132SS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#168#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADD213PS;
+    ops     : 3;
+    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_VFMADD213PS;
+    ops     : 3;
+    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_VFMADD213PS;
+    ops     : 3;
+    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_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_VFMADD213SD;
+    ops     : 3;
+    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_VFMADD213SS;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#150#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    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_VFMADDSUB132PD;
+    ops     : 3;
+    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_VFMADDSUB132PD;
+    ops     : 3;
+    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_VFMADDSUB132PD;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#166#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#182#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_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_VFMSUB132SD;
+    ops     : 3;
+    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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#170#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    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_VFMSUB213PD;
+    ops     : 3;
+    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_VFMSUB213PD;
+    ops     : 3;
+    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_VFMSUB213PD;
+    ops     : 3;
+    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_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_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#170#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    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_VFMSUB213PS;
+    ops     : 3;
+    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_VFMSUB213PS;
+    ops     : 3;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#242#243#249#1#171#61#80;
+    flags   : [if_fma]
+  ),
+  (
+    opcode  : A_VFMSUB213SD;
+    ops     : 3;
+    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_VFMSUB213SS;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#156#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    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_VFNMADD132PD;
+    ops     : 3;
+    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_VFNMADD132PD;
+    ops     : 3;
+    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_VFNMADD132PD;
+    ops     : 3;
+    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_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_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_VFNMADD132SS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#172#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    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_VFNMADD213PS;
+    ops     : 3;
+    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_VFNMADD213PS;
+    ops     : 3;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#242#243#249#1#173#61#80;
+    flags   : [if_fma]
+  ),
+  (
+    opcode  : A_VFNMADD213SD;
+    ops     : 3;
+    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_VFNMADD213SS;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#158#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMSUB132PD;
+    ops     : 3;
+    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_VFNMSUB132PD;
+    ops     : 3;
+    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_VFNMSUB132PD;
+    ops     : 3;
+    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_VFNMSUB132PD;
+    ops     : 3;
+    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_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_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_VFNMSUB132SS;
+    ops     : 3;
+    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_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_VFNMSUB213SS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#190#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMSUB231PS;
+    ops     : 3;
+    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_VFNMSUB231PS;
+    ops     : 3;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#242#243#249#1#191#61#80;
+    flags   : [if_fma]
+  ),
+  (
+    opcode  : A_VFNMSUB231SD;
+    ops     : 3;
+    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_VFNMSUB231SS;
+    ops     : 3;
+    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_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;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #1#242;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XRELEASE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #1#243;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XBEGIN;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none,ot_none);
+    code    : #208#2#199#248#52;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XABORT;
+    ops     : 1;
+    optypes : (ot_immediate,ot_none,ot_none,ot_none);
+    code    : #2#198#248#20;
+    flags   : [if_tsx,if_sb]
+  ),
+  (
+    opcode  : A_XEND;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #3#15#1#213;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XTEST;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #3#15#1#214;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_RDRAND;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
+    code    : #208#2#15#199#134;
+    flags   : [if_rand]
+  ),
+  (
+    opcode  : A_RDSEED;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
+    code    : #208#2#15#199#135;
+    flags   : [if_rand]
+  ),
+  (
+    opcode  : A_XGETBV;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #3#15#1#208;
+    flags   : [if_xsave]
+  ),
+  (
+    opcode  : A_PREFETCHWT1;
+    ops     : 1;
+    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_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#80#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#80#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#80#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VMOVNTPD;
-    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]
+    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_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]
+    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_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]
+    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_VMOVQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#219#248#1#126#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VMOVQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#241#248#1#214#65;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_VMOVSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#17#61#66;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVSD;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVSHDUP;
+    opcode  : A_VPCOMPRESSD;
     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_mem128_m,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#249#1#139#65;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VMOVSHDUP;
+    opcode  : A_VPCOMPRESSD;
     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_mem256_m,ot_ymmreg,ot_none,ot_none);
+    code    : #232#241#244#249#1#139#65;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VMOVSLDUP;
+    opcode  : A_VPCOMPRESSD;
     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_mem512_m,ot_zmmreg,ot_none,ot_none);
+    code    : #232#233#241#249#1#139#65;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VMOVSLDUP;
+    opcode  : A_VPCOMPRESSD;
     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_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#249#1#139#65;
+    flags   : [if_avx512]
   ),
   (
-    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]
+    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_VMOVSS;
+    opcode  : A_VPCOMPRESSD;
     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_zmmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #232#233#241#249#1#139#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VMOVSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#17#61#66;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVSS;
+    opcode  : A_VPCOMPRESSQ;
     ops     : 2;
-    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPD;
+    opcode  : A_VPCOMPRESSQ;
     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_mem512_m,ot_zmmreg,ot_none,ot_none);
+    code    : #232#233#234#241#249#1#139#65;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VMOVUPD;
+    opcode  : A_VPCOMPRESSQ;
     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_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#234#241#249#1#139#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VMOVUPD;
+    opcode  : A_VPCOMPRESSQ;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none);
+    code    : #232#234#241#244#249#1#139#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VMOVUPD;
+    opcode  : A_VPCOMPRESSQ;
     ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #232#233#234#241#249#1#139#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VMOVUPS;
+    opcode  : A_VPCONFLICTD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_xmmrm,ot_none,ot_none);
+    code    : #232#241#249#1#196#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VMOVUPS;
+    opcode  : A_VPCONFLICTD;
     ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#241#249#1#196#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VMOVUPS;
+    opcode  : A_VPCONFLICTD;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPS;
+    opcode  : A_VPCONFLICTD;
     ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMPSADBW;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#66#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VMPSADBW;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#66#61#80#23;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_VMULPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#89#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_VMULSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#89#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMULSS;
+    opcode  : A_VPERMB;
     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_xmmrm,ot_none);
+    code    : #232#241#249#1#141#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VMULSS;
+    opcode  : A_VPERMB;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#89#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VORPD;
+    opcode  : A_VPERMB;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#141#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VORPS;
+    opcode  : A_VPERMI2B;
     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#241#249#1#117#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VORPS;
+    opcode  : A_VPERMI2B;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #242#244#248#1#86#61#80;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    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]
-  ),
-  (
-    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]
-  ),
-  (
-    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]
-  ),
-  (
-    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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#117#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    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]
+    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_VPABSW;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#29#72;
-    flags   : [if_avx2]
+    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_VPACKSSDW;
+    opcode  : A_VPERMI2D;
     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_bmem32,ot_none);
+    code    : #232#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPACKSSDW;
+    opcode  : A_VPERMI2D;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPACKSSWB;
+    opcode  : A_VPERMI2D;
     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_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPACKSSWB;
+    opcode  : A_VPERMI2D;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPACKUSDW;
+    opcode  : A_VPERMI2D;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPACKUSDW;
+    opcode  : A_VPERMI2PD;
     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_xmmrm,ot_none);
+    code    : #232#234#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPACKUSWB;
+    opcode  : A_VPERMI2PD;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPACKUSWB;
+    opcode  : A_VPERMI2PD;
     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#234#241#244#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDB;
+    opcode  : A_VPERMI2PD;
     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_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_VPADDB;
+    opcode  : A_VPERMI2PD;
     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_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_VPADDD;
+    opcode  : A_VPERMI2PD;
     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_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_VPADDD;
+    opcode  : A_VPERMI2PS;
     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_xmmrm,ot_none);
+    code    : #232#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDQ;
+    opcode  : A_VPERMI2PS;
     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_bmem32,ot_none);
+    code    : #232#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDQ;
+    opcode  : A_VPERMI2PS;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDSB;
+    opcode  : A_VPERMI2PS;
     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_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDSB;
+    opcode  : A_VPERMI2PS;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDSW;
+    opcode  : A_VPERMI2PS;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDSW;
+    opcode  : A_VPERMI2Q;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDUSB;
+    opcode  : A_VPERMI2Q;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDUSB;
+    opcode  : A_VPERMI2Q;
     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#234#241#244#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDUSW;
+    opcode  : A_VPERMI2Q;
     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_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_VPADDUSW;
+    opcode  : A_VPERMI2Q;
     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_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_VPADDW;
+    opcode  : A_VPERMI2Q;
     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_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_VPADDW;
+    opcode  : A_VPERMI2W;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#117#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]
+    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_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]
+    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_VPAND;
+    opcode  : A_VPERMT2B;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#219#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPAND;
+    opcode  : A_VPERMT2B;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#219#61#80;
-    flags   : [if_avx2]
+    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_VPANDN;
+    opcode  : A_VPERMT2B;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#223#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPANDN;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#223#61#80;
-    flags   : [if_avx2]
+    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_VPAVGB;
+    opcode  : A_VPERMT2D;
     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_bmem32,ot_none);
+    code    : #232#241#249#1#126#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPAVGB;
+    opcode  : A_VPERMT2D;
     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#244#249#1#126#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPAVGW;
+    opcode  : A_VPERMT2D;
     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_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#126#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPAVGW;
+    opcode  : A_VPERMT2D;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#126#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPBLENDVB;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
-    code    : #241#242#250#1#76#61#80#247;
-    flags   : [if_avx,if_sandybridge]
+    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_VPBLENDVB;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_ymmreg);
-    code    : #241#242#244#250#1#76#61#80#247;
-    flags   : [if_avx2]
+    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_VPBLENDW;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#14#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VPBLENDW;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#14#61#80#23;
-    flags   : [if_avx2]
+    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_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]
+    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_VPCMPEQB;
+    opcode  : A_VPERMT2PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#116#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQB;
+    opcode  : A_VPERMT2PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#116#61#80;
-    flags   : [if_avx2]
+    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_VPCMPEQD;
+    opcode  : A_VPERMT2PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#118#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQD;
+    opcode  : A_VPERMT2PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#118#61#80;
-    flags   : [if_avx2]
+    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_VPCMPEQQ;
+    opcode  : A_VPERMT2PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#41#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQQ;
+    opcode  : A_VPERMT2PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#41#61#80;
-    flags   : [if_avx2]
+    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_VPCMPEQW;
+    opcode  : A_VPERMT2PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#117#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQW;
+    opcode  : A_VPERMT2PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#117#61#80;
-    flags   : [if_avx2]
+    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_VPCMPESTRI;
+    opcode  : A_VPERMT2Q;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#97#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPESTRM;
+    opcode  : A_VPERMT2Q;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#96#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTB;
+    opcode  : A_VPERMT2Q;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#100#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTB;
+    opcode  : A_VPERMT2Q;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#100#61#80;
-    flags   : [if_avx2]
+    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_VPCMPGTD;
+    opcode  : A_VPERMT2Q;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#102#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTD;
+    opcode  : A_VPERMT2Q;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#102#61#80;
-    flags   : [if_avx2]
+    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_VPCMPGTQ;
+    opcode  : A_VPERMT2W;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#55#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTQ;
+    opcode  : A_VPERMT2W;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#55#61#80;
-    flags   : [if_avx2]
+    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_VPCMPGTW;
+    opcode  : A_VPERMT2W;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#101#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTW;
+    opcode  : A_VPERMW;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#101#61#80;
-    flags   : [if_avx2]
+    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_VPCMPISTRI;
+    opcode  : A_VPERMW;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#99#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPISTRM;
+    opcode  : A_VPERMW;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#98#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPERM2F128;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#6#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPEXTRB;
-    ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#20#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRB;
-    ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#20#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
-    ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#248#1#197#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
-    ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#248#1#197#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
-    ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#21#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
+    opcode  : A_VPMADD52HUQ;
     ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#21#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
+    opcode  : A_VPMADD52HUQ;
     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;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDD;
+    opcode  : A_VPMADD52HUQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#2#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDD;
+    opcode  : A_VPMADD52HUQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#2#61#80;
-    flags   : [if_avx2]
+    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_VPHADDSW;
+    opcode  : A_VPMADD52HUQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#3#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDSW;
+    opcode  : A_VPMADD52HUQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#3#61#80;
-    flags   : [if_avx2]
+    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_VPHADDW;
+    opcode  : A_VPMADD52LUQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#1#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDW;
+    opcode  : A_VPMADD52LUQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#1#61#80;
-    flags   : [if_avx2]
+    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_VPHMINPOSUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#65#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBD;
+    opcode  : A_VPMADD52LUQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#6#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBD;
+    opcode  : A_VPMADD52LUQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#6#61#80;
-    flags   : [if_avx2]
+    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_VPHSUBSW;
+    opcode  : A_VPMADD52LUQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#7#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBSW;
+    opcode  : A_VPMAXSQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#7#61#80;
-    flags   : [if_avx2]
+    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_VPHSUBW;
+    opcode  : A_VPMAXSQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#5#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBW;
+    opcode  : A_VPMAXSQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#5#61#80;
-    flags   : [if_avx2]
+    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_VPINSRB;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#32#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMADDUBSW;
+    opcode  : A_VPMAXUQ;
     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_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_VPMADDUBSW;
+    opcode  : A_VPMAXUQ;
     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_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_VPMADDWD;
+    opcode  : A_VPMAXUQ;
     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_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_VPMADDWD;
+    opcode  : A_VPMINSQ;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#57#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXSB;
+    opcode  : A_VPMINSQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#57#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXSB;
+    opcode  : A_VPMINSQ;
     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#234#241#244#249#1#57#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXSD;
+    opcode  : A_VPMINSQ;
     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_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_VPMAXSD;
+    opcode  : A_VPMINSQ;
     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_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_VPMAXSW;
+    opcode  : A_VPMINSQ;
     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_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_VPMAXSW;
+    opcode  : A_VPMINUQ;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#59#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXUB;
+    opcode  : A_VPMINUQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#59#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXUB;
+    opcode  : A_VPMINUQ;
     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#234#241#244#249#1#59#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXUD;
+    opcode  : A_VPMINUQ;
     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_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_VPMAXUD;
+    opcode  : A_VPMINUQ;
     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_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_VPMAXUW;
+    opcode  : A_VPMINUQ;
     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_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_VPMAXUW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#62#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINSB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#56#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINSD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#57#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINSW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#234#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINUB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#218#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINUD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#59#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMINUW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#58#61#80;
-    flags   : [if_avx2]
+    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_VPMOVMSKB;
+    opcode  : A_VPMOVDW;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#215#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVMSKB;
+    opcode  : A_VPMOVDW;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#215#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#51#65;
+    flags   : [if_avx512,if_thvm]
   ),
   (
-    opcode  : A_VPMOVMSKB;
+    opcode  : A_VPMOVDW;
     ops     : 2;
-    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#215#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#51#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVMSKB;
+    opcode  : A_VPMOVDW;
     ops     : 2;
-    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#215#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#51#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBD;
+    opcode  : A_VPMOVDW;
     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_ymmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#51#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBD;
+    opcode  : A_VPMOVM2B;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#33#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBD;
+    opcode  : A_VPMOVM2B;
     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,ot_kreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBD;
+    opcode  : A_VPMOVM2B;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #241#242#244#249#1#33#72;
-    flags   : [if_avx2]
+    optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVM2D;
     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,ot_kreg,ot_none,ot_none);
+    code    : #219#232#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVM2D;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#34#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVM2D;
     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_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVM2Q;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#34#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBW;
+    opcode  : A_VPMOVM2Q;
     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_ymmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#244#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBW;
+    opcode  : A_VPMOVM2Q;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#32#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#234#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBW;
+    opcode  : A_VPMOVM2W;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#32#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXDQ;
+    opcode  : A_VPMOVM2W;
     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_ymmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#244#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXDQ;
+    opcode  : A_VPMOVM2W;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#37#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#234#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXDQ;
+    opcode  : A_VPMOVQ2M;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#37#72;
-    flags   : [if_avx2]
+    optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#234#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWD;
+    opcode  : A_VPMOVQ2M;
     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_kreg,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#234#244#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWD;
+    opcode  : A_VPMOVQ2M;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#35#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#234#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWD;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#35#72;
-    flags   : [if_avx2]
+    optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#50#65;
+    flags   : [if_avx512,if_tovm]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVQB;
     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_mem32_m,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#50#65;
+    flags   : [if_avx512,if_tovm]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#36#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVSXWQ;
+    opcode  : A_VPMOVQB;
     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_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#50#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#36#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#50#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBD;
+    opcode  : A_VPMOVQB;
     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_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#50#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBD;
+    opcode  : A_VPMOVQD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#49#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVZXBD;
+    opcode  : A_VPMOVQD;
     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_mem256_m,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#53#65;
+    flags   : [if_avx512,if_thvm]
   ),
   (
-    opcode  : A_VPMOVZXBD;
+    opcode  : A_VPMOVQD;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#49#72;
-    flags   : [if_avx2]
+    optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#53#65;
+    flags   : [if_avx512,if_thvm]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVQD;
     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_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#53#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVQD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#50#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#53#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVQD;
     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_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#53#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVQW;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#50#72;
-    flags   : [if_avx2]
+    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_VPMOVZXBW;
+    opcode  : A_VPMOVQW;
     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_mem32_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#52#65;
+    flags   : [if_avx512,if_tqvm]
   ),
   (
-    opcode  : A_VPMOVZXBW;
+    opcode  : A_VPMOVQW;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#48#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVZXBW;
+    opcode  : A_VPMOVQW;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#48#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#52#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXDQ;
+    opcode  : A_VPMOVQW;
     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_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#52#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXDQ;
+    opcode  : A_VPMOVQW;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#53#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#52#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXDQ;
+    opcode  : A_VPMOVSDB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#53#72;
-    flags   : [if_avx2]
+    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_VPMOVZXWD;
+    opcode  : A_VPMOVSDB;
     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_mem32_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#33#65;
+    flags   : [if_avx512,if_tqvm]
   ),
   (
-    opcode  : A_VPMOVZXWD;
+    opcode  : A_VPMOVSDB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#51#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVZXWD;
+    opcode  : A_VPMOVSDB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#51#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#33#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXWQ;
+    opcode  : A_VPMOVSDB;
     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_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#33#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXWQ;
+    opcode  : A_VPMOVSDB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#52#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#33#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXWQ;
+    opcode  : A_VPMOVSDW;
     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_mem128_m,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#35#65;
+    flags   : [if_avx512,if_thvm]
   ),
   (
-    opcode  : A_VPMOVZXWQ;
+    opcode  : A_VPMOVSDW;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#52#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULDQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#40#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULHRSW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#11#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULHUW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#228#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULHW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#229#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULLD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#64#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULLW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#213#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULUDQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#244#61#80;
-    flags   : [if_avx2]
+    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_VPOR;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#235#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPOR;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#235#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSADBW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#246#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSHUFB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#0#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSIGNB;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#8#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPSIGNB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#8#61#80;
-    flags   : [if_avx2]
+    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_VPSIGND;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#10#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPSIGND;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#10#61#80;
-    flags   : [if_avx2]
+    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_VPSIGNW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#9#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPSIGNW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#9#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSLLD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#242#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSLLQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#243#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSLLW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#241#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRAD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#226#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRAW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#225#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRLD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#210#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRLQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#211#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRLW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#209#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#248#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBD;
+    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_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_xmmrm,ot_none);
+    code    : #232#234#241#249#1#64#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBQ;
+    opcode  : A_VPMULLQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#64#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBQ;
+    opcode  : A_VPMULLQ;
     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_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_VPSUBSB;
+    opcode  : A_VPMULLQ;
     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_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_VPSUBSB;
+    opcode  : A_VPMULLQ;
     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_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_VPSUBSW;
+    opcode  : A_VPMULLQ;
     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_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_VPSUBSW;
+    opcode  : A_VPMULTISHIFTQB;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#131#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBUSB;
+    opcode  : A_VPMULTISHIFTQB;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#131#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBUSB;
+    opcode  : A_VPMULTISHIFTQB;
     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#234#241#244#249#1#131#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSUBUSW;
+    opcode  : A_VPMULTISHIFTQB;
     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_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_VPSUBUSW;
+    opcode  : A_VPMULTISHIFTQB;
     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_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_VPSUBW;
+    opcode  : A_VPMULTISHIFTQB;
     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_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_VPSUBW;
+    opcode  : A_VPORD;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPTEST;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#23#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPTEST;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#23#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPUNPCKHBW;
+    opcode  : A_VPORD;
     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_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKHBW;
+    opcode  : A_VPORD;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKHDQ;
+    opcode  : A_VPORD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKHDQ;
+    opcode  : A_VPORQ;
     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_xmmrm,ot_none);
+    code    : #232#234#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKHQDQ;
+    opcode  : A_VPORQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKHQDQ;
+    opcode  : A_VPORQ;
     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_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_VPUNPCKHWD;
+    opcode  : A_VPORQ;
     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_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_VPUNPCKHWD;
+    opcode  : A_VPORQ;
     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_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_VPUNPCKLBW;
+    opcode  : A_VPORQ;
     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_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_VPUNPCKLBW;
+    opcode  : A_VPROLD;
     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_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_VPUNPCKLDQ;
+    opcode  : A_VPROLD;
     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_bmem32,ot_immediate or ot_bits8,ot_none);
+    code    : #232#241#248#1#114#60#137#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKLDQ;
+    opcode  : A_VPROLD;
     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_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_VPUNPCKLQDQ;
+    opcode  : A_VPROLD;
     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_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_VPUNPCKLQDQ;
+    opcode  : A_VPROLD;
     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_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_VPUNPCKLWD;
+    opcode  : A_VPROLD;
     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_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_VPUNPCKLWD;
+    opcode  : A_VPROLQ;
     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_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_VPXOR;
+    opcode  : A_VPROLQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#239#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPXOR;
+    opcode  : A_VPROLQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#239#61#80;
-    flags   : [if_avx2]
+    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_VRCPPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#83#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRCPPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#83#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRCPSS;
+    opcode  : A_VPROLQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#83#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VRCPSS;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#83#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPD;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#9#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPD;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#9#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPS;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#8#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPS;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#8#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#11#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#11#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSS;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#10#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSS;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#10#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#82#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#82#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTSS;
+    opcode  : A_VPROLVQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#82#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTSS;
+    opcode  : A_VPRORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#82#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VSQRTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#81#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VSQRTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#81#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#81#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTSD;
+    opcode  : A_VPRORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none);
-    code    : #220#242#248#1#81#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTSD;
+    opcode  : A_VPRORQ;
     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_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_VSQRTSS;
+    opcode  : A_VPRORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#81#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTSS;
+    opcode  : A_VPRORVD;
     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_xmmrm,ot_none);
+    code    : #232#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSTMXCSR;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
-    code    : #242#248#1#174#131;
-    flags   : [if_avx,if_sandybridge]
+    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_VSUBPD;
+    opcode  : A_VPRORVD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBPD;
+    opcode  : A_VPRORVD;
     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_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBPS;
+    opcode  : A_VPRORVD;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBPS;
+    opcode  : A_VPRORVD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBSD;
+    opcode  : A_VPRORVQ;
     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_xmmrm,ot_none);
+    code    : #232#234#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBSD;
+    opcode  : A_VPRORVQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBSS;
+    opcode  : A_VPRORVQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#92#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VSUBSS;
+    opcode  : A_VPRORVQ;
     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_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_VTESTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#15#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VTESTPD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#15#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VTESTPS;
+    opcode  : A_VPSCATTERDD;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#14#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#249#1#160#65;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VTESTPS;
+    opcode  : A_VPSCATTERDD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#14#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VUCOMISD;
+    opcode  : A_VPSCATTERDD;
     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]
+    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_VUCOMISD;
+    opcode  : A_VPSCATTERDQ;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#46#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VUCOMISS;
+    opcode  : A_VPSCATTERDQ;
     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]
+    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_VUCOMISS;
+    opcode  : A_VPSCATTERDQ;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#46#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_VUNPCKHPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#21#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_VUNPCKLPS;
+    opcode  : A_VPSLLVW;
     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#234#241#249#1#18#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VUNPCKLPS;
+    opcode  : A_VPSLLVW;
     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_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_VXORPD;
+    opcode  : A_VPSLLVW;
     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_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_VXORPD;
+    opcode  : A_VPSRAQ;
     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_xmmrm,ot_none);
+    code    : #232#234#241#248#1#226#61#80;
+    flags   : [if_avx512,if_tmem128]
   ),
   (
-    opcode  : A_VXORPS;
+    opcode  : A_VPSRAQ;
     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_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_VXORPS;
+    opcode  : A_VPSRAQ;
     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_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_VZEROALL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #242#244#248#1#119;
-    flags   : [if_avx,if_sandybridge]
+    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_VZEROUPPER;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #242#248#1#119;
-    flags   : [if_avx,if_sandybridge]
+    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_ANDN;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #242#249#1#242#61#80;
-    flags   : [if_bmi1,if_prot]
+    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_BEXTR;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #242#249#1#247#62#72;
-    flags   : [if_bmi1,if_prot]
+    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_BLSI;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #242#249#1#243#60#139;
-    flags   : [if_bmi1,if_prot]
+    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_BLSMSK;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #242#249#1#243#60#138;
-    flags   : [if_bmi1,if_prot]
+    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_BLSR;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #242#249#1#243#60#137;
-    flags   : [if_bmi1,if_prot]
+    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_TZCNT;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_rm_gpr,ot_none,ot_none);
-    code    : #208#219#2#15#188#72;
-    flags   : [if_bmi1,if_sm]
+    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_BZHI;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #242#249#1#245#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_MULX;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #220#242#249#1#246#61#80;
-    flags   : [if_bmi2,if_prot]
+    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_PDEP;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #220#242#249#1#245#61#80;
-    flags   : [if_bmi2,if_prot]
+    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_PEXT;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #219#242#249#1#245#61#80;
-    flags   : [if_bmi2,if_prot]
+    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_RORX;
+    opcode  : A_VPSRAVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_immediate or ot_bits8,ot_none);
-    code    : #220#242#250#1#240#72#22;
-    flags   : [if_bmi2,if_prot]
+    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_SARX;
+    opcode  : A_VPSRAVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #219#242#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_SHLX;
+    opcode  : A_VPSRAVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #241#242#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_SHRX;
+    opcode  : A_VPSRLVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #220#242#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_ADCX;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #241#3#15#56#246#72;
-    flags   : [if_adx]
+    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_ADOX;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #219#3#15#56#246#72;
-    flags   : [if_adx]
+    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_VBROADCASTI128;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none);
-    code    : #241#242#244#249#1#90#72;
-    flags   : [if_avx2]
+    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_VEXTRACTI128;
-    ops     : 3;
-    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#57#65#22;
-    flags   : [if_avx2]
+    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_VINSERTI128;
+    opcode  : A_VPTERNLOGD;
     ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#56#61#80#23;
-    flags   : [if_avx2]
+    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_VPBLENDD;
+    opcode  : A_VPTERNLOGD;
     ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#2#61#80#23;
-    flags   : [if_avx2]
+    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_VPBLENDD;
+    opcode  : A_VPTERNLOGD;
     ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#2#61#80#23;
-    flags   : [if_avx2]
+    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_VPBROADCASTB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#120#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTB;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#120#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTB;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits8,ot_none,ot_none);
-    code    : #241#242#244#249#1#120#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#88#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none);
-    code    : #241#242#249#1#88#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#88#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none);
-    code    : #241#242#244#249#1#88#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #241#242#249#1#89#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#89#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTQ;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#89#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#121#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTW;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#121#72;
-    flags   : [if_avx2]
+    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_VPERM2I128;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#70#61#80#23;
-    flags   : [if_avx2]
+    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_VPERMD;
+    opcode  : A_VPTESTMQ;
     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_kreg_m,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMPD;
+    opcode  : A_VPTESTMQ;
     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_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_VPERMPS;
+    opcode  : A_VPTESTMQ;
     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_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_VPERMQ;
+    opcode  : A_VPTESTMQ;
     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_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_VPMASKMOVD;
+    opcode  : A_VPTESTMQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPMASKMOVD;
+    opcode  : A_VPTESTMW;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVD;
+    opcode  : A_VPTESTMW;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#244#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPMASKMOVD;
+    opcode  : A_VPTESTMW;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMB;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#243#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMB;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMB;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#243#244#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPSLLVD;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #219#232#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSLLVD;
+    opcode  : A_VPTESTNMD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#71#61#80;
-    flags   : [if_avx2]
+    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_VPSLLVQ;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #219#232#244#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSLLVQ;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #219#232#233#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRAVD;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #219#232#233#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRAVD;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#70#61#80;
-    flags   : [if_avx2]
+    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_VPSRLVD;
+    opcode  : A_VPTESTNMQ;
     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_kreg_m,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #219#232#234#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRLVD;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#69#61#80;
-    flags   : [if_avx2]
+    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_VPSRLVQ;
+    opcode  : A_VPTESTNMQ;
     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_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_VPSRLVQ;
+    opcode  : A_VPTESTNMQ;
     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_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_VGATHERDPD;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERDPD;
+    opcode  : A_VPTESTNMW;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_xmem64,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERDPS;
+    opcode  : A_VPTESTNMW;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERDPS;
+    opcode  : A_VPTESTNMW;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymem32,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERQPD;
+    opcode  : A_VPXORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#147#62#72;
-    flags   : [if_avx2]
+    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_VGATHERQPD;
+    opcode  : A_VPXORD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#147#62#72;
-    flags   : [if_avx2]
+    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_VGATHERQPS;
+    opcode  : A_VPXORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#147#62#72;
-    flags   : [if_avx2]
+    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_VGATHERQPS;
+    opcode  : A_VPXORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
-    code    : #241#242#244#249#1#147#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERDD;
+    opcode  : A_VPXORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#144#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERDD;
+    opcode  : A_VPXORD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymem32,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#144#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERDQ;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#144#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERDQ;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_xmem64,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#144#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERQD;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERQD;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
-    code    : #241#242#244#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERQQ;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERQQ;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_ADD4S;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #2#15#32;
-    flags   : [if_nec,if_16bitonly]
+    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_BRKEM;
-    ops     : 1;
-    optypes : (ot_immediate,ot_none,ot_none,ot_none);
-    code    : #2#15#255#20;
-    flags   : [if_nec,if_sb,if_16bitonly]
+    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_CLR1;
-    ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits8,ot_reg_cl,ot_none,ot_none);
-    code    : #2#15#18#128;
-    flags   : [if_nec,if_16bitonly]
+    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_CLR1;
-    ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits16,ot_reg_cl,ot_none,ot_none);
-    code    : #2#15#19#128;
-    flags   : [if_nec,if_16bitonly]
+    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_CLR1;
-    ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits8,ot_immediate,ot_none,ot_none);
-    code    : #2#15#26#128#21;
-    flags   : [if_nec,if_sb,if_imm3,if_16bitonly]
+    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_CLR1;
-    ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits16,ot_immediate,ot_none,ot_none);
-    code    : #2#15#27#128#21;
-    flags   : [if_nec,if_sw,if_imm4,if_16bitonly]
+    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_CMP4S;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #2#15#38;
-    flags   : [if_nec,if_16bitonly]
+    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_EXT;
-    ops     : 2;
-    optypes : (ot_reg8,ot_reg8,ot_none,ot_none);
-    code    : #2#15#51#65;
-    flags   : [if_nec,if_16bitonly]
+    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_EXT;
-    ops     : 2;
-    optypes : (ot_reg8,ot_immediate,ot_none,ot_none);
-    code    : #2#15#59#128#21;
-    flags   : [if_nec,if_sb,if_imm4,if_16bitonly]
+    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_NEC_INS;
-    ops     : 2;
-    optypes : (ot_reg8,ot_reg8,ot_none,ot_none);
-    code    : #2#15#49#65;
-    flags   : [if_nec,if_16bitonly]
+    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_NEC_INS;
-    ops     : 2;
-    optypes : (ot_reg8,ot_immediate,ot_none,ot_none);
-    code    : #2#15#57#128#21;
-    flags   : [if_nec,if_sb,if_imm4,if_16bitonly]
+    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_NOT1;
-    ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits8,ot_reg_cl,ot_none,ot_none);
-    code    : #2#15#22#128;
-    flags   : [if_nec,if_16bitonly]
+    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_NOT1;
-    ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits16,ot_reg_cl,ot_none,ot_none);
-    code    : #2#15#23#128;
-    flags   : [if_nec,if_16bitonly]
+    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_NOT1;
-    ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits8,ot_immediate,ot_none,ot_none);
-    code    : #2#15#30#128#21;
-    flags   : [if_nec,if_sb,if_imm3,if_16bitonly]
+    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_NOT1;
-    ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits16,ot_immediate,ot_none,ot_none);
-    code    : #2#15#31#128#21;
-    flags   : [if_nec,if_sw,if_imm4,if_16bitonly]
+    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_REPC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #1#101;
-    flags   : [if_nec,if_pre,if_16bitonly]
+    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_REPNC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #1#100;
-    flags   : [if_nec,if_pre,if_16bitonly]
+    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_ROL4;
-    ops     : 1;
-    optypes : (ot_rm_gpr or ot_bits8,ot_none,ot_none,ot_none);
-    code    : #2#15#40#128;
-    flags   : [if_nec,if_16bitonly]
+    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_ROR4;
-    ops     : 1;
-    optypes : (ot_rm_gpr or ot_bits8,ot_none,ot_none,ot_none);
-    code    : #2#15#42#128;
-    flags   : [if_nec,if_16bitonly]
+    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_SET1;
+    opcode  : A_VRCP14PD;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits8,ot_reg_cl,ot_none,ot_none);
-    code    : #2#15#20#128;
-    flags   : [if_nec,if_16bitonly]
+    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_SET1;
+    opcode  : A_VRCP14PD;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits16,ot_reg_cl,ot_none,ot_none);
-    code    : #2#15#21#128;
-    flags   : [if_nec,if_16bitonly]
+    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_SET1;
+    opcode  : A_VRCP14PD;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits8,ot_immediate,ot_none,ot_none);
-    code    : #2#15#28#128#21;
-    flags   : [if_nec,if_sb,if_imm3,if_16bitonly]
+    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_SET1;
+    opcode  : A_VRCP14PD;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits16,ot_immediate,ot_none,ot_none);
-    code    : #2#15#29#128#21;
-    flags   : [if_nec,if_sw,if_imm4,if_16bitonly]
+    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_SUB4S;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #2#15#34;
-    flags   : [if_nec,if_16bitonly]
+    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_TEST1;
+    opcode  : A_VRCP14PS;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits8,ot_reg_cl,ot_none,ot_none);
-    code    : #2#15#16#128;
-    flags   : [if_nec,if_16bitonly]
+    optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#241#249#1#76#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_TEST1;
+    opcode  : A_VRCP14PS;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits16,ot_reg_cl,ot_none,ot_none);
-    code    : #2#15#17#128;
-    flags   : [if_nec,if_16bitonly]
+    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_TEST1;
+    opcode  : A_VRCP14PS;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits8,ot_immediate,ot_none,ot_none);
-    code    : #2#15#24#128#21;
-    flags   : [if_nec,if_sb,if_imm3,if_16bitonly]
+    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_TEST1;
+    opcode  : A_VRCP14PS;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits16,ot_immediate,ot_none,ot_none);
-    code    : #2#15#25#128#21;
-    flags   : [if_nec,if_sw,if_imm4,if_16bitonly]
+    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_VFMADD132PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#152#61#80;
-    flags   : [if_fma]
+    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_VFMADD132PD;
+    opcode  : A_VRCP14SD;
     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_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#77#61#80;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VFMADD213PD;
+    opcode  : A_VRCP14SD;
     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_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#234#241#249#1#77#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PD;
+    opcode  : A_VRCP14SS;
     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_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_VFMADD231PD;
+    opcode  : A_VRCP14SS;
     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_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#241#249#1#77#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#184#61#80;
-    flags   : [if_fma]
+    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_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_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_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_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_VFMADD132PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#152#61#80;
-    flags   : [if_fma]
+    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_VFMADD132PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#152#61#80;
-    flags   : [if_fma]
+    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_VFMADD213PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#168#61#80;
-    flags   : [if_fma]
+    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_VFMADD213PS;
+    opcode  : A_VRCP28SD;
     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_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#203#61#80;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VFMADD231PS;
+    opcode  : A_VRCP28SD;
     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_xmmreg_sae,ot_none);
+    code    : #232#234#241#249#1#203#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PS;
+    opcode  : A_VRCP28SS;
     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_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_VFMADD132SD;
+    opcode  : A_VRCP28SS;
     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_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none);
+    code    : #232#241#249#1#203#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213SD;
+    opcode  : A_VREDUCEPD;
     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_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #232#234#241#250#1#86#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADD231SD;
+    opcode  : A_VREDUCEPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#185#61#80;
-    flags   : [if_fma]
+    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_VFMADD132SS;
+    opcode  : A_VREDUCEPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#153#61#80;
-    flags   : [if_fma]
+    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_VFMADD213SS;
+    opcode  : A_VREDUCEPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#169#61#80;
-    flags   : [if_fma]
+    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_VFMADD231SS;
+    opcode  : A_VREDUCEPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#185#61#80;
-    flags   : [if_fma]
+    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_VFMADDSUB132PD;
+    opcode  : A_VREDUCEPD;
     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_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_VFMADDSUB132PD;
+    opcode  : A_VREDUCEPD;
     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_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_VFMADDSUB213PD;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADDSUB213PD;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADDSUB231PD;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADDSUB231PD;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADDSUB132PS;
+    opcode  : A_VREDUCEPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#150#61#80;
-    flags   : [if_fma]
+    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_VFMADDSUB132PS;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADDSUB213PS;
+    opcode  : A_VREDUCEPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#166#61#80;
-    flags   : [if_fma]
+    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_VFMADDSUB213PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#166#61#80;
-    flags   : [if_fma]
+    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_VFMADDSUB231PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#182#61#80;
-    flags   : [if_fma]
+    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_VFMADDSUB231PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#182#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD132PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#151#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD132PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMSUBADD213PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMSUBADD213PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMSUBADD231PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMSUBADD231PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMSUBADD132PS;
+    opcode  : A_VRNDSCALEPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#151#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD132PS;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMSUBADD213PS;
+    opcode  : A_VRNDSCALEPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#167#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD213PS;
+    opcode  : A_VRNDSCALEPS;
     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_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_VFMSUBADD231PS;
+    opcode  : A_VRNDSCALEPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#183#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD231PS;
+    opcode  : A_VRNDSCALEPS;
     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_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_VFMSUB132PD;
+    opcode  : A_VRNDSCALEPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#154#61#80;
-    flags   : [if_fma]
+    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_VFMSUB132PD;
+    opcode  : A_VRNDSCALEPS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#154#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213PD;
+    opcode  : A_VRNDSCALEPS;
     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_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_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]
+    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_VFMSUB231PD;
+    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,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#186#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#234#241#249#1#79#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PD;
+    opcode  : A_VRSQRT14SD;
     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_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_VFMSUB132PS;
+    opcode  : A_VRSQRT14SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#154#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#241#249#1#79#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PS;
+    opcode  : A_VRSQRT14SS;
     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_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_VFMSUB213PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#170#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#170#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#186#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#186#61#80;
-    flags   : [if_fma]
+    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_VFMSUB132SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#155#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#171#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231SD;
+    opcode  : A_VRSQRT28SD;
     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#249#1#205#61#80;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VFMSUB132SS;
+    opcode  : A_VRSQRT28SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#155#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213SS;
+    opcode  : A_VRSQRT28SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#171#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231SS;
+    opcode  : A_VRSQRT28SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#187#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none);
+    code    : #232#241#249#1#205#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VSCALEFPD;
     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#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VSCALEFPD;
     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#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VSCALEFPD;
     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#244#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VSCALEFPD;
     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#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VSCALEFPD;
     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_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VSCALEFPD;
     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_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD132PS;
+    opcode  : A_VSCALEFPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#156#61#80;
-    flags   : [if_fma]
+    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_VFNMADD132PS;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#156#61#80;
-    flags   : [if_fma]
+    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_VFNMADD213PS;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#172#61#80;
-    flags   : [if_fma]
+    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_VFNMADD213PS;
+    opcode  : A_VSCALEFPS;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD231PS;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#188#61#80;
-    flags   : [if_fma]
+    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_VFNMADD231PS;
+    opcode  : A_VSCALEFPS;
     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_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_VFNMADD132SD;
+    opcode  : A_VSCALEFPS;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD213SD;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#173#61#80;
-    flags   : [if_fma]
+    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_VFNMADD231SD;
+    opcode  : A_VSCALEFSD;
     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#249#1#45#61#80;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VFNMADD132SS;
+    opcode  : A_VSCALEFSD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#157#61#80;
-    flags   : [if_fma]
+    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_VFNMADD213SS;
+    opcode  : A_VSCALEFSS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#173#61#80;
-    flags   : [if_fma]
+    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_VFNMADD231SS;
+    opcode  : A_VSCALEFSS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#189#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#45#61#80;
+    flags   : [if_avx512]
   ),
   (
-    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]
+    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_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]
+    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_VFNMSUB213PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#158#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#158#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#159#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#175#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#191#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#159#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#175#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#191#61#80;
-    flags   : [if_fma]
+    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_XACQUIRE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #1#242;
-    flags   : [if_tsx]
+    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_XRELEASE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #1#243;
-    flags   : [if_tsx]
+    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_XBEGIN;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none,ot_none);
-    code    : #208#2#199#248#52;
-    flags   : [if_tsx]
+    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_XABORT;
-    ops     : 1;
-    optypes : (ot_immediate,ot_none,ot_none,ot_none);
-    code    : #2#198#248#20;
-    flags   : [if_tsx,if_sb]
+    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_XEND;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #3#15#1#213;
-    flags   : [if_tsx]
+    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_XTEST;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #3#15#1#214;
-    flags   : [if_tsx]
+    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_RDRAND;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
-    code    : #208#2#15#199#134;
-    flags   : [if_rand]
+    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_RDSEED;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
-    code    : #208#2#15#199#135;
-    flags   : [if_rand]
+    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_XGETBV;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #3#15#1#208;
-    flags   : [if_xsave]
+    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_PREFETCHWT1;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none,ot_none);
-    code    : #2#15#13#130;
-    flags   : [if_prefetchwt1]
+    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]
   )
 );

+ 16 - 0
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

+ 17 - 1
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'

+ 16 - 0
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);

+ 16 - 0
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

+ 17 - 1
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'

+ 17 - 1
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

+ 17 - 1
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'

+ 1 - 1
compiler/i8086/r8086nor.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86reg.dat }
-90
+106

+ 17 - 1
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

+ 17 - 1
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)

+ 17 - 1
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

+ 17 - 1
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

+ 17 - 1
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

+ 17 - 1
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

+ 17 - 1
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'

+ 1 - 0
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
 #

+ 3 - 2
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
   );

文件差異過大導致無法顯示
+ 291 - 293
compiler/msgtxt.inc


+ 17 - 3
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

+ 3 - 1
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

+ 3 - 3
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

文件差異過大導致無法顯示
+ 590 - 54
compiler/x86/aasmcpu.pas


+ 35 - 0
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;
 
 

+ 1 - 0
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 ')

+ 17 - 2
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;
 

文件差異過大導致無法顯示
+ 590 - 204
compiler/x86/rax86.pas


+ 353 - 61
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 }

文件差異過大導致無法顯示
+ 542 - 208
compiler/x86/x86ins.dat


+ 81 - 0
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
+

+ 86 - 14
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

+ 73 - 1
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'

+ 72 - 0
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);

+ 73 - 1
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

+ 73 - 1
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'

+ 87 - 15
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

+ 73 - 1
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'

+ 1 - 1
compiler/x86_64/r8664nor.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86reg.dat }
-152
+224

+ 73 - 1
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)

+ 73 - 1
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

+ 73 - 1
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

+ 87 - 15
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

+ 73 - 1
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

+ 73 - 1
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'

+ 281 - 1
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
 );

+ 314 - 34
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'
 );

+ 314 - 34
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'
 );

+ 1 - 1
compiler/x86_64/x8664nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
-2191;
+4117;

+ 314 - 34
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
 );

+ 281 - 1
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])
 );

+ 16747 - 3265
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,45 +9460,73 @@
   (
     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;
@@ -10213,6 +10423,55 @@
     code    : #241#242#244#248#1#194#61#80#1#31;
     flags   : [if_avx,if_sandybridge]
   ),
+  (
+    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;
@@ -10227,6 +10486,55 @@
     code    : #241#242#244#248#1#194#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
+  (
+    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;
@@ -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,5068 +10609,18214 @@
     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;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTDQ2PS;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#91#72;
+    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_VCVTDQ2PS;
+    opcode  : A_VCVTDQ2PD;
     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_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_VCVTPD2DQ;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #220#242#248#1#230#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPD2DQ;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #220#242#244#248#1#230#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none);
+    code    : #219#232#233#248#1#230#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTPD2PS;
+    opcode  : A_VCVTDQ2PD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#90#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPD2PS;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#90#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_VCVTPS2DQ;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#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_VCVTPS2DQ;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#91#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPS2PD;
+    opcode  : A_VCVTDQ2PS;
     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_ymmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#244#248#1#91#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VCVTPS2PD;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#90#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTPS2PD;
+    opcode  : A_VCVTDQ2PS;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#244#248#1#90#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#233#248#1#91#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VCVTSD2SI;
+    opcode  : A_VCVTDQ2PS;
     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]
+    optypes : (ot_zmmreg_mz,ot_zmmreg_er,ot_none,ot_none);
+    code    : #232#233#248#1#91#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTSD2SI;
+    opcode  : A_VCVTPD2DQ;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#248#1#45#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTSD2SI;
+    opcode  : A_VCVTPD2DQ;
     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]
+    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_VCVTSD2SI;
+    opcode  : A_VCVTPD2DQ;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#243#248#1#45#72;
+    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_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]
+    opcode  : A_VCVTPD2DQ;
+    ops     : 2;
+    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_VCVTSD2SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#90#61#80;
+    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_VCVTSI2SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #220#242#248#1#42#61#80;
-    flags   : [if_avx,if_sandybridge,if_sd]
+    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_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;
-    flags   : [if_avx,if_sandybridge,if_x86_64]
+    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_VCVTSI2SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #219#242#248#1#42#61#80;
-    flags   : [if_avx,if_sandybridge,if_sd]
+    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_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;
-    flags   : [if_avx,if_sandybridge,if_x86_64]
+    opcode  : A_VCVTPD2PS;
+    ops     : 2;
+    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_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]
+    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_VCVTSS2SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#90#61#80;
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     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]
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#45#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none);
-    code    : #219#242#243#248#1#45#72;
+    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_VCVTSS2SI;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#243#248#1#45#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTTPD2DQ;
+    opcode  : A_VCVTPD2PS;
     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_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_VCVTTPD2DQ;
+    opcode  : A_VCVTPD2PS;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#230#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VCVTTPS2DQ;
+    opcode  : A_VCVTPH2PS;
     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_memory or ot_bits64,ot_none,ot_none);
+    code    : #232#241#242#249#1#19#72;
+    flags   : [if_avx,if_thvm]
   ),
   (
-    opcode  : A_VCVTTPS2DQ;
+    opcode  : A_VCVTPH2PS;
     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_xmmreg,ot_none,ot_none);
+    code    : #232#241#242#249#1#19#72;
+    flags   : [if_avx]
   ),
   (
-    opcode  : A_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     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]
+    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_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#248#1#44#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_ymmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#242#244#249#1#19#72;
+    flags   : [if_avx]
   ),
   (
-    opcode  : A_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     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]
+    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_VCVTTSD2SI;
+    opcode  : A_VCVTPH2PS;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#243#248#1#44#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_ymmreg_sae,ot_none,ot_none);
+    code    : #232#233#241#249#1#19#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VCVTTSS2SI;
+    opcode  : A_VCVTPS2DQ;
     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]
+    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_VCVTTSS2SI;
+    opcode  : A_VCVTPS2DQ;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#44#72;
+    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_VCVTTSS2SI;
+    opcode  : A_VCVTPS2DQ;
     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]
+    optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#241#248#1#91#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VCVTTSS2SI;
+    opcode  : A_VCVTPS2DQ;
     ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#243#248#1#44#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VDIVPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#94#61#80;
+    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_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]
+    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_VDIVPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#94#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_VDIVSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#94#61#80;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTPS2PD;
+    ops     : 2;
+    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_VDIVSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#94#61#80;
+    opcode  : A_VCVTPS2PD;
+    ops     : 2;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#242#248#1#90#72;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VDIVSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#94#61#80;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTPS2PD;
+    ops     : 2;
+    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_VDPPD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#65#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VDPPS;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#64#61#80#23;
+    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_VDPPS;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#64#61#80#23;
-    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_VEXTRACTF128;
-    ops     : 3;
-    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#25#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_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;
-    flags   : [if_avx,if_sandybridge]
+    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_VHADDPD;
+    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_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHADDPD;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHADDPS;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #220#242#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHADDPS;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #220#242#244#248#1#124#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHSUBPD;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VHSUBPD;
+    opcode  : A_VCVTPS2PH;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    opcode  : A_VHSUBPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #220#242#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    opcode  : A_VHSUBPS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #220#242#244#248#1#125#61#80;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    opcode  : A_VINSERTF128;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#24#61#80#23;
-    flags   : [if_avx,if_sandybridge]
-  ),
-  (
-    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]
-  ),
-  (
-    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;
-    flags   : [if_avx,if_sandybridge]
+    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_VLDDQU;
+    opcode  : A_VCVTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none);
-    code    : #220#242#248#1#240#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#242#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VLDDQU;
+    opcode  : A_VCVTSD2SI;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_none,ot_none);
-    code    : #220#242#244#248#1#240#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_VLDMXCSR;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
-    code    : #242#248#1#174#130;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VCVTSD2SI;
+    ops     : 2;
+    optypes : (ot_reg64,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#234#242#243#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VMASKMOVDQU;
+    opcode  : A_VCVTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#247#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_VMASKMOVPD;
+    opcode  : A_VCVTSD2SS;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#47#61#66;
-    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_VMASKMOVPD;
+    opcode  : A_VCVTSD2SS;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#47#61#66;
+    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_VMASKMOVPD;
+    opcode  : A_VCVTSI2SD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#244#249#1#45#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPD;
+    opcode  : A_VCVTSI2SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#249#1#45#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPS;
+    opcode  : A_VCVTSI2SD;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#46#61#66;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPS;
+    opcode  : A_VCVTSI2SD;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#46#61#66;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPS;
+    opcode  : A_VCVTSI2SS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#244#249#1#44#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMASKMOVPS;
+    opcode  : A_VCVTSI2SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#249#1#44#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMAXPD;
+    opcode  : A_VCVTSI2SS;
     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,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_VMAXPD;
+    opcode  : A_VCVTSI2SS;
     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,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_VMAXPS;
+    opcode  : A_VCVTSS2SD;
     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_memory or ot_bits32,ot_none);
+    code    : #219#232#242#248#1#90#61#80;
+    flags   : [if_avx,if_sandybridge,if_t1s]
   ),
   (
-    opcode  : A_VMAXPS;
+    opcode  : A_VCVTSS2SD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #242#244#248#1#95#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_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]
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    optypes : (ot_reg32,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#242#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMAXSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#95#61#80;
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    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_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]
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#234#242#243#248#1#45#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMAXSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#95#61#80;
+    opcode  : A_VCVTSS2SI;
+    ops     : 2;
+    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_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]
+    opcode  : A_VCVTTPD2DQ;
+    ops     : 2;
+    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_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]
+    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_VMINPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#93#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_VMINSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#93#61#80;
+    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_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]
+    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_VMINSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#93#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPD;
+    opcode  : A_VCVTTPD2DQ;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#41#65;
-    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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#40#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_VMOVAPD;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#41#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPS;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPS;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#41#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPS;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#40#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVAPS;
+    opcode  : A_VCVTTPS2DQ;
     ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#41#65;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg_mz,ot_zmmreg_sae,ot_none,ot_none);
+    code    : #219#232#233#248#1#91#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VMOVD;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #241#242#248#1#110#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg32,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#242#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VMOVD;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_rm_gpr or ot_bits32,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#126#65;
+    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_VMOVDDUP;
+    opcode  : A_VCVTTSD2SI;
     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_reg64,ot_memory or ot_bits64,ot_none,ot_none);
+    code    : #220#232#234#242#243#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f64]
   ),
   (
-    opcode  : A_VMOVDDUP;
+    opcode  : A_VCVTTSD2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #220#242#248#1#18#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_VMOVDDUP;
+    opcode  : A_VCVTTSS2SI;
     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_reg32,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#242#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMOVDQA;
+    opcode  : A_VCVTTSS2SI;
     ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#127#65;
+    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_VMOVDQA;
+    opcode  : A_VCVTTSS2SI;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#111#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_reg64,ot_memory or ot_bits32,ot_none,ot_none);
+    code    : #219#232#234#242#243#248#1#44#72;
+    flags   : [if_avx,if_sandybridge,if_t1f32]
   ),
   (
-    opcode  : A_VMOVDQA;
+    opcode  : A_VCVTTSS2SI;
     ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#127#65;
+    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_VMOVDQA;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#111#72;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VDIVPD;
+    ops     : 3;
+    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_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #219#242#244#248#1#111#72;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VDIVPD;
+    ops     : 3;
+    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_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #219#242#248#1#111#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#127#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVDQU;
-    ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #219#242#244#248#1#127#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVHLPS;
+    opcode  : A_VDIVPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #242#248#1#18#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VMOVHPD;
+    opcode  : A_VDIVPS;
     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]
+    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_VMOVHPS;
+    opcode  : A_VDIVPS;
     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]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#248#1#94#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VMOVHPS;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#23#65;
+    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_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_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_VMOVLHPS;
+    opcode  : A_VDIVSS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #242#248#1#22#61#80;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #219#232#242#248#1#94#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;
+    opcode  : A_VDPPD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#65#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    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;
+    opcode  : A_VDPPS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#64#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVLPS;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#19#65;
+    opcode  : A_VDPPS;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#64#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVLPS;
+    opcode  : A_VEXTRACTF128;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none);
-    code    : #242#248#1#18#61#80;
+    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#25#65#22;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPD;
-    ops     : 2;
-    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#80#72;
-    flags   : [if_avx,if_sandybridge]
+    opcode  : A_VEXTRACTPS;
+    ops     : 3;
+    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_VMOVMSKPD;
-    ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#80#72;
+    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_VMOVMSKPD;
-    ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#80#72;
+    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);
+    code    : #241#242#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPD;
-    ops     : 2;
-    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#80#72;
+    opcode  : A_VHADDPD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#80#72;
+    opcode  : A_VHADDPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#242#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#80#72;
+    opcode  : A_VHADDPS;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #220#242#244#248#1#124#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#80#72;
+    opcode  : A_VHSUBPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#80#72;
+    opcode  : A_VHSUBPD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVNTDQ;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#231#65;
+    opcode  : A_VHSUBPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#242#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    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;
+    opcode  : A_VHSUBPS;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #220#242#244#248#1#125#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVNTDQA;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none);
-    code    : #241#242#249#1#42#72;
+    opcode  : A_VINSERTF128;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#24#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    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]
+    opcode  : A_VINSERTPS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8);
+    code    : #232#241#242#250#1#33#61#80#23;
+    flags   : [if_avx,if_sandybridge,if_t1s]
   ),
   (
-    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;
+    opcode  : A_VINSERTPS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
+    code    : #232#241#242#250#1#33#61#80#23;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVNTPD;
+    opcode  : A_VLDDQU;
     ops     : 2;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#43#65;
+    optypes : (ot_xmmreg,ot_memory or ot_bits128,ot_none,ot_none);
+    code    : #220#242#248#1#240#72;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVNTPS;
+    opcode  : A_VLDDQU;
     ops     : 2;
-    optypes : (ot_memory or ot_bits128,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#43#65;
+    optypes : (ot_ymmreg,ot_memory or ot_bits256,ot_none,ot_none);
+    code    : #220#242#244#248#1#240#72;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVNTPS;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#43#65;
+    opcode  : A_VLDMXCSR;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
+    code    : #242#248#1#174#130;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVQ;
+    opcode  : A_VMASKMOVDQU;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#219#248#1#126#72;
+    code    : #241#242#248#1#247#72;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #242#219#248#1#126#72;
+    opcode  : A_VMASKMOVPD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#244#249#1#47#61#66;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    opcode  : A_VMOVQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#241#248#1#214#65;
+    opcode  : A_VMASKMOVPD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#249#1#47#61#66;
     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;
+    opcode  : A_VMASKMOVPD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#244#249#1#45#61#80;
     flags   : [if_avx,if_sandybridge]
   ),
   (
-    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]
+    opcode  : A_VMASKMOVPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#249#1#45#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#244#249#1#46#61#66;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#249#1#46#61#66;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#244#249#1#44#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMASKMOVPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#249#1#44#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMAXPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_VMOVAPS;
+    ops     : 2;
+    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    : #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_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_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_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;
+    ops     : 2;
+    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQA;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQA;
+    ops     : 2;
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQA;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #219#242#244#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #219#242#248#1#111#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
+    code    : #219#242#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVDQU;
+    ops     : 2;
+    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
+    code    : #219#242#244#248#1#127#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVHLPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
+    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    : #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    : #232#234#241#242#248#1#22#61#80;
+    flags   : [if_avx,if_sandybridge,if_t1s]
+  ),
+  (
+    opcode  : A_VMOVHPS;
+    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     : 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    : #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    : #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    : #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    : #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    : #232#242#248#1#18#61#80;
+    flags   : [if_avx,if_sandybridge,if_t2]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPD;
+    ops     : 2;
+    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
+    code    : #242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
+    code    : #242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
+    code    : #242#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVMSKPS;
+    ops     : 2;
+    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
+    code    : #242#244#248#1#80#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVNTDQ;
+    ops     : 2;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_none,ot_none);
+    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    : #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    : #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    : #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    : #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    : #232#242#248#1#43#65;
+    flags   : [if_avx,if_sandybridge,if_tfvm]
+  ),
+  (
+    opcode  : A_VMOVNTPS;
+    ops     : 2;
+    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_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_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_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_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_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_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_xmmreg,ot_none,ot_none);
+    code    : #232#234#241#242#248#1#214#65;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMOVSD;
+    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_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_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     : 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_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_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_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_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     : 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_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_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     : 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_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_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_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_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_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_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_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_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);
+    code    : #241#242#250#1#66#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VMPSADBW;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#66#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VMULPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#219#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPAND;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#219#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPANDN;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#223#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPANDN;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#223#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPAVGB;
+    ops     : 3;
+    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_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_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_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;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
+    code    : #241#242#250#1#76#61#80#247;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPBLENDVB;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_ymmreg);
+    code    : #241#242#244#250#1#76#61#80#247;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBLENDW;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#14#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPBLENDW;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#14#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPCLMULQDQ;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#116#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPCMPEQB;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#116#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPEQD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#118#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPEQQ;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#41#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPEQW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#117#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPCMPESTRI;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#97#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPCMPESTRM;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#96#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTB;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#100#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#102#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTQ;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#55#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    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]
+  ),
+  (
+    opcode  : A_VPCMPGTW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#101#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPCMPISTRI;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#99#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPCMPISTRM;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#98#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPERM2F128;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#6#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPERMILPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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    : #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    : #232#241#242#250#1#20#65#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPEXTRB;
+    ops     : 3;
+    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    : #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    : #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_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_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    : #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    : #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    : #232#241#242#248#1#197#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#2#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#2#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHADDSW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#3#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDSW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#3#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHADDW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#1#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHADDW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#1#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHMINPOSUW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#65#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#6#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#6#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHSUBSW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#7#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBSW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#7#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPHSUBW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#5#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPHSUBW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#5#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPINSRB;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8);
+    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    : #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    : #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    : #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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 2;
+    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#215#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPMOVMSKB;
+    ops     : 2;
+    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
+    code    : #241#242#248#1#215#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPMOVMSKB;
+    ops     : 2;
+    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#215#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMOVMSKB;
+    ops     : 2;
+    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
+    code    : #241#242#244#248#1#215#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMOVSXBD;
+    ops     : 2;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#235#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPOR;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#235#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSADBW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    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    : #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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#8#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPSIGNB;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#8#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSIGND;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#10#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPSIGND;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#10#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSIGNW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#249#1#9#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPSIGNW;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#249#1#9#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSLLD;
+    ops     : 3;
+    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_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_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_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    : #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    : #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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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    : #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    : #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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#249#1#23#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPTEST;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#23#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPUNPCKHBW;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#242#248#1#239#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VPXOR;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #241#242#244#248#1#239#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VRCPPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #242#248#1#83#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRCPPS;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #242#244#248#1#83#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRCPSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #219#242#248#1#83#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRCPSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #219#242#248#1#83#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#9#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#9#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPS;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#8#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#250#1#8#72#22;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#11#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#11#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#10#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VROUNDSS;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#10#61#80#23;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTPS;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #242#244#248#1#82#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #242#248#1#82#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #219#242#248#1#82#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VRSQRTSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #219#242#248#1#82#61#80;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VSHUFPD;
+    ops     : 4;
+    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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
+    code    : #242#248#1#174#131;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VSUBPD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#15#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VTESTPD;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#249#1#15#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VTESTPS;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
+    code    : #241#242#244#249#1#14#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VTESTPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
+    code    : #241#242#249#1#14#72;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VUCOMISD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
+    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_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    : #232#242#248#1#46#72;
+    flags   : [if_avx,if_sandybridge,if_t1s]
+  ),
+  (
+    opcode  : A_VUCOMISS;
+    ops     : 2;
+    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_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_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_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_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_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_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_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_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_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_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_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_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;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #242#244#248#1#119;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_VZEROUPPER;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #242#248#1#119;
+    flags   : [if_avx,if_sandybridge]
+  ),
+  (
+    opcode  : A_ANDN;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #242#249#1#242#61#80;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_ANDN;
+    ops     : 3;
+    optypes : (ot_reg64,ot_reg64,ot_rm_gpr or ot_bits64,ot_none);
+    code    : #242#243#249#1#242#61#80;
+    flags   : [if_bmi1,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_BEXTR;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #242#249#1#247#62#72;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BEXTR;
+    ops     : 3;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_reg64,ot_none);
+    code    : #242#243#249#1#247#62#72;
+    flags   : [if_bmi1,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_BLSI;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #242#249#1#243#60#139;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BLSI;
+    ops     : 2;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_none,ot_none);
+    code    : #242#243#249#1#243#60#139;
+    flags   : [if_bmi1,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_BLSMSK;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #242#249#1#243#60#138;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BLSMSK;
+    ops     : 2;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_none,ot_none);
+    code    : #242#243#249#1#243#60#138;
+    flags   : [if_bmi1,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_BLSR;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #242#249#1#243#60#137;
+    flags   : [if_bmi1,if_prot]
+  ),
+  (
+    opcode  : A_BLSR;
+    ops     : 2;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_none,ot_none);
+    code    : #242#243#249#1#243#60#137;
+    flags   : [if_bmi1,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_TZCNT;
+    ops     : 2;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_rm_gpr,ot_none,ot_none);
+    code    : #208#219#2#15#188#72;
+    flags   : [if_bmi1,if_sm]
+  ),
+  (
+    opcode  : A_BZHI;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #242#249#1#245#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_BZHI;
+    ops     : 3;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_reg64,ot_none);
+    code    : #242#243#249#1#245#62#72;
+    flags   : [if_bmi2,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_MULX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #220#242#249#1#246#61#80;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_MULX;
+    ops     : 3;
+    optypes : (ot_reg64,ot_reg64,ot_rm_gpr or ot_bits64,ot_none);
+    code    : #220#242#243#249#1#246#61#80;
+    flags   : [if_bmi2,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_PDEP;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #220#242#249#1#245#61#80;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_PDEP;
+    ops     : 3;
+    optypes : (ot_reg64,ot_reg64,ot_rm_gpr or ot_bits64,ot_none);
+    code    : #220#242#243#249#1#245#61#80;
+    flags   : [if_bmi2,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_PEXT;
+    ops     : 3;
+    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
+    code    : #219#242#249#1#245#61#80;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_PEXT;
+    ops     : 3;
+    optypes : (ot_reg64,ot_reg64,ot_rm_gpr or ot_bits64,ot_none);
+    code    : #219#242#243#249#1#245#61#80;
+    flags   : [if_bmi2,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_RORX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_immediate or ot_bits8,ot_none);
+    code    : #220#242#250#1#240#72#22;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_RORX;
+    ops     : 3;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_immediate or ot_bits8,ot_none);
+    code    : #220#242#243#250#1#240#72#22;
+    flags   : [if_bmi2,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_SARX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #219#242#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_SARX;
+    ops     : 3;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_reg64,ot_none);
+    code    : #219#242#243#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_SHLX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #241#242#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_SHLX;
+    ops     : 3;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_reg64,ot_none);
+    code    : #241#242#243#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_SHRX;
+    ops     : 3;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
+    code    : #220#242#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot]
+  ),
+  (
+    opcode  : A_SHRX;
+    ops     : 3;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_reg64,ot_none);
+    code    : #220#242#243#249#1#247#62#72;
+    flags   : [if_bmi2,if_prot,if_x86_64]
+  ),
+  (
+    opcode  : A_ADCX;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #241#3#15#56#246#72;
+    flags   : [if_adx]
+  ),
+  (
+    opcode  : A_ADCX;
+    ops     : 2;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_none,ot_none);
+    code    : #241#214#3#15#56#246#72;
+    flags   : [if_adx,if_x86_64]
+  ),
+  (
+    opcode  : A_ADOX;
+    ops     : 2;
+    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
+    code    : #219#3#15#56#246#72;
+    flags   : [if_adx]
+  ),
+  (
+    opcode  : A_ADOX;
+    ops     : 2;
+    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_none,ot_none);
+    code    : #219#214#3#15#56#246#72;
+    flags   : [if_adx,if_x86_64]
+  ),
+  (
+    opcode  : A_VBROADCASTI128;
+    ops     : 2;
+    optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none);
+    code    : #241#242#244#249#1#90#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VEXTRACTI128;
+    ops     : 3;
+    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
+    code    : #241#242#244#250#1#57#65#22;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VINSERTI128;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#56#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBLENDD;
+    ops     : 4;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
+    code    : #241#242#244#250#1#2#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBLENDD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
+    code    : #241#242#250#1#2#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPBROADCASTB;
+    ops     : 2;
+    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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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);
+    code    : #241#242#244#250#1#70#61#80#23;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPERMD;
+    ops     : 3;
+    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_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_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_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;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVD;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#244#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#244#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #241#242#243#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#242#243#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
+    code    : #241#242#243#244#249#1#142#61#66;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPMASKMOVQ;
+    ops     : 3;
+    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
+    code    : #241#242#243#244#249#1#140#61#80;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPSLLVD;
+    ops     : 3;
+    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_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_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_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_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_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_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_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_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_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_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_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);
+    code    : #241#242#249#1#146#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#243#249#1#147#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#249#1#147#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VGATHERQPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
+    code    : #241#242#244#249#1#147#62#72;
+    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);
+    code    : #241#242#249#1#144#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#243#249#1#144#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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);
+    code    : #241#242#249#1#145#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    opcode  : A_VPGATHERQD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
+    code    : #241#242#244#249#1#145#62#72;
+    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);
+    code    : #241#242#243#249#1#145#62#72;
+    flags   : [if_avx2]
+  ),
+  (
+    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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#152#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADD132PD;
+    ops     : 3;
+    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_VFMADD132PD;
+    ops     : 3;
+    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_VFMADD132PD;
+    ops     : 3;
+    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_VFMADD132PD;
+    ops     : 3;
+    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_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_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_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_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_VFMADD132SS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#168#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADD213PS;
+    ops     : 3;
+    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_VFMADD213PS;
+    ops     : 3;
+    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_VFMADD213PS;
+    ops     : 3;
+    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_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_VFMADD213SD;
+    ops     : 3;
+    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_VFMADD213SS;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#150#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    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_VFMADDSUB132PD;
+    ops     : 3;
+    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_VFMADDSUB132PD;
+    ops     : 3;
+    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_VFMADDSUB132PD;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#166#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#182#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMADDSUB231PS;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_VFMSUB132PD;
+    ops     : 3;
+    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_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_VFMSUB132SD;
+    ops     : 3;
+    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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#170#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    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_VFMSUB213PD;
+    ops     : 3;
+    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_VFMSUB213PD;
+    ops     : 3;
+    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_VFMSUB213PD;
+    ops     : 3;
+    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_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_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#170#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    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_VFMSUB213PS;
+    ops     : 3;
+    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_VFMSUB213PS;
+    ops     : 3;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#242#243#249#1#171#61#80;
+    flags   : [if_fma]
+  ),
+  (
+    opcode  : A_VFMSUB213SD;
+    ops     : 3;
+    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_VFMSUB213SS;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#156#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    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_VFNMADD132PD;
+    ops     : 3;
+    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_VFNMADD132PD;
+    ops     : 3;
+    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_VFNMADD132PD;
+    ops     : 3;
+    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_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_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_VFNMADD132SS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#172#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    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_VFNMADD213PS;
+    ops     : 3;
+    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_VFNMADD213PS;
+    ops     : 3;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#242#243#249#1#173#61#80;
+    flags   : [if_fma]
+  ),
+  (
+    opcode  : A_VFNMADD213SD;
+    ops     : 3;
+    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_VFNMADD213SS;
+    ops     : 3;
+    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_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_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_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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#158#61#80;
+    flags   : [if_avx512,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMSUB132PD;
+    ops     : 3;
+    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_VFNMSUB132PD;
+    ops     : 3;
+    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_VFNMSUB132PD;
+    ops     : 3;
+    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_VFNMSUB132PD;
+    ops     : 3;
+    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_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_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_VFNMSUB132SS;
+    ops     : 3;
+    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_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_VFNMSUB213SS;
+    ops     : 3;
+    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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#242#249#1#190#61#80;
+    flags   : [if_fma,if_tfv]
+  ),
+  (
+    opcode  : A_VFNMSUB231PS;
+    ops     : 3;
+    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_VFNMSUB231PS;
+    ops     : 3;
+    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_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#242#243#249#1#191#61#80;
+    flags   : [if_fma]
+  ),
+  (
+    opcode  : A_VFNMSUB231SD;
+    ops     : 3;
+    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_VFNMSUB231SS;
+    ops     : 3;
+    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_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;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #1#242;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XRELEASE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #1#243;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XBEGIN;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none,ot_none);
+    code    : #208#2#199#248#52;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XABORT;
+    ops     : 1;
+    optypes : (ot_immediate,ot_none,ot_none,ot_none);
+    code    : #2#198#248#20;
+    flags   : [if_tsx,if_sb]
+  ),
+  (
+    opcode  : A_XEND;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #3#15#1#213;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_XTEST;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #3#15#1#214;
+    flags   : [if_tsx]
+  ),
+  (
+    opcode  : A_RDRAND;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
+    code    : #208#2#15#199#134;
+    flags   : [if_rand]
+  ),
+  (
+    opcode  : A_RDSEED;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
+    code    : #208#2#15#199#135;
+    flags   : [if_rand]
+  ),
+  (
+    opcode  : A_XGETBV;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none,ot_none);
+    code    : #3#15#1#208;
+    flags   : [if_xsave]
+  ),
+  (
+    opcode  : A_PREFETCHWT1;
+    ops     : 1;
+    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_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]
+    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_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]
+    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_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]
+    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_VMOVSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#17#61#66;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVSD;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_none,ot_none);
-    code    : #220#242#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVSHDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #219#242#248#1#22#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VMOVSLDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #219#242#248#1#18#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_VMOVSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#17#61#66;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVSS;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_none,ot_none);
-    code    : #219#242#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPD;
-    ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPD;
-    ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPS;
-    ops     : 2;
-    optypes : (ot_xmmrm,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#16#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VMOVUPS;
-    ops     : 2;
-    optypes : (ot_ymmrm,ot_ymmreg,ot_none,ot_none);
-    code    : #242#244#248#1#17#65;
-    flags   : [if_avx,if_sandybridge]
+    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_VMPSADBW;
+    opcode  : A_VPCMPUW;
     ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#66#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VMPSADBW;
+    opcode  : A_VPCMPUW;
     ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#66#61#80#23;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_VMULPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#89#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_VMULSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#242#248#1#89#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VMULSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#89#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VORPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #242#248#1#86#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VPABSB;
+    opcode  : A_VPCOMPRESSQ;
     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_mem512_m,ot_zmmreg,ot_none,ot_none);
+    code    : #232#233#234#241#249#1#139#65;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VPABSB;
+    opcode  : A_VPCOMPRESSQ;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#28#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #232#234#241#249#1#139#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPABSD;
+    opcode  : A_VPCOMPRESSQ;
     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_ymmreg_mz,ot_ymmreg,ot_none,ot_none);
+    code    : #232#234#241#244#249#1#139#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPABSD;
+    opcode  : A_VPCOMPRESSQ;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#30#72;
-    flags   : [if_avx2]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #232#233#234#241#249#1#139#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPABSW;
+    opcode  : A_VPCONFLICTD;
     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#249#1#196#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPABSW;
+    opcode  : A_VPCONFLICTD;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#29#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_bmem32,ot_none,ot_none);
+    code    : #232#241#249#1#196#72;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    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]
+    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_VPACKSSDW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#107#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPACKSSWB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#99#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPACKUSDW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#43#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPACKUSWB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#103#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPADDB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#252#61#80;
-    flags   : [if_avx2]
+    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_VPADDD;
+    opcode  : A_VPERMB;
     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#249#1#141#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDD;
+    opcode  : A_VPERMB;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#141#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDQ;
+    opcode  : A_VPERMB;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#141#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDQ;
+    opcode  : A_VPERMI2B;
     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_xmmrm,ot_none);
+    code    : #232#241#249#1#117#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDSB;
+    opcode  : A_VPERMI2B;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#117#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDSB;
+    opcode  : A_VPERMI2B;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#117#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPADDSW;
+    opcode  : A_VPERMI2D;
     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#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDSW;
+    opcode  : A_VPERMI2D;
     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_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDUSB;
+    opcode  : A_VPERMI2D;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDUSB;
+    opcode  : A_VPERMI2D;
     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_bmem32,ot_none);
+    code    : #232#241#244#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDUSW;
+    opcode  : A_VPERMI2D;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDUSW;
+    opcode  : A_VPERMI2D;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#118#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDW;
+    opcode  : A_VPERMI2PD;
     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#234#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPADDW;
+    opcode  : A_VPERMI2PD;
     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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    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]
+    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_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]
+    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_VPAND;
+    opcode  : A_VPERMI2PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#219#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPAND;
+    opcode  : A_VPERMI2PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#219#61#80;
-    flags   : [if_avx2]
+    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_VPANDN;
+    opcode  : A_VPERMI2PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#223#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPANDN;
+    opcode  : A_VPERMI2PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#223#61#80;
-    flags   : [if_avx2]
+    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_VPAVGB;
+    opcode  : A_VPERMI2PS;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPAVGB;
+    opcode  : A_VPERMI2PS;
     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_bmem32,ot_none);
+    code    : #232#241#244#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPAVGW;
+    opcode  : A_VPERMI2PS;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPAVGW;
+    opcode  : A_VPERMI2PS;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#119#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPBLENDVB;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
-    code    : #241#242#250#1#76#61#80#247;
-    flags   : [if_avx,if_sandybridge]
+    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_VPBLENDVB;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_ymmreg);
-    code    : #241#242#244#250#1#76#61#80#247;
-    flags   : [if_avx2]
+    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_VPBLENDW;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#14#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VPBLENDW;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#14#61#80#23;
-    flags   : [if_avx2]
+    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_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]
+    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_VPCMPEQB;
+    opcode  : A_VPERMI2Q;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#116#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQB;
+    opcode  : A_VPERMI2W;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#116#61#80;
-    flags   : [if_avx2]
+    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_VPCMPEQD;
+    opcode  : A_VPERMI2W;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#118#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQD;
+    opcode  : A_VPERMI2W;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#118#61#80;
-    flags   : [if_avx2]
+    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_VPCMPEQQ;
+    opcode  : A_VPERMT2B;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#41#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQQ;
+    opcode  : A_VPERMT2B;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#41#61#80;
-    flags   : [if_avx2]
+    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_VPCMPEQW;
+    opcode  : A_VPERMT2B;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#117#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPEQW;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#117#61#80;
-    flags   : [if_avx2]
+    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_VPCMPESTRI;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#97#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPESTRM;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#96#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTB;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#100#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTB;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#100#61#80;
-    flags   : [if_avx2]
+    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_VPCMPGTD;
+    opcode  : A_VPERMT2D;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#102#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTD;
+    opcode  : A_VPERMT2PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#102#61#80;
-    flags   : [if_avx2]
+    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_VPCMPGTQ;
+    opcode  : A_VPERMT2PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#55#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTQ;
+    opcode  : A_VPERMT2PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#55#61#80;
-    flags   : [if_avx2]
+    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_VPCMPGTW;
+    opcode  : A_VPERMT2PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#101#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPGTW;
+    opcode  : A_VPERMT2PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#101#61#80;
-    flags   : [if_avx2]
+    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_VPCMPISTRI;
+    opcode  : A_VPERMT2PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#99#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPCMPISTRM;
+    opcode  : A_VPERMT2PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#98#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPERM2F128;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#6#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VPERMILPD;
+    opcode  : A_VPERMT2PS;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#127#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMILPD;
+    opcode  : A_VPERMT2PS;
     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_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#127#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMILPD;
+    opcode  : A_VPERMT2PS;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#127#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMILPD;
+    opcode  : A_VPERMT2PS;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#127#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMILPS;
+    opcode  : A_VPERMT2Q;
     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#234#241#249#1#126#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMILPS;
+    opcode  : A_VPERMT2Q;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#126#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMILPS;
+    opcode  : A_VPERMT2Q;
     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_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_VPERMILPS;
+    opcode  : A_VPERMT2Q;
     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_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_VPEXTRB;
+    opcode  : A_VPERMT2Q;
     ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#20#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRB;
+    opcode  : A_VPERMT2Q;
     ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#20#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRB;
+    opcode  : A_VPERMT2W;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#125#61#80;
+    flags   : [if_avx512,if_tfvm]
   ),
   (
-    opcode  : A_VPEXTRD;
+    opcode  : A_VPERMT2W;
     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]
+    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_VPEXTRQ;
+    opcode  : A_VPERMT2W;
     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;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
+    opcode  : A_VPERMW;
     ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#248#1#197#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
+    opcode  : A_VPERMW;
     ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#248#1#197#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
+    opcode  : A_VPERMW;
     ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#21#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VPEXTRW;
-    ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#21#65#22;
-    flags   : [if_avx,if_sandybridge]
+    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_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;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#2#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#2#61#80;
-    flags   : [if_avx2]
+    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_VPHADDSW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#3#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDSW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#3#61#80;
-    flags   : [if_avx2]
+    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_VPHADDW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#1#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHADDW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#1#61#80;
-    flags   : [if_avx2]
+    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_VPHMINPOSUW;
+    opcode  : A_VPLZCNTD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#65#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#6#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#6#61#80;
-    flags   : [if_avx2]
+    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_VPHSUBSW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#7#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBSW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#7#61#80;
-    flags   : [if_avx2]
+    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_VPHSUBW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#5#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPHSUBW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#5#61#80;
-    flags   : [if_avx2]
+    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_VPINSRB;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#32#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMADDUBSW;
+    opcode  : A_VPMADD52HUQ;
     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_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_VPMADDUBSW;
+    opcode  : A_VPMADD52HUQ;
     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_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_VPMADDWD;
+    opcode  : A_VPMADD52HUQ;
     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_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_VPMADDWD;
+    opcode  : A_VPMADD52LUQ;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#180#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXSB;
+    opcode  : A_VPMADD52LUQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#180#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXSB;
+    opcode  : A_VPMADD52LUQ;
     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#234#241#244#249#1#180#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXSD;
+    opcode  : A_VPMADD52LUQ;
     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_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_VPMAXSD;
+    opcode  : A_VPMADD52LUQ;
     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_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_VPMAXSW;
+    opcode  : A_VPMADD52LUQ;
     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_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_VPMAXSW;
+    opcode  : A_VPMAXSQ;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#61#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXUB;
+    opcode  : A_VPMAXSQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#61#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXUB;
+    opcode  : A_VPMAXSQ;
     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#234#241#244#249#1#61#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMAXUD;
+    opcode  : A_VPMAXSQ;
     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_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_VPMAXUD;
+    opcode  : A_VPMAXSQ;
     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_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_VPMAXUW;
+    opcode  : A_VPMAXSQ;
     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_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_VPMAXUW;
+    opcode  : A_VPMAXUQ;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#63#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMINSB;
+    opcode  : A_VPMAXUQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#63#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMINSB;
+    opcode  : A_VPMAXUQ;
     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#234#241#244#249#1#63#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMINSD;
+    opcode  : A_VPMAXUQ;
     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_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_VPMINSD;
+    opcode  : A_VPMAXUQ;
     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_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_VPMINSW;
+    opcode  : A_VPMAXUQ;
     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_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_VPMINSW;
+    opcode  : A_VPMINSQ;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#57#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMINUB;
+    opcode  : A_VPMINSQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#57#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMINUB;
+    opcode  : A_VPMINSQ;
     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#234#241#244#249#1#57#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMINUD;
+    opcode  : A_VPMINSQ;
     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_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_VPMINUD;
+    opcode  : A_VPMINSQ;
     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_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_VPMINUW;
+    opcode  : A_VPMINSQ;
     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_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_VPMINUW;
+    opcode  : A_VPMINUQ;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#59#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMOVMSKB;
-    ops     : 2;
-    optypes : (ot_reg64,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#215#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVMSKB;
-    ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#215#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVMSKB;
-    ops     : 2;
-    optypes : (ot_reg32,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#215#72;
-    flags   : [if_avx2]
+    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_VPMOVMSKB;
-    ops     : 2;
-    optypes : (ot_reg64,ot_ymmreg,ot_none,ot_none);
-    code    : #241#242#244#248#1#215#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMOVSXBD;
+    opcode  : A_VPMOVB2M;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#33#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#41#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBD;
+    opcode  : A_VPMOVB2M;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#33#72;
-    flags   : [if_avx2]
+    optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#41#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBD;
+    opcode  : A_VPMOVB2M;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #241#242#244#249#1#33#72;
-    flags   : [if_avx2]
+    optypes : (ot_kreg,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#41#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVD2M;
     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_kreg,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVD2M;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#34#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVD2M;
     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_kreg,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXBQ;
+    opcode  : A_VPMOVDB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#34#72;
-    flags   : [if_avx2]
+    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_VPMOVSXBW;
+    opcode  : A_VPMOVDB;
     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_mem32_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#49#65;
+    flags   : [if_avx512,if_tqvm]
   ),
   (
-    opcode  : A_VPMOVSXBW;
+    opcode  : A_VPMOVDB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#32#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVSXBW;
+    opcode  : A_VPMOVDB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#32#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#49#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXDQ;
+    opcode  : A_VPMOVDB;
     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_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#49#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXDQ;
+    opcode  : A_VPMOVDB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#37#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#49#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXDQ;
+    opcode  : A_VPMOVDW;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#37#72;
-    flags   : [if_avx2]
+    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_VPMOVSXWD;
+    opcode  : A_VPMOVDW;
     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_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_VPMOVSXWD;
+    opcode  : A_VPMOVDW;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#35#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#51#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWD;
+    opcode  : A_VPMOVDW;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#35#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#51#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVDW;
     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_ymmreg_mz,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#51#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVM2B;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#36#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVM2B;
     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,ot_kreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVSXWQ;
+    opcode  : A_VPMOVM2B;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#36#72;
-    flags   : [if_avx2]
+    optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBD;
+    opcode  : A_VPMOVM2D;
     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,ot_kreg,ot_none,ot_none);
+    code    : #219#232#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBD;
+    opcode  : A_VPMOVM2D;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#49#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBD;
+    opcode  : A_VPMOVM2D;
     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_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBD;
+    opcode  : A_VPMOVM2Q;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#49#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVM2Q;
     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_ymmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#244#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVM2Q;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#50#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#234#249#1#56#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVM2W;
     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_xmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBQ;
+    opcode  : A_VPMOVM2W;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#50#72;
-    flags   : [if_avx2]
+    optypes : (ot_ymmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#234#244#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBW;
+    opcode  : A_VPMOVM2W;
     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_zmmreg,ot_kreg,ot_none,ot_none);
+    code    : #219#232#233#234#249#1#40#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBW;
+    opcode  : A_VPMOVQ2M;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#48#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_kreg,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#234#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXBW;
+    opcode  : A_VPMOVQ2M;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#48#72;
-    flags   : [if_avx2]
+    optypes : (ot_kreg,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#234#244#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXDQ;
+    opcode  : A_VPMOVQ2M;
     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_kreg,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#234#249#1#57#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXDQ;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#53#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_mem16_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#50#65;
+    flags   : [if_avx512,if_tovm]
   ),
   (
-    opcode  : A_VPMOVZXDQ;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#53#72;
-    flags   : [if_avx2]
+    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_VPMOVZXWD;
+    opcode  : A_VPMOVQB;
     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_mem64_m,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#50#65;
+    flags   : [if_avx512,if_tovm]
   ),
   (
-    opcode  : A_VPMOVZXWD;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#51#72;
-    flags   : [if_avx,if_sandybridge]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#50#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXWD;
+    opcode  : A_VPMOVQB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#51#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
+    code    : #219#232#244#249#1#50#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXWQ;
+    opcode  : A_VPMOVQB;
     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_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#50#65;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPMOVZXWQ;
+    opcode  : A_VPMOVQD;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#52#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPMOVZXWQ;
+    opcode  : A_VPMOVQD;
     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_mem256_m,ot_zmmreg,ot_none,ot_none);
+    code    : #219#232#233#249#1#53#65;
+    flags   : [if_avx512,if_thvm]
   ),
   (
-    opcode  : A_VPMOVZXWQ;
+    opcode  : A_VPMOVQD;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#52#72;
-    flags   : [if_avx2]
+    optypes : (ot_mem64_m,ot_xmmreg,ot_none,ot_none);
+    code    : #219#232#249#1#53#65;
+    flags   : [if_avx512,if_thvm]
   ),
   (
-    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]
+    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_VPMULDQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#40#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULHRSW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#11#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULHUW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#228#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULHW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#229#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULLD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#64#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULLW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#213#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPMULUDQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#244#61#80;
-    flags   : [if_avx2]
+    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_VPOR;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#235#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPOR;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#235#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSADBW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#246#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSHUFB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#0#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSIGNB;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#8#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPSIGNB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#8#61#80;
-    flags   : [if_avx2]
+    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_VPSIGND;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#10#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPSIGND;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#10#61#80;
-    flags   : [if_avx2]
+    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_VPSIGNW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#9#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPSIGNW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#9#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSLLD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#242#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSLLQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#243#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSLLW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#241#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRAD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#226#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRAW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#225#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRLD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#210#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRLQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#211#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_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]
+    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_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]
+    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_VPSRLW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_xmmrm,ot_none);
-    code    : #241#242#244#248#1#209#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#248#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#250#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBQ;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#251#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBSB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#232#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBSW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#233#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBUSB;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#216#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBUSW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#217#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPSUBW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#249#61#80;
-    flags   : [if_avx2]
+    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_VPTEST;
+    opcode  : A_VPMOVWB;
     ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#23#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VPTEST;
+    opcode  : A_VPMOVWB;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#23#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VPUNPCKHBW;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#104#61#80;
-    flags   : [if_avx2]
+    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_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]
+    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_VPUNPCKHDQ;
+    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_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_xmmrm,ot_none);
+    code    : #232#234#241#249#1#64#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKHQDQ;
+    opcode  : A_VPMULLQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#64#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKHQDQ;
+    opcode  : A_VPMULLQ;
     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_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_VPUNPCKHWD;
+    opcode  : A_VPMULLQ;
     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_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_VPUNPCKHWD;
+    opcode  : A_VPMULLQ;
     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_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_VPUNPCKLBW;
+    opcode  : A_VPMULLQ;
     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_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_VPUNPCKLBW;
+    opcode  : A_VPMULTISHIFTQB;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#131#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKLDQ;
+    opcode  : A_VPMULTISHIFTQB;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#131#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPUNPCKLDQ;
+    opcode  : A_VPMULTISHIFTQB;
     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_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_VPUNPCKLQDQ;
+    opcode  : A_VPMULTISHIFTQB;
     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_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_VPUNPCKLQDQ;
+    opcode  : A_VPMULTISHIFTQB;
     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_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_VPUNPCKLWD;
+    opcode  : A_VPMULTISHIFTQB;
     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_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_VPUNPCKLWD;
+    opcode  : A_VPORD;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#248#1#235#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPXOR;
+    opcode  : A_VPORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#248#1#239#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VPXOR;
+    opcode  : A_VPORD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#248#1#239#61#80;
-    flags   : [if_avx2]
+    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_VRCPPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#83#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRCPPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#83#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRCPSS;
+    opcode  : A_VPORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#83#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VRCPSS;
+    opcode  : A_VPORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#83#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPD;
+    opcode  : A_VPORQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#9#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPD;
+    opcode  : A_VPORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#9#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPS;
+    opcode  : A_VPORQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#8#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDPS;
+    opcode  : A_VPORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#250#1#8#72#22;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#11#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#11#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSS;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#10#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VROUNDSS;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#10#61#80#23;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#82#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#82#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTSS;
+    opcode  : A_VPROLD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#82#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VRSQRTSS;
+    opcode  : A_VPROLQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#242#248#1#82#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_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]
+    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_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]
+    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_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]
+    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_VSQRTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#248#1#81#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VSQRTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #242#248#1#81#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #242#244#248#1#81#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTSD;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none);
-    code    : #220#242#248#1#81#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTSD;
+    opcode  : A_VPROLVD;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#21#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSQRTSS;
+    opcode  : A_VPROLVD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#81#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VSQRTSS;
+    opcode  : A_VPROLVQ;
     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_xmmrm,ot_none);
+    code    : #232#234#241#249#1#21#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSTMXCSR;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits32,ot_none,ot_none,ot_none);
-    code    : #242#248#1#174#131;
-    flags   : [if_avx,if_sandybridge]
+    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_VSUBPD;
+    opcode  : A_VPROLVQ;
     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_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_VSUBPD;
+    opcode  : A_VPROLVQ;
     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_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_VSUBPS;
+    opcode  : A_VPROLVQ;
     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_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_VSUBPS;
+    opcode  : A_VPROLVQ;
     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_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_VSUBSD;
+    opcode  : A_VPRORD;
     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_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #232#241#248#1#114#60#136#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBSD;
+    opcode  : A_VPRORD;
     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_bmem32,ot_immediate or ot_bits8,ot_none);
+    code    : #232#241#248#1#114#60#136#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VSUBSS;
+    opcode  : A_VPRORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits32,ot_none);
-    code    : #219#242#248#1#92#61#80;
-    flags   : [if_avx,if_sandybridge]
+    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_VSUBSS;
+    opcode  : A_VPRORD;
     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_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_VTESTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#15#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VTESTPD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#15#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VTESTPS;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_ymmrm,ot_none,ot_none);
-    code    : #241#242#244#249#1#14#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VTESTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmrm,ot_none,ot_none);
-    code    : #241#242#249#1#14#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VUCOMISD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#248#1#46#72;
-    flags   : [if_avx,if_sandybridge]
+    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_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]
+    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_VUCOMISS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #242#248#1#46#72;
-    flags   : [if_avx,if_sandybridge]
+    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_VUNPCKHPD;
+    opcode  : A_VPRORVD;
     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#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VUNPCKHPD;
+    opcode  : A_VPRORVD;
     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_bmem32,ot_none);
+    code    : #232#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VUNPCKHPS;
+    opcode  : A_VPRORVD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VUNPCKHPS;
+    opcode  : A_VPRORVD;
     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_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VUNPCKLPD;
+    opcode  : A_VPRORVD;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VUNPCKLPD;
+    opcode  : A_VPRORVD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VUNPCKLPS;
+    opcode  : A_VPRORVQ;
     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#234#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VUNPCKLPS;
+    opcode  : A_VPRORVQ;
     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_bmem64,ot_none);
+    code    : #232#234#241#249#1#20#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VXORPD;
+    opcode  : A_VPRORVQ;
     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_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_VXORPD;
+    opcode  : A_VPRORVQ;
     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_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_VXORPS;
+    opcode  : A_VPRORVQ;
     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_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_VXORPS;
+    opcode  : A_VPRORVQ;
     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_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_VZEROALL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #242#244#248#1#119;
-    flags   : [if_avx,if_sandybridge]
+    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_VZEROUPPER;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #242#248#1#119;
-    flags   : [if_avx,if_sandybridge]
+    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_ANDN;
-    ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #242#249#1#242#61#80;
-    flags   : [if_bmi1,if_prot]
+    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_ANDN;
-    ops     : 3;
-    optypes : (ot_reg64,ot_reg64,ot_rm_gpr or ot_bits64,ot_none);
-    code    : #242#243#249#1#242#61#80;
-    flags   : [if_bmi1,if_prot,if_x86_64]
+    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_BEXTR;
-    ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #242#249#1#247#62#72;
-    flags   : [if_bmi1,if_prot]
+    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_BEXTR;
-    ops     : 3;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_reg64,ot_none);
-    code    : #242#243#249#1#247#62#72;
-    flags   : [if_bmi1,if_prot,if_x86_64]
+    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_BLSI;
+    opcode  : A_VPSCATTERQD;
     ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #242#249#1#243#60#139;
-    flags   : [if_bmi1,if_prot]
+    optypes : (ot_xmem32_m,ot_xmmreg,ot_none,ot_none);
+    code    : #232#241#249#1#161#65;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_BLSI;
+    opcode  : A_VPSCATTERQD;
     ops     : 2;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_none,ot_none);
-    code    : #242#243#249#1#243#60#139;
-    flags   : [if_bmi1,if_prot,if_x86_64]
+    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_BLSMSK;
+    opcode  : A_VPSCATTERQD;
     ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #242#249#1#243#60#138;
-    flags   : [if_bmi1,if_prot]
+    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_BLSMSK;
+    opcode  : A_VPSCATTERQQ;
     ops     : 2;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_none,ot_none);
-    code    : #242#243#249#1#243#60#138;
-    flags   : [if_bmi1,if_prot,if_x86_64]
+    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_BLSR;
+    opcode  : A_VPSCATTERQQ;
     ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #242#249#1#243#60#137;
-    flags   : [if_bmi1,if_prot]
+    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_BLSR;
+    opcode  : A_VPSCATTERQQ;
     ops     : 2;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_none,ot_none);
-    code    : #242#243#249#1#243#60#137;
-    flags   : [if_bmi1,if_prot,if_x86_64]
+    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_TZCNT;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_rm_gpr,ot_none,ot_none);
-    code    : #208#219#2#15#188#72;
-    flags   : [if_bmi1,if_sm]
+    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_BZHI;
+    opcode  : A_VPSLLVW;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #242#249#1#245#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_BZHI;
+    opcode  : A_VPSLLVW;
     ops     : 3;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_reg64,ot_none);
-    code    : #242#243#249#1#245#62#72;
-    flags   : [if_bmi2,if_prot,if_x86_64]
+    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_MULX;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #220#242#249#1#246#61#80;
-    flags   : [if_bmi2,if_prot]
+    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_MULX;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg64,ot_reg64,ot_rm_gpr or ot_bits64,ot_none);
-    code    : #220#242#243#249#1#246#61#80;
-    flags   : [if_bmi2,if_prot,if_x86_64]
+    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_PDEP;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #220#242#249#1#245#61#80;
-    flags   : [if_bmi2,if_prot]
+    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_PDEP;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg64,ot_reg64,ot_rm_gpr or ot_bits64,ot_none);
-    code    : #220#242#243#249#1#245#61#80;
-    flags   : [if_bmi2,if_prot,if_x86_64]
+    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_PEXT;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_reg32,ot_rm_gpr or ot_bits32,ot_none);
-    code    : #219#242#249#1#245#61#80;
-    flags   : [if_bmi2,if_prot]
+    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_PEXT;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg64,ot_reg64,ot_rm_gpr or ot_bits64,ot_none);
-    code    : #219#242#243#249#1#245#61#80;
-    flags   : [if_bmi2,if_prot,if_x86_64]
+    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_RORX;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_immediate or ot_bits8,ot_none);
-    code    : #220#242#250#1#240#72#22;
-    flags   : [if_bmi2,if_prot]
+    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_RORX;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_immediate or ot_bits8,ot_none);
-    code    : #220#242#243#250#1#240#72#22;
-    flags   : [if_bmi2,if_prot,if_x86_64]
+    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_SARX;
+    opcode  : A_VPSRAQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #219#242#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_SARX;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_reg64,ot_none);
-    code    : #219#242#243#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot,if_x86_64]
+    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_SHLX;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #241#242#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_SHLX;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_reg64,ot_none);
-    code    : #241#242#243#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot,if_x86_64]
+    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_SHRX;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_reg32,ot_none);
-    code    : #220#242#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot]
+    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_SHRX;
+    opcode  : A_VPSRAVQ;
     ops     : 3;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_reg64,ot_none);
-    code    : #220#242#243#249#1#247#62#72;
-    flags   : [if_bmi2,if_prot,if_x86_64]
+    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_ADCX;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #241#3#15#56#246#72;
-    flags   : [if_adx]
+    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_ADCX;
-    ops     : 2;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_none,ot_none);
-    code    : #241#214#3#15#56#246#72;
-    flags   : [if_adx,if_x86_64]
+    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_ADOX;
-    ops     : 2;
-    optypes : (ot_reg32,ot_rm_gpr or ot_bits32,ot_none,ot_none);
-    code    : #219#3#15#56#246#72;
-    flags   : [if_adx]
+    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_ADOX;
-    ops     : 2;
-    optypes : (ot_reg64,ot_rm_gpr or ot_bits64,ot_none,ot_none);
-    code    : #219#214#3#15#56#246#72;
-    flags   : [if_adx,if_x86_64]
+    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_VBROADCASTI128;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none);
-    code    : #241#242#244#249#1#90#72;
-    flags   : [if_avx2]
+    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_VEXTRACTI128;
+    opcode  : A_VPSRLVW;
     ops     : 3;
-    optypes : (ot_xmmrm,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
-    code    : #241#242#244#250#1#57#65#22;
-    flags   : [if_avx2]
+    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_VINSERTI128;
+    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_ymmreg,ot_ymmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#56#61#80#23;
-    flags   : [if_avx2]
+    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_VPBLENDD;
+    opcode  : A_VPTERNLOGD;
     ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#2#61#80#23;
-    flags   : [if_avx2]
+    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_VPBLENDD;
+    opcode  : A_VPTERNLOGD;
     ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_immediate or ot_bits8);
-    code    : #241#242#250#1#2#61#80#23;
-    flags   : [if_avx2]
+    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_VPBROADCASTB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#120#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTB;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#120#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTB;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits8,ot_none,ot_none);
-    code    : #241#242#244#249#1#120#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#88#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_none,ot_none);
-    code    : #241#242#249#1#88#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#88#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTD;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_memory or ot_bits32,ot_none,ot_none);
-    code    : #241#242#244#249#1#88#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_none,ot_none);
-    code    : #241#242#249#1#89#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#89#72;
-    flags   : [if_avx2]
+    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_VPBROADCASTQ;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#89#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#249#1#121#72;
-    flags   : [if_avx2]
+    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_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]
+    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_VPBROADCASTW;
-    ops     : 2;
-    optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
-    code    : #241#242#244#249#1#121#72;
-    flags   : [if_avx2]
+    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_VPERM2I128;
-    ops     : 4;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_immediate or ot_bits8);
-    code    : #241#242#244#250#1#70#61#80#23;
-    flags   : [if_avx2]
+    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_VPERMD;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #219#232#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMPD;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #219#232#244#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMPS;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #219#232#244#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPERMQ;
+    opcode  : A_VPTESTNMD;
     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_kreg_m,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #219#232#233#249#1#39#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPMASKMOVD;
+    opcode  : A_VPTESTNMD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPMASKMOVD;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVD;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#244#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPMASKMOVD;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits128,ot_none);
-    code    : #241#242#243#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_memory or ot_bits128,ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMQ;
     ops     : 3;
-    optypes : (ot_memory or ot_bits256,ot_ymmreg,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#142#61#66;
-    flags   : [if_avx2]
+    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_VPMASKMOVQ;
+    opcode  : A_VPTESTNMW;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_memory or ot_bits256,ot_none);
-    code    : #241#242#243#244#249#1#140#61#80;
-    flags   : [if_avx2]
+    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_VPSLLVD;
+    opcode  : A_VPTESTNMW;
     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_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_VPSLLVD;
+    opcode  : A_VPTESTNMW;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#71#61#80;
-    flags   : [if_avx2]
+    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_VPSLLVQ;
+    opcode  : A_VPXORD;
     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#241#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSLLVQ;
+    opcode  : A_VPXORD;
     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_bmem32,ot_none);
+    code    : #232#241#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRAVD;
+    opcode  : A_VPXORD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRAVD;
+    opcode  : A_VPXORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#70#61#80;
-    flags   : [if_avx2]
+    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_VPSRLVD;
+    opcode  : A_VPXORD;
     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_zmmreg_mz,ot_zmmreg,ot_zmmrm,ot_none);
+    code    : #232#233#241#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRLVD;
+    opcode  : A_VPXORD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#69#61#80;
-    flags   : [if_avx2]
+    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_VPSRLVQ;
+    opcode  : A_VPXORQ;
     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#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VPSRLVQ;
+    opcode  : A_VPXORQ;
     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#248#1#239#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VGATHERDPD;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERDPD;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_xmem64,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERDPS;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERDPS;
+    opcode  : A_VPXORQ;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymem32,ot_ymmreg,ot_none);
-    code    : #241#242#244#249#1#146#62#72;
-    flags   : [if_avx2]
+    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_VGATHERQPD;
+    opcode  : A_VRCP14SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#147#62#72;
-    flags   : [if_avx2]
+    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_VGATHERQPD;
+    opcode  : A_VRCP14SD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#147#62#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#234#241#249#1#77#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VGATHERQPS;
+    opcode  : A_VRCP14SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#147#62#72;
-    flags   : [if_avx2]
+    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_VGATHERQPS;
+    opcode  : A_VRCP14SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
-    code    : #241#242#244#249#1#147#62#72;
-    flags   : [if_avx2]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#241#249#1#77#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VPGATHERDD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#144#62#72;
-    flags   : [if_avx2]
+    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_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_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_VPGATHERDQ;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#144#62#72;
-    flags   : [if_avx2]
+    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_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_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_VPGATHERQD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem32,ot_xmmreg,ot_none);
-    code    : #241#242#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERQD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_ymem32,ot_xmmreg,ot_none);
-    code    : #241#242#244#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERQQ;
+    opcode  : A_VRCP28SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmem64,ot_xmmreg,ot_none);
-    code    : #241#242#243#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VPGATHERQQ;
+    opcode  : A_VRCP28SD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymem64,ot_ymmreg,ot_none);
-    code    : #241#242#243#244#249#1#145#62#72;
-    flags   : [if_avx2]
+    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_VFMADD132PD;
+    opcode  : A_VRCP28SS;
     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_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#203#61#80;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VFMADD132PD;
+    opcode  : A_VRCP28SS;
     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_xmmreg_sae,ot_none);
+    code    : #232#241#249#1#203#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PD;
+    opcode  : A_VREDUCEPD;
     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_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_VFMADD213PD;
+    opcode  : A_VREDUCEPD;
     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_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_VFMADD231PD;
+    opcode  : A_VREDUCEPD;
     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_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_VFMADD231PD;
+    opcode  : A_VREDUCEPD;
     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_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_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_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_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_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_VFMADD132PS;
+    opcode  : A_VREDUCEPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#152#61#80;
-    flags   : [if_fma]
+    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_VFMADD132PS;
+    opcode  : A_VREDUCEPS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#152#61#80;
-    flags   : [if_fma]
+    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_VFMADD213PS;
+    opcode  : A_VREDUCEPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#168#61#80;
-    flags   : [if_fma]
+    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_VFMADD213PS;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADD231PS;
+    opcode  : A_VREDUCEPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#184#61#80;
-    flags   : [if_fma]
+    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_VFMADD231PS;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADD132SD;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADD213SD;
+    opcode  : A_VREDUCEPS;
     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_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_VFMADD231SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#185#61#80;
-    flags   : [if_fma]
+    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_VFMADD132SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#153#61#80;
-    flags   : [if_fma]
+    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_VFMADD213SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#169#61#80;
-    flags   : [if_fma]
+    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_VFMADD231SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#185#61#80;
-    flags   : [if_fma]
+    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_VFMADDSUB132PD;
+    opcode  : A_VRNDSCALEPD;
     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_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #232#234#241#250#1#9#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADDSUB132PD;
+    opcode  : A_VRNDSCALEPD;
     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_bmem64,ot_immediate or ot_bits8,ot_none);
+    code    : #232#234#241#250#1#9#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADDSUB213PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMADDSUB213PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMADDSUB231PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMADDSUB231PD;
+    opcode  : A_VRNDSCALEPD;
     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_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_VFMADDSUB132PS;
+    opcode  : A_VRNDSCALEPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#150#61#80;
-    flags   : [if_fma]
+    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_VFMADDSUB132PS;
+    opcode  : A_VRNDSCALEPS;
     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_xmmrm,ot_immediate or ot_bits8,ot_none);
+    code    : #232#241#250#1#8#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADDSUB213PS;
+    opcode  : A_VRNDSCALEPS;
     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_bmem32,ot_immediate or ot_bits8,ot_none);
+    code    : #232#241#250#1#8#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADDSUB213PS;
+    opcode  : A_VRNDSCALEPS;
     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_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_VFMADDSUB231PS;
+    opcode  : A_VRNDSCALEPS;
     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_bmem32,ot_immediate or ot_bits8,ot_none);
+    code    : #232#241#244#250#1#8#72#22;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFMADDSUB231PS;
+    opcode  : A_VRNDSCALEPS;
     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_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_VFMSUBADD132PD;
+    opcode  : A_VRNDSCALEPS;
     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_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_VFMSUBADD132PD;
+    opcode  : A_VRNDSCALEPS;
     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_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_VFMSUBADD213PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#167#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD213PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#167#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD231PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#183#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD231PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#183#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD132PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#151#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD132PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#151#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD213PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#167#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD213PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#167#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD231PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#183#61#80;
-    flags   : [if_fma]
+    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_VFMSUBADD231PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#183#61#80;
-    flags   : [if_fma]
+    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_VFMSUB132PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#154#61#80;
-    flags   : [if_fma]
+    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_VFMSUB132PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#154#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#170#61#80;
-    flags   : [if_fma]
+    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_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]
+    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_VFMSUB231PD;
+    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,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#186#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#234#241#249#1#79#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PD;
+    opcode  : A_VRSQRT14SD;
     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_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_VFMSUB132PS;
+    opcode  : A_VRSQRT14SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#154#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #232#241#249#1#79#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PS;
+    opcode  : A_VRSQRT14SS;
     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_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_VFMSUB213PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#170#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#170#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#186#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#186#61#80;
-    flags   : [if_fma]
+    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_VFMSUB132SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#155#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#171#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231SD;
+    opcode  : A_VRSQRT28SD;
     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#249#1#205#61#80;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VFMSUB132SS;
+    opcode  : A_VRSQRT28SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#155#61#80;
-    flags   : [if_fma]
+    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_VFMSUB213SS;
+    opcode  : A_VRSQRT28SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#171#61#80;
-    flags   : [if_fma]
+    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_VFMSUB231SS;
+    opcode  : A_VRSQRT28SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#187#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_sae,ot_none);
+    code    : #232#241#249#1#205#61#80;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VSCALEFPD;
     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#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VSCALEFPD;
     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#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VSCALEFPD;
     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#244#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VSCALEFPD;
     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#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VSCALEFPD;
     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_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VSCALEFPD;
     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_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD132PS;
+    opcode  : A_VSCALEFPD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#156#61#80;
-    flags   : [if_fma]
+    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_VFNMADD132PS;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#156#61#80;
-    flags   : [if_fma]
+    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_VFNMADD213PS;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#172#61#80;
-    flags   : [if_fma]
+    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_VFNMADD213PS;
+    opcode  : A_VSCALEFPS;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD231PS;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#188#61#80;
-    flags   : [if_fma]
+    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_VFNMADD231PS;
+    opcode  : A_VSCALEFPS;
     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_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_VFNMADD132SD;
+    opcode  : A_VSCALEFPS;
     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_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#44#61#80;
+    flags   : [if_avx512,if_tfv]
   ),
   (
-    opcode  : A_VFNMADD213SD;
+    opcode  : A_VSCALEFPS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#173#61#80;
-    flags   : [if_fma]
+    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_VFNMADD231SD;
+    opcode  : A_VSCALEFSD;
     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#249#1#45#61#80;
+    flags   : [if_avx512,if_t1s]
   ),
   (
-    opcode  : A_VFNMADD132SS;
+    opcode  : A_VSCALEFSD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#157#61#80;
-    flags   : [if_fma]
+    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_VFNMADD213SS;
+    opcode  : A_VSCALEFSS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#173#61#80;
-    flags   : [if_fma]
+    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_VFNMADD231SS;
+    opcode  : A_VSCALEFSS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#189#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#45#61#80;
+    flags   : [if_avx512]
   ),
   (
-    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]
+    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_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]
+    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_VFNMSUB213PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PD;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#158#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#158#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#174#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231PS;
-    ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#190#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#159#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#175#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231SD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#191#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB132SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#159#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB213SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#175#61#80;
-    flags   : [if_fma]
+    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_VFNMSUB231SS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#191#61#80;
-    flags   : [if_fma]
+    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_XACQUIRE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #1#242;
-    flags   : [if_tsx]
+    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_XRELEASE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #1#243;
-    flags   : [if_tsx]
+    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_XBEGIN;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none,ot_none);
-    code    : #208#2#199#248#52;
-    flags   : [if_tsx]
+    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_XABORT;
-    ops     : 1;
-    optypes : (ot_immediate,ot_none,ot_none,ot_none);
-    code    : #2#198#248#20;
-    flags   : [if_tsx,if_sb]
+    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_XEND;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #3#15#1#213;
-    flags   : [if_tsx]
+    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_XTEST;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #3#15#1#214;
-    flags   : [if_tsx]
+    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_RDRAND;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
-    code    : #208#2#15#199#134;
-    flags   : [if_rand]
+    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_RDSEED;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none,ot_none);
-    code    : #208#2#15#199#135;
-    flags   : [if_rand]
+    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_XGETBV;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none,ot_none);
-    code    : #3#15#1#208;
-    flags   : [if_xsave]
+    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_PREFETCHWT1;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none,ot_none);
-    code    : #2#15#13#130;
-    flags   : [if_prefetchwt1]
+    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]
   )
 );

+ 10 - 6
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;

+ 11 - 7
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;

文件差異過大導致無法顯示
+ 729 - 140
tests/utils/avx/asmtestgenerator.pas


文件差異過大導致無法顯示
+ 3708 - 729
tests/utils/avx/avxopcodes.pas


+ 8 - 4
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

+ 6 - 0
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);

+ 22 - 2
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.

部分文件因文件數量過多而無法顯示