Browse Source

new avx512 opcodes

git-svn-id: branches/tg74/avx512@39720 -
tg74 6 years ago
parent
commit
c611e4814a

+ 33 - 33
compiler/i386/i386att.inc

@@ -1044,66 +1044,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',

+ 33 - 33
compiler/i386/i386int.inc

@@ -1044,66 +1044,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',

+ 1 - 1
compiler/i386/i386nop.inc

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

+ 33 - 33
compiler/i386/i386op.inc

@@ -1044,66 +1044,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,

+ 60 - 60
compiler/i386/i386prop.inc

@@ -1045,66 +1045,66 @@
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
 (Ch: []),
 (Ch: []),
 (Ch: []),

+ 1803 - 382
compiler/i386/i386tab.inc

@@ -18158,691 +18158,2112 @@
     code    : #232#233#234#241#249#1#145#72;
     flags   : [if_avx512]
   ),
+  (
+    opcode  : A_VFMADDPD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
+    code    : #241#242#250#1#105#61#80#247;
+    flags   : [if_fma4]
+  ),
+  (
+    opcode  : A_VFMADDPD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm);
+    code    : #241#242#250#243#1#105#61#88#246;
+    flags   : [if_fma4]
+  ),
   (
     opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#152#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#152#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#168#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#168#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#184#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#184#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDPD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
-    code    : #241#242#250#1#105#61#80#247;
-    flags   : [if_fma4]
+    opcode  : A_VFMADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDPD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm);
-    code    : #241#242#250#243#1#105#61#88#246;
-    flags   : [if_fma4]
+    opcode  : A_VFMADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#152#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]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PS;
+    opcode  : A_VFMADD132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#168#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PS;
+    opcode  : A_VFMADD132PS;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PS;
+    opcode  : A_VFMADD132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#184#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PS;
+    opcode  : A_VFMADD132PS;
     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_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFMADD132SD;
     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_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213SD;
+    opcode  : A_VFMADD132SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#169#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231SD;
+    opcode  : A_VFMADD132SS;
     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_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213SS;
+    opcode  : A_VFMADD213PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#169#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231SS;
+    opcode  : A_VFMADD213PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#185#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PD;
+    opcode  : A_VFMADD213PD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PD;
+    opcode  : A_VFMADD213PD;
     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_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PD;
+    opcode  : A_VFMADD213PD;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PD;
+    opcode  : A_VFMADD213PD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PD;
+    opcode  : A_VFMADD213PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#182#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PD;
+    opcode  : A_VFMADD213PS;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PS;
+    opcode  : A_VFMADD213PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#150#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PS;
+    opcode  : A_VFMADD213PS;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PS;
+    opcode  : A_VFMADD213PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#166#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PS;
+    opcode  : A_VFMADD213PS;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PS;
+    opcode  : A_VFMADD213PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#182#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PS;
+    opcode  : A_VFMADD213PS;
     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_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PD;
+    opcode  : A_VFMADD213SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#151#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PD;
+    opcode  : A_VFMADD213SD;
     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_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PD;
+    opcode  : A_VFMADD213SS;
     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_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PD;
+    opcode  : A_VFMADD213SS;
     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_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PD;
+    opcode  : A_VFMADD231PD;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PD;
+    opcode  : A_VFMADD231PD;
     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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PS;
+    opcode  : A_VFMADD231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#151#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PS;
+    opcode  : A_VFMADD231PD;
     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_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PS;
+    opcode  : A_VFMADD231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#167#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#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PS;
+    opcode  : A_VFMADD231PD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PS;
+    opcode  : A_VFMADD231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#183#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PS;
+    opcode  : A_VFMADD231PS;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PD;
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#184#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#166#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#182#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#154#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#154#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#170#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#170#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#186#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#186#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#151#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#167#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#183#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#183#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#156#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#156#72;
+    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#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#172#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#188#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#188#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#189#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #232#234#241#249#1#189#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#189#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMSUB132PD;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PD;
+    opcode  : A_VFNMSUB132PD;
     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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PD;
+    opcode  : A_VFNMSUB132PD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PD;
+    opcode  : A_VFNMSUB132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#170#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PD;
+    opcode  : A_VFNMSUB132PD;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PD;
+    opcode  : A_VFNMSUB132PD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PS;
+    opcode  : A_VFNMSUB132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#154#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PS;
+    opcode  : A_VFNMSUB132PS;
     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_xmmrm,ot_none);
+    code    : #232#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#170#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#170#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#186#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#186#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132SD;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#155#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213SD;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#171#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231SD;
+    opcode  : A_VFNMSUB132SD;
     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_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132SS;
+    opcode  : A_VFNMSUB132SD;
     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_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213SS;
+    opcode  : A_VFNMSUB132SS;
     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_xmmreg_er,ot_none);
+    code    : #232#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231SS;
+    opcode  : A_VFNMSUB132SS;
     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_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PS;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132SD;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213SD;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231SD;
+    opcode  : A_VFNMSUB213SD;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132SS;
+    opcode  : A_VFNMSUB213SD;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213SS;
+    opcode  : A_VFNMSUB213SS;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231SS;
+    opcode  : A_VFNMSUB213SS;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PS;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PS;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PS;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PS;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#190#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132SD;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#159#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213SD;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#175#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132SS;
+    opcode  : A_VFNMSUB231SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#159#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213SS;
+    opcode  : A_VFNMSUB231SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#175#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFNMSUB231SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#191#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_XACQUIRE;

+ 33 - 33
compiler/i8086/i8086att.inc

@@ -1058,66 +1058,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',

+ 33 - 33
compiler/i8086/i8086int.inc

@@ -1058,66 +1058,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',

+ 1 - 1
compiler/i8086/i8086nop.inc

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

+ 33 - 33
compiler/i8086/i8086op.inc

@@ -1058,66 +1058,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,

+ 60 - 60
compiler/i8086/i8086prop.inc

@@ -1059,66 +1059,66 @@
 (Ch: [Ch_All]),
 (Ch: [Ch_WFlags, Ch_Rop1, Ch_Rop2]),
 (Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
 (Ch: []),
 (Ch: []),
 (Ch: []),

+ 1803 - 382
compiler/i8086/i8086tab.inc

@@ -18382,691 +18382,2112 @@
     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,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#152#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#152#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#168#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#168#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#184#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#184#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDPD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
-    code    : #241#242#250#1#105#61#80#247;
-    flags   : [if_fma4]
+    opcode  : A_VFMADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDPD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm);
-    code    : #241#242#250#243#1#105#61#88#246;
-    flags   : [if_fma4]
+    opcode  : A_VFMADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#152#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]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PS;
+    opcode  : A_VFMADD132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#168#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PS;
+    opcode  : A_VFMADD132PS;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PS;
+    opcode  : A_VFMADD132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#184#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PS;
+    opcode  : A_VFMADD132PS;
     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_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFMADD132SD;
     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_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213SD;
+    opcode  : A_VFMADD132SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#169#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231SD;
+    opcode  : A_VFMADD132SS;
     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_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213SS;
+    opcode  : A_VFMADD213PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#169#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231SS;
+    opcode  : A_VFMADD213PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#185#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PD;
+    opcode  : A_VFMADD213PD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PD;
+    opcode  : A_VFMADD213PD;
     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_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PD;
+    opcode  : A_VFMADD213PD;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PD;
+    opcode  : A_VFMADD213PD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PD;
+    opcode  : A_VFMADD213PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#182#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PD;
+    opcode  : A_VFMADD213PS;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PS;
+    opcode  : A_VFMADD213PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#150#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PS;
+    opcode  : A_VFMADD213PS;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PS;
+    opcode  : A_VFMADD213PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#166#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PS;
+    opcode  : A_VFMADD213PS;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PS;
+    opcode  : A_VFMADD213PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#182#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PS;
+    opcode  : A_VFMADD213PS;
     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_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PD;
+    opcode  : A_VFMADD213SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#151#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PD;
+    opcode  : A_VFMADD213SD;
     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_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PD;
+    opcode  : A_VFMADD213SS;
     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_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PD;
+    opcode  : A_VFMADD213SS;
     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_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PD;
+    opcode  : A_VFMADD231PD;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PD;
+    opcode  : A_VFMADD231PD;
     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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PS;
+    opcode  : A_VFMADD231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#151#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PS;
+    opcode  : A_VFMADD231PD;
     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_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PS;
+    opcode  : A_VFMADD231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#167#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#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PS;
+    opcode  : A_VFMADD231PD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PS;
+    opcode  : A_VFMADD231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#183#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PS;
+    opcode  : A_VFMADD231PS;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PD;
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#184#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#166#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#182#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#154#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#154#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#170#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#170#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#186#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#186#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#151#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#167#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#183#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#183#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#156#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#156#72;
+    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#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#172#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#188#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#188#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#189#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #232#234#241#249#1#189#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#189#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMSUB132PD;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PD;
+    opcode  : A_VFNMSUB132PD;
     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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PD;
+    opcode  : A_VFNMSUB132PD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PD;
+    opcode  : A_VFNMSUB132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#170#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PD;
+    opcode  : A_VFNMSUB132PD;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PD;
+    opcode  : A_VFNMSUB132PD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PS;
+    opcode  : A_VFNMSUB132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#154#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PS;
+    opcode  : A_VFNMSUB132PS;
     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_xmmrm,ot_none);
+    code    : #232#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#170#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#170#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#186#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#186#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132SD;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#155#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213SD;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#171#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231SD;
+    opcode  : A_VFNMSUB132SD;
     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_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132SS;
+    opcode  : A_VFNMSUB132SD;
     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_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213SS;
+    opcode  : A_VFNMSUB132SS;
     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_xmmreg_er,ot_none);
+    code    : #232#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231SS;
+    opcode  : A_VFNMSUB132SS;
     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_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PS;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132SD;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213SD;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231SD;
+    opcode  : A_VFNMSUB213SD;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132SS;
+    opcode  : A_VFNMSUB213SD;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213SS;
+    opcode  : A_VFNMSUB213SS;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231SS;
+    opcode  : A_VFNMSUB213SS;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PS;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PS;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PS;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PS;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#190#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132SD;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#159#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213SD;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#175#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132SS;
+    opcode  : A_VFNMSUB231SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#159#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213SS;
+    opcode  : A_VFNMSUB231SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#175#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFNMSUB231SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#191#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_XACQUIRE;

+ 690 - 209
compiler/x86/x86ins.dat

@@ -6352,286 +6352,767 @@ rm16,imm                              \2\x0F\x19\200\25                   NEC,SW
 ;*******************************************************************************
 ;********** FMA ****************************************************************
 ;*******************************************************************************
-[VFMADD132PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x98\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x98\75\120    FMA
-
-[VFMADD213PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xA8\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xA8\75\120    FMA
-
-[VFMADD231PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xB8\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xB8\75\120    FMA
-
+;[VFMADD132PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x98\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x98\75\120    FMA
+;
+;[VFMADD213PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xA8\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xA8\75\120    FMA
+;
+;[VFMADD231PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xB8\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xB8\75\120    FMA
+;
 [VFMADDPD]
 (Ch_Mop3, Ch_Rop2, Ch_Rop1)
 xmmreg,xmmreg,xmmrm,xmmreg           \361\362\372\1\x69\75\120\367        FMA4
 xmmreg,xmmreg,xmmreg,xmmrm           \361\362\372\363\1\x69\75\130\366    FMA4
 
-[VFMADD132PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\x98\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x98\75\120        FMA
+;[VFMADD132PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\x98\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x98\75\120        FMA
+;
+;[VFMADD213PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xA8\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xA8\75\120        FMA
+;
+;[VFMADD231PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xB8\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xB8\75\120        FMA
+;
+;[VFMADD132SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x99\75\120        FMA
+;
+;[VFMADD213SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xa9\75\120        FMA
+;
+;[VFMADD231SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xb9\75\120        FMA
+;
+;[VFMADD132SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\x99\75\120            FMA
+;
+;[VFMADD213SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xA9\75\120            FMA
+;
+;[VFMADD231SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xb9\75\120            FMA
+;
+;[VFMADDSUB132PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x96\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x96\75\120    FMA
+;
+;[VFMADDSUB213PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xA6\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xA6\75\120    FMA
+;
+;[VFMADDSUB231PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xB6\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xB6\75\120    FMA
+;
+;[VFMADDSUB132PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\x96\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x96\75\120        FMA
+;
+;[VFMADDSUB213PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xA6\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xA6\75\120        FMA
+;
+;[VFMADDSUB231PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xB6\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xB6\75\120        FMA
+;
+;[VFMSUBADD132PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x97\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x97\75\120    FMA
+;
+;[VFMSUBADD213PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xA7\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xA7\75\120    FMA
+;
+;[VFMSUBADD231PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xB7\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xB7\75\120    FMA
+;
+;[VFMSUBADD132PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\x97\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x97\75\120        FMA
+;
+;[VFMSUBADD213PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xA7\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xA7\75\120        FMA
+;
+;[VFMSUBADD231PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xB7\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xB7\75\120        FMA
+;
+;[VFMSUB132PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9A\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x9A\75\120    FMA
+;
+;[VFMSUB213PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAA\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xAA\75\120    FMA
+;
+;[VFMSUB231PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBA\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xBA\75\120    FMA
+;
+;[VFMSUB132PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9A\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x9A\75\120        FMA
+;
+;[VFMSUB213PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAA\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xAA\75\120        FMA
+;
+;[VFMSUB231PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBA\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xBA\75\120        FMA
+;
+;[VFMSUB132SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9B\75\120        FMA
+;
+;[VFMSUB213SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAB\75\120        FMA
+;
+;[VFMSUB231SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBB\75\120        FMA
+;
+;[VFMSUB132SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9B\75\120            FMA
+;
+;[VFMSUB213SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAB\75\120            FMA
+;
+;[VFMSUB231SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBB\75\120            FMA
+;
+;[VFNMADD132PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9C\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x9C\75\120    FMA
+;
+;[VFNMADD213PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAC\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xAC\75\120    FMA
+;
+;[VFNMADD231PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBC\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xBC\75\120    FMA
+;
+;[VFNMADD132PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9C\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x9C\75\120        FMA
+;
+;[VFNMADD213PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAC\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xAC\75\120        FMA
+;
+;[VFNMADD231PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBC\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xBC\75\120        FMA
+;
+;[VFNMADD132SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9D\75\120        FMA
+;
+;[VFNMADD213SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAD\75\120        FMA
+;
+;[VFNMADD231SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBD\75\120        FMA
+;
+;[VFNMADD132SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9D\75\120            FMA
+;
+;[VFNMADD213SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAD\75\120            FMA
+;
+;[VFNMADD231SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBD\75\120            FMA
+;
+;[VFNMSUB132PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9E\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x9E\75\120    FMA
+;
+;[VFNMSUB213PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAE\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xAE\75\120    FMA
+;
+;[VFNMSUB231PD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBE\75\120        FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xBE\75\120    FMA
+;
+;[VFNMSUB132PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9E\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x9E\75\120        FMA
+;
+;[VFNMSUB213PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAE\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xAE\75\120        FMA
+;
+;[VFNMSUB231PS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBE\75\120            FMA
+;ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xBE\75\120        FMA
+;
+;[VFNMSUB132SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9F\75\120        FMA
+;
+;[VFNMSUB213SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAF\75\120        FMA
+;
+;[VFNMSUB231SD]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBF\75\120        FMA
+;
+;[VFNMSUB132SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9F\75\120            FMA
+;
+;[VFNMSUB213SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAF\75\120            FMA
+;
+;[VFNMSUB231SS]
+;(Ch_Mop3, Ch_Rop2, Ch_Rop1)
+;xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBF\75\120            FMA
 
-[VFMADD213PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xA8\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xA8\75\120        FMA
 
-[VFMADD231PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xB8\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xB8\75\120        FMA
+[VFMADD132PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\x98\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x98\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\x98\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x98\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x98\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x98\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\x98\110            AVX512
+
+[VFMADD132PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\x98\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\x98\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\x98\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\x98\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\x98\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x98\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\x98\110                AVX512
 
 [VFMADD132SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x99\75\120        FMA
+(Ch_All)
+xmmreg_mz,xmmreg,mem64                    \350\352\361\371\1\x99\110                AVX512
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\x99\110                AVX512
 
-[VFMADD213SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xa9\75\120        FMA
+[VFMADD132SS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\x99\110                    AVX512
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\x99\110                    AVX512
 
-[VFMADD231SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xb9\75\120        FMA
+[VFMADD213PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xA8\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xA8\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xA8\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xA8\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xA8\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xA8\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xA8\110            AVX512
 
-[VFMADD132SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\x99\75\120            FMA
+[VFMADD213PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xA8\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xA8\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xA8\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xA8\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xA8\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xA8\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xA8\110                AVX512
+
+[VFMADD213SD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\xA9\110                AVX512
+xmmreg_mz,xmmreg,mem64                    \350\352\361\371\1\xA9\110                AVX512
 
 [VFMADD213SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xA9\75\120            FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\xA9\110                    AVX512
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\xA9\110                    AVX512
 
-[VFMADD231SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xb9\75\120            FMA
+[VFMADD231PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xB8\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xB8\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xB8\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xB8\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xB8\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xB8\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xB8\110            AVX512
 
-[VFMADDSUB132PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x96\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x96\75\120    FMA
+[VFMADD231PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xB8\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xB8\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xB8\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xB8\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xB8\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xB8\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xB8\110                AVX512
 
-[VFMADDSUB213PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xA6\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xA6\75\120    FMA
+[VFMADD231SD]
+(Ch_All)
+xmmreg_mz,xmmreg,mem64                    \350\352\361\371\1\xB9\110                AVX512
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\xB9\110                AVX512
 
-[VFMADDSUB231PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xB6\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xB6\75\120    FMA
+[VFMADD231SS]
+(Ch_All)
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\xB9\110                    AVX512
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\xB9\110                    AVX512
+
+[VFMADDSUB132PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\x96\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x96\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\x96\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x96\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x96\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x96\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\x96\110            AVX512
 
 [VFMADDSUB132PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\x96\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x96\75\120        FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\x96\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\x96\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\x96\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\x96\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\x96\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x96\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\x96\110                AVX512
+
+[VFMADDSUB213PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xA6\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xA6\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xA6\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xA6\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xA6\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xA6\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xA6\110            AVX512
 
 [VFMADDSUB213PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xA6\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xA6\75\120        FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xA6\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xA6\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xA6\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xA6\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xA6\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xA6\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xA6\110                AVX512
+
+[VFMADDSUB231PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xB6\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xB6\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xB6\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xB6\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xB6\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xB6\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xB6\110            AVX512
 
 [VFMADDSUB231PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xB6\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xB6\75\120        FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xB6\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xB6\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xB6\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xB6\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xB6\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xB6\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xB6\110                AVX512
 
-[VFMSUBADD132PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x97\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x97\75\120    FMA
+[VFMSUB132PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\x9A\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x9A\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\x9A\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x9A\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x9A\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x9A\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\x9A\110            AVX512
 
-[VFMSUBADD213PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xA7\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xA7\75\120    FMA
+[VFMSUB132PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\x9A\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\x9A\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\x9A\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\x9A\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\x9A\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x9A\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\x9A\110                AVX512
 
-[VFMSUBADD231PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xB7\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xB7\75\120    FMA
+[VFMSUB132SD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\x9B\110                AVX512
+xmmreg_mz,xmmreg,mem64                    \350\352\361\371\1\x9B\110                AVX512
 
-[VFMSUBADD132PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\x97\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x97\75\120        FMA
+[VFMSUB132SS]
+(Ch_All)
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\x9B\110                    AVX512
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\x9B\110                    AVX512
 
-[VFMSUBADD213PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xA7\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xA7\75\120        FMA
+[VFMSUB213PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xAA\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xAA\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xAA\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xAA\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xAA\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xAA\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xAA\110            AVX512
 
-[VFMSUBADD231PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xB7\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xB7\75\120        FMA
+[VFMSUB213PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xAA\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xAA\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xAA\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xAA\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xAA\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xAA\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xAA\110                AVX512
 
-[VFMSUB132PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9A\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x9A\75\120    FMA
+[VFMSUB213SD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\xAB\110                AVX512
+xmmreg_mz,xmmreg,mem64                    \350\352\361\371\1\xAB\110                AVX512
 
-[VFMSUB213PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAA\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xAA\75\120    FMA
+[VFMSUB213SS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\xAB\110                    AVX512
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\xAB\110                    AVX512
 
 [VFMSUB231PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBA\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xBA\75\120    FMA
-
-[VFMSUB132PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9A\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x9A\75\120        FMA
-
-[VFMSUB213PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAA\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xAA\75\120        FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xBA\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xBA\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xBA\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xBA\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xBA\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xBA\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xBA\110            AVX512
 
 [VFMSUB231PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBA\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xBA\75\120        FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xBA\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xBA\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xBA\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xBA\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xBA\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xBA\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xBA\110                AVX512
 
-[VFMSUB132SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9B\75\120        FMA
+[VFMSUB231SD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\xBB\110                AVX512
+xmmreg_mz,xmmreg,mem64                    \350\352\361\371\1\xBB\110                AVX512
 
-[VFMSUB213SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAB\75\120        FMA
+[VFMSUB231SS]
+(Ch_All)
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\xBB\110                    AVX512
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\xBB\110                    AVX512
 
-[VFMSUB231SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBB\75\120        FMA
+[VFMSUBADD132PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\x97\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x97\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\x97\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x97\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x97\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x97\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\x97\110            AVX512
 
-[VFMSUB132SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9B\75\120            FMA
+[VFMSUBADD132PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\x97\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\x97\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\x97\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\x97\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\x97\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x97\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\x97\110                AVX512
 
-[VFMSUB213SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAB\75\120            FMA
+[VFMSUBADD213PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xA7\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xA7\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xA7\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xA7\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xA7\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xA7\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xA7\110            AVX512
 
-[VFMSUB231SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBB\75\120            FMA
+[VFMSUBADD213PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xA7\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xA7\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xA7\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xA7\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xA7\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xA7\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xA7\110                AVX512
 
-[VFNMADD132PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9C\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x9C\75\120    FMA
+[VFMSUBADD231PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xB7\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xB7\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xB7\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xB7\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xB7\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xB7\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xB7\110            AVX512
 
-[VFNMADD213PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAC\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xAC\75\120    FMA
+[VFMSUBADD231PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xB7\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xB7\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xB7\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xB7\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xB7\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xB7\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xB7\110                AVX512
 
-[VFNMADD231PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBC\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xBC\75\120    FMA
+[VFNMADD132PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\x9C\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x9C\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\x9C\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x9C\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x9C\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x9C\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\x9C\110            AVX512
 
 [VFNMADD132PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9C\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x9C\75\120        FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\x9C\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\x9C\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\x9C\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\x9C\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\x9C\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x9C\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\x9C\110                AVX512
 
-[VFNMADD213PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAC\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xAC\75\120        FMA
+[VFNMADD132SD]
+(Ch_All)
+xmmreg_mz,xmmreg,mem64                    \350\352\361\371\1\x9D\110                AVX512
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\x9D\110                AVX512
 
-[VFNMADD231PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBC\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xBC\75\120        FMA
+[VFNMADD132SS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\x9D\110                    AVX512
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\x9D\110                    AVX512
 
-[VFNMADD132SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9D\75\120        FMA
+[VFNMADD213PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xAC\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xAC\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xAC\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xAC\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xAC\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xAC\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xAC\110            AVX512
+
+[VFNMADD213PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xAC\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xAC\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xAC\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xAC\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xAC\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xAC\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xAC\110                AVX512
 
 [VFNMADD213SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAD\75\120        FMA
+(Ch_All)
+xmmreg_mz,xmmreg,mem64                    \350\352\361\371\1\xAD\110                AVX512
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\xAD\110                AVX512
 
-[VFNMADD231SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBD\75\120        FMA
+[VFNMADD213SS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\xAD\110                    AVX512
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\xAD\110                    AVX512
 
-[VFNMADD132SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9D\75\120            FMA
+[VFNMADD231PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xBC\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xBC\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xBC\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xBC\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xBC\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xBC\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xBC\110            AVX512
 
-[VFNMADD213SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAD\75\120            FMA
+[VFNMADD231PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xBC\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xBC\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xBC\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xBC\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xBC\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xBC\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xBC\110                AVX512
+
+[VFNMADD231SD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\xBD\110                AVX512
+xmmreg_mz,xmmreg,mem128                   \350\352\361\371\1\xBD\110                AVX512
 
 [VFNMADD231SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBD\75\120            FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\xBD\110                    AVX512
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\xBD\110                    AVX512
 
 [VFNMSUB132PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9E\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\x9E\75\120    FMA
-
-[VFNMSUB213PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAE\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xAE\75\120    FMA
-
-[VFNMSUB231PD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBE\75\120        FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\363\1\xBE\75\120    FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\x9E\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\x9E\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\x9E\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\x9E\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\x9E\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\x9E\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\x9E\110            AVX512
 
 [VFNMSUB132PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9E\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\x9E\75\120        FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\x9E\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\x9E\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\x9E\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\x9E\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\x9E\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\x9E\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\x9E\110                AVX512
 
-[VFNMSUB213PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAE\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xAE\75\120        FMA
+[VFNMSUB132SD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\x9F\110                AVX512
+xmmreg_mz,xmmreg,mem64                    \350\352\361\371\1\x9F\110                AVX512
 
-[VFNMSUB231PS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBE\75\120            FMA
-ymmreg,ymmreg,ymmrm                  \361\362\364\371\1\xBE\75\120        FMA
+[VFNMSUB132SS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\x9F\110                    AVX512
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\x9F\110                    AVX512
 
-[VFNMSUB132SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\x9F\75\120        FMA
+[VFNMSUB213PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xAE\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xAE\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xAE\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xAE\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xAE\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xAE\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xAE\110            AVX512
+
+[VFNMSUB213PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xAE\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xAE\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xAE\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xAE\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xAE\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xAE\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xAE\110                AVX512
 
 [VFNMSUB213SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xAF\75\120        FMA
+(Ch_All)
+xmmreg_mz,xmmreg,mem64                    \350\352\361\371\1\xAF\110                AVX512
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\xAF\110                AVX512
 
-[VFNMSUB231SD]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\363\1\xBF\75\120        FMA
+[VFNMSUB213SS]
+(Ch_All)
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\xAF\110                    AVX512
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\xAF\110                    AVX512
 
-[VFNMSUB132SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\x9F\75\120            FMA
+[VFNMSUB231PD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\352\361\371\1\xBE\110                AVX512
+xmmreg_mz,xmmreg,bmem64                   \350\352\361\371\1\xBE\110                AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\352\361\364\371\1\xBE\110            AVX512
+ymmreg_mz,ymmreg,bmem64                   \350\352\361\364\371\1\xBE\110            AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\352\361\371\1\xBE\110            AVX512
+zmmreg_mz,zmmreg,bmem64                   \350\351\352\361\371\1\xBE\110            AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\352\361\371\1\xBE\110            AVX512
 
-[VFNMSUB213SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xAF\75\120            FMA
+[VFNMSUB231PS]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmrm                    \350\361\371\1\xBE\110                    AVX512
+xmmreg_mz,xmmreg,bmem32                   \350\361\371\1\xBE\110                    AVX512
+ymmreg_mz,ymmreg,ymmrm                    \350\361\364\371\1\xBE\110                AVX512
+ymmreg_mz,ymmreg,bmem32                   \350\361\364\371\1\xBE\110                AVX512
+zmmreg_mz,zmmreg,mem512                   \350\351\361\371\1\xBE\110                AVX512
+zmmreg_mz,zmmreg,bmem32                   \350\351\361\371\1\xBE\110                AVX512
+zmmreg_mz,zmmreg,zmmreg_er                \350\351\361\371\1\xBE\110                AVX512
+
+[VFNMSUB231SD]
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\352\361\371\1\xBF\110                AVX512
+xmmreg_mz,xmmreg,mem64                  \350\352\361\371\1\xBF\110                AVX512
 
 [VFNMSUB231SS]
-(Ch_Mop3, Ch_Rop2, Ch_Rop1)
-xmmreg,xmmreg,xmmrm                  \361\362\371\1\xBF\75\120            FMA
+(Ch_All)
+xmmreg_mz,xmmreg,xmmreg_er                \350\361\371\1\xBF\110                    AVX512
+xmmreg_mz,xmmreg,mem32                    \350\361\371\1\xBF\110                    AVX512
 
 
 

+ 33 - 33
compiler/x86_64/x8664att.inc

@@ -1040,66 +1040,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',

+ 33 - 33
compiler/x86_64/x8664int.inc

@@ -1040,66 +1040,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',

+ 1 - 1
compiler/x86_64/x8664nop.inc

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

+ 33 - 33
compiler/x86_64/x8664op.inc

@@ -1040,66 +1040,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,

+ 60 - 60
compiler/x86_64/x8664pro.inc

@@ -1041,66 +1041,66 @@
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
+(Ch: [Ch_All]),
 (Ch: []),
 (Ch: []),
 (Ch: []),

+ 1803 - 382
compiler/x86_64/x8664tab.inc

@@ -18529,691 +18529,2112 @@
     code    : #232#233#234#241#249#1#145#72;
     flags   : [if_avx512]
   ),
+  (
+    opcode  : A_VFMADDPD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
+    code    : #241#242#250#1#105#61#80#247;
+    flags   : [if_fma4]
+  ),
+  (
+    opcode  : A_VFMADDPD;
+    ops     : 4;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm);
+    code    : #241#242#250#243#1#105#61#88#246;
+    flags   : [if_fma4]
+  ),
   (
     opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#152#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#152#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#168#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#168#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#184#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PD;
+    opcode  : A_VFMADD132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#184#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDPD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_xmmreg);
-    code    : #241#242#250#1#105#61#80#247;
-    flags   : [if_fma4]
+    opcode  : A_VFMADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDPD;
-    ops     : 4;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmreg,ot_xmmrm);
-    code    : #241#242#250#243#1#105#61#88#246;
-    flags   : [if_fma4]
+    opcode  : A_VFMADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#152#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]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PS;
+    opcode  : A_VFMADD132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#168#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213PS;
+    opcode  : A_VFMADD132PS;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PS;
+    opcode  : A_VFMADD132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#184#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231PS;
+    opcode  : A_VFMADD132PS;
     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_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#152#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFMADD132SD;
     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_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213SD;
+    opcode  : A_VFMADD132SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#169#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231SD;
+    opcode  : A_VFMADD132SS;
     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_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#153#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD213SS;
+    opcode  : A_VFMADD213PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#169#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADD231SS;
+    opcode  : A_VFMADD213PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#185#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PD;
+    opcode  : A_VFMADD213PD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PD;
+    opcode  : A_VFMADD213PD;
     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_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PD;
+    opcode  : A_VFMADD213PD;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PD;
+    opcode  : A_VFMADD213PD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PD;
+    opcode  : A_VFMADD213PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#182#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PD;
+    opcode  : A_VFMADD213PS;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PS;
+    opcode  : A_VFMADD213PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#150#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB132PS;
+    opcode  : A_VFMADD213PS;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PS;
+    opcode  : A_VFMADD213PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#166#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB213PS;
+    opcode  : A_VFMADD213PS;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PS;
+    opcode  : A_VFMADD213PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#182#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMADDSUB231PS;
+    opcode  : A_VFMADD213PS;
     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_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#168#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PD;
+    opcode  : A_VFMADD213SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#151#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PD;
+    opcode  : A_VFMADD213SD;
     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_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PD;
+    opcode  : A_VFMADD213SS;
     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_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PD;
+    opcode  : A_VFMADD213SS;
     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_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#169#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PD;
+    opcode  : A_VFMADD231PD;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PD;
+    opcode  : A_VFMADD231PD;
     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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PS;
+    opcode  : A_VFMADD231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#151#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD132PS;
+    opcode  : A_VFMADD231PD;
     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_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PS;
+    opcode  : A_VFMADD231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#167#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#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD213PS;
+    opcode  : A_VFMADD231PD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PS;
+    opcode  : A_VFMADD231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#183#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUBADD231PS;
+    opcode  : A_VFMADD231PS;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#184#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PD;
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#184#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#184#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADD231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#185#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#150#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#166#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#166#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#182#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMADDSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#182#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#154#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#154#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#154#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#155#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#170#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#170#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#170#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#171#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#186#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#186#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#186#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUB231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#187#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#151#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#151#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#167#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#167#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#183#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#183#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFMSUBADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#183#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#156#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#156#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#156#72;
+    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#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD132SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#157#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#172#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#172#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD213SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#173#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#188#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PD;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#188#72;
+    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#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231PS;
+    ops     : 3;
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#188#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#189#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231SD;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits128,ot_none);
+    code    : #232#234#241#249#1#189#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMADD231SS;
+    ops     : 3;
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#189#72;
+    flags   : [if_avx512]
+  ),
+  (
+    opcode  : A_VFNMSUB132PD;
     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_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PD;
+    opcode  : A_VFNMSUB132PD;
     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_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PD;
+    opcode  : A_VFNMSUB132PD;
     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_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PD;
+    opcode  : A_VFNMSUB132PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#170#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PD;
+    opcode  : A_VFNMSUB132PD;
     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_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PD;
+    opcode  : A_VFNMSUB132PD;
     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_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PS;
+    opcode  : A_VFNMSUB132PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#154#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132PS;
+    opcode  : A_VFNMSUB132PS;
     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_xmmrm,ot_none);
+    code    : #232#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#170#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#170#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#186#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231PS;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#186#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132SD;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#155#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213SD;
+    opcode  : A_VFNMSUB132PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#171#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#158#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231SD;
+    opcode  : A_VFNMSUB132SD;
     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_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB132SS;
+    opcode  : A_VFNMSUB132SD;
     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_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB213SS;
+    opcode  : A_VFNMSUB132SS;
     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_xmmreg_er,ot_none);
+    code    : #232#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFMSUB231SS;
+    opcode  : A_VFNMSUB132SS;
     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_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#159#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PD;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PS;
+    opcode  : A_VFNMSUB213PD;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231PS;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132SD;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213SD;
+    opcode  : A_VFNMSUB213PS;
     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#174#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231SD;
+    opcode  : A_VFNMSUB213SD;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD132SS;
+    opcode  : A_VFNMSUB213SD;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD213SS;
+    opcode  : A_VFNMSUB213SS;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMADD231SS;
+    opcode  : A_VFNMSUB213SS;
     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#175#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#234#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PD;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#243#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem64,ot_none);
+    code    : #232#234#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem64,ot_none);
+    code    : #232#233#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PS;
+    opcode  : A_VFNMSUB231PD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#234#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132PS;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#158#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #232#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PS;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_bmem32,ot_none);
+    code    : #232#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213PS;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#174#61#80;
-    flags   : [if_fma]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_ymmrm,ot_none);
+    code    : #232#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_ymmreg_mz,ot_ymmreg,ot_bmem32,ot_none);
+    code    : #232#241#244#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
-    code    : #241#242#244#249#1#190#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_memory or ot_bits512,ot_none);
+    code    : #232#233#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132SD;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#159#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_bmem32,ot_none);
+    code    : #232#233#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213SD;
+    opcode  : A_VFNMSUB231PS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#243#1#175#61#80;
-    flags   : [if_fma]
+    optypes : (ot_zmmreg_mz,ot_zmmreg,ot_zmmreg_er,ot_none);
+    code    : #232#233#241#249#1#190#72;
+    flags   : [if_avx512]
   ),
   (
     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]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#234#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB132SS;
+    opcode  : A_VFNMSUB231SD;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#159#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits64,ot_none);
+    code    : #232#234#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
-    opcode  : A_VFNMSUB213SS;
+    opcode  : A_VFNMSUB231SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#175#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_xmmreg_er,ot_none);
+    code    : #232#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_VFNMSUB231SS;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
-    code    : #241#242#249#1#191#61#80;
-    flags   : [if_fma]
+    optypes : (ot_xmmreg_mz,ot_xmmreg,ot_memory or ot_bits32,ot_none);
+    code    : #232#241#249#1#191#72;
+    flags   : [if_avx512]
   ),
   (
     opcode  : A_XACQUIRE;