summaryrefslogtreecommitdiff
path: root/fixes_3_2/tests/utils/avx/avxopcodes.pas
diff options
context:
space:
mode:
Diffstat (limited to 'fixes_3_2/tests/utils/avx/avxopcodes.pas')
-rw-r--r--fixes_3_2/tests/utils/avx/avxopcodes.pas3003
1 files changed, 2204 insertions, 799 deletions
diff --git a/fixes_3_2/tests/utils/avx/avxopcodes.pas b/fixes_3_2/tests/utils/avx/avxopcodes.pas
index bae89e0ec0..f58a62e552 100644
--- a/fixes_3_2/tests/utils/avx/avxopcodes.pas
+++ b/fixes_3_2/tests/utils/avx/avxopcodes.pas
@@ -8,7 +8,9 @@ uses Classes;
type
- TTestFileTyp = (tfNasm, tfFPC, tfFasm);
+ TTestFileTyp = (tfNasm, tfFPC, tfFasm, tfFPCInc, tfFPCMRef);
+
+ { TAVXTestGenerator }
TAVXTestGenerator = class(TObject)
private
@@ -16,30 +18,41 @@ type
protected
procedure Init;
- function InternalMakeTestFiles(aX64: boolean; aDestPath, aFileExt: String; aOpCodeList, aHeaderList, aFooterList: TStringList): boolean;
+ function InternalMakeTestFiles(aMRef, aX64: boolean; aDestPath, aFilemask, aFileExt: String; aOpCodeList, aHeaderList, aFooterList: TStringList): boolean;
public
constructor Create;
destructor Destroy; override;
- function MakeTestFiles(aTyp: TTestFileTyp; aX64: boolean; aDestPath: String): boolean;
+ function MakeTestFiles(aTyp: TTestFileTyp; aX64: boolean; aDestPath, aFilemask: String): boolean;
+ procedure ListMemRefState;
+// function MakeTestFilesMREF(aTyp: TTestFileTyp; aX64, aAVX512, aSAE: boolean; aDestPath: String): boolean;
property OpCodeList: TStringList read FOpCodeList write FOpCodeList;
end;
implementation
-uses SysUtils, AsmTestGenerator;
+uses SysUtils, AsmTestGenerator, Dialogs;
{ TAVXTestGenerator }
constructor TAVXTestGenerator.Create;
+var
+ i: integer;
begin
inherited;
FOpCodeList := TStringList.Create;
+ FOpCodeList.Duplicates := dupIgnore;
+ FOpCodeList.Sorted := true;
Init;
+
+
+ FOpCodeList.Sorted := false;
+ for i := 0 to FOpCodeList.Count - 1 do
+ FOpCodeList[i] := AnsiLowerCase(FOpCodeList[i]);
end;
destructor TAVXTestGenerator.Destroy;
@@ -51,768 +64,1979 @@ end;
procedure TAVXTestGenerator.Init;
begin
- FOpCodeList.Add('VADDPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VADDPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VADDPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VADDPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VADDSD,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VADDSD,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VADDSS,1,1,XMMREG,XMMREG,MEM32,');
- FOpCodeList.Add('VADDSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VADDSUBPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VADDSUBPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VADDSUBPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VADDSUBPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VAESDEC,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VAESDECLAST,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VAESENC,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VAESENCLAST,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VAESIMC,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VAESKEYGENASSIST,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VANDNPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VANDNPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VANDNPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VANDNPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VANDPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VANDPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VANDPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VANDPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VBLENDPD,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VBLENDPD,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VBLENDPS,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VBLENDPS,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VBLENDVPD,1,1,XMMREG,XMMREG,XMMRM,XMMREG');
- FOpCodeList.Add('VBLENDVPD,1,1,YMMREG,YMMREG,YMMRM,YMMREG');
- FOpCodeList.Add('VBLENDVPS,1,1,XMMREG,XMMREG,XMMRM,XMMREG');
- FOpCodeList.Add('VBLENDVPS,1,1,YMMREG,YMMREG,YMMRM,YMMREG');
- FOpCodeList.Add('VBROADCASTF128,1,1,YMMREG,MEM128,,');
- FOpCodeList.Add('VBROADCASTSD,1,1,YMMREG,MEM64,,');
- FOpCodeList.Add('VBROADCASTSS,1,1,YMMREG,MEM32,,');
- FOpCodeList.Add('VBROADCASTSS,1,1,XMMREG,MEM32,,');
- FOpCodeList.Add('VCMPPD,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VCMPPD,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VCMPPS,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VCMPPS,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VCMPSD,1,1,XMMREG,XMMREG,MEM64,IMM8');
- FOpCodeList.Add('VCMPSD,1,1,XMMREG,XMMREG,XMMREG,IMM8');
- FOpCodeList.Add('VCMPSS,1,1,XMMREG,XMMREG,MEM64,IMM8');
- FOpCodeList.Add('VCMPSS,1,1,XMMREG,XMMREG,XMMREG,IMM8');
- FOpCodeList.Add('VCOMISD,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VCOMISD,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VCOMISS,1,1,XMMREG,MEM32,,');
- FOpCodeList.Add('VCOMISS,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VCVTDQ2PD,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VCVTDQ2PD,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VCVTDQ2PD,1,1,YMMREG,XMMRM,,');
- FOpCodeList.Add('VCVTDQ2PS,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VCVTDQ2PS,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VCVTPD2DQ,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VCVTPD2DQ,1,1,XMMREG,YMMRM,,');
- FOpCodeList.Add('VCVTPD2PS,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VCVTPD2PS,1,1,XMMREG,YMMRM,,');
- FOpCodeList.Add('VCVTPS2DQ,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VCVTPS2DQ,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VCVTPS2PD,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VCVTPS2PD,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VCVTPS2PD,1,1,YMMREG,XMMRM,,');
- FOpCodeList.Add('VCVTSD2SI,1,1,REG32,MEM64,,');
- FOpCodeList.Add('VCVTSD2SI,1,1,REG32,XMMREG,,');
- FOpCodeList.Add('VCVTSD2SI,0,1,REG64,MEM64,,');
- FOpCodeList.Add('VCVTSD2SI,0,1,REG64,XMMREG,,');
- FOpCodeList.Add('VCVTSD2SS,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VCVTSD2SS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VCVTSI2SD,1,1,XMMREG,XMMREG,RM32,');
- FOpCodeList.Add('VCVTSI2SD,0,1,XMMREG,XMMREG,RM64,');
- FOpCodeList.Add('VCVTSI2SS,1,1,XMMREG,XMMREG,RM32,');
- FOpCodeList.Add('VCVTSI2SS,0,1,XMMREG,XMMREG,RM64,');
- FOpCodeList.Add('VCVTSS2SD,1,1,XMMREG,XMMREG,MEM32,');
- FOpCodeList.Add('VCVTSS2SD,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VCVTSS2SI,1,1,REG32,MEM32,,');
- FOpCodeList.Add('VCVTSS2SI,1,1,REG32,XMMREG,,');
- FOpCodeList.Add('VCVTSS2SI,0,1,REG64,MEM32,,');
- FOpCodeList.Add('VCVTSS2SI,0,1,REG64,XMMREG,,');
- FOpCodeList.Add('VCVTTPD2DQ,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VCVTTPD2DQ,1,1,XMMREG,YMMRM,,');
- FOpCodeList.Add('VCVTTPS2DQ,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VCVTTPS2DQ,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VCVTTSD2SI,1,1,REG32,MEM64,,');
- FOpCodeList.Add('VCVTTSD2SI,1,1,REG32,XMMREG,,');
- FOpCodeList.Add('VCVTTSD2SI,0,1,REG64,MEM64,,');
- FOpCodeList.Add('VCVTTSD2SI,0,1,REG64,XMMREG,,');
- FOpCodeList.Add('VCVTTSS2SI,1,1,REG32,MEM32,,');
- FOpCodeList.Add('VCVTTSS2SI,1,1,REG32,XMMREG,,');
- FOpCodeList.Add('VCVTTSS2SI,0,1,REG64,MEM32,,');
- FOpCodeList.Add('VCVTTSS2SI,0,1,REG64,XMMREG,,');
- FOpCodeList.Add('VDIVPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VDIVPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VDIVPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VDIVPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VDIVSD,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VDIVSD,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VDIVSS,1,1,XMMREG,XMMREG,MEM32,');
- FOpCodeList.Add('VDIVSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VDPPD,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VDPPS,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VDPPS,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VEXTRACTF128,1,1,XMMRM,YMMREG,IMM8,');
- FOpCodeList.Add('VEXTRACTPS,1,1,RM32,XMMREG,IMM8,');
- FOpCodeList.Add('VHADDPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VHADDPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VHADDPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VHADDPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VHSUBPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VHSUBPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VHSUBPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VHSUBPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VINSERTF128,1,1,YMMREG,YMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VINSERTPS,1,1,XMMREG,XMMREG,MEM32,IMM8');
- FOpCodeList.Add('VINSERTPS,1,1,XMMREG,XMMREG,XMMREG,IMM8');
- FOpCodeList.Add('VLDDQU,1,1,XMMREG,MEM128,,');
- FOpCodeList.Add('VLDDQU,1,1,YMMREG,MEM256,,');
- FOpCodeList.Add('VLDMXCSR,1,1,MEM32,,,');
- FOpCodeList.Add('VMASKMOVDQU,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VMASKMOVPD,1,1,MEM256,YMMREG,YMMREG,');
- FOpCodeList.Add('VMASKMOVPD,1,1,MEM128,XMMREG,XMMREG,');
- FOpCodeList.Add('VMASKMOVPD,1,1,YMMREG,YMMREG,MEM256,');
- FOpCodeList.Add('VMASKMOVPD,1,1,XMMREG,XMMREG,MEM128,');
- FOpCodeList.Add('VMASKMOVPS,1,1,MEM256,YMMREG,YMMREG,');
- FOpCodeList.Add('VMASKMOVPS,1,1,MEM128,XMMREG,XMMREG,');
- FOpCodeList.Add('VMASKMOVPS,1,1,YMMREG,YMMREG,MEM256,');
- FOpCodeList.Add('VMASKMOVPS,1,1,XMMREG,XMMREG,MEM128,');
- FOpCodeList.Add('VMAXPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VMAXPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VMAXPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VMAXPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VMAXSD,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VMAXSD,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMAXSS,1,1,XMMREG,XMMREG,MEM32,');
- FOpCodeList.Add('VMAXSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMINPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VMINPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VMINPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VMINPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VMINSD,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VMINSD,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMINSS,1,1,XMMREG,XMMREG,MEM32,');
- FOpCodeList.Add('VMINSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMOVAPD,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VMOVAPD,1,1,XMMRM,XMMREG,,');
- FOpCodeList.Add('VMOVAPD,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VMOVAPD,1,1,YMMRM,YMMREG,,');
- FOpCodeList.Add('VMOVAPS,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VMOVAPS,1,1,XMMRM,XMMREG,,');
- FOpCodeList.Add('VMOVAPS,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VMOVAPS,1,1,YMMRM,YMMREG,,');
- FOpCodeList.Add('VMOVD,1,1,XMMREG,RM32,,');
- FOpCodeList.Add('VMOVD,1,1,RM32,XMMREG,,');
- FOpCodeList.Add('VMOVDDUP,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VMOVDDUP,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VMOVDDUP,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VMOVDQA,1,1,YMMRM,YMMREG,,');
- FOpCodeList.Add('VMOVDQA,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VMOVDQA,1,1,XMMRM,XMMREG,,');
- FOpCodeList.Add('VMOVDQA,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VMOVDQU,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VMOVDQU,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VMOVDQU,1,1,XMMRM,XMMREG,,');
- FOpCodeList.Add('VMOVDQU,1,1,YMMRM,YMMREG,,');
- FOpCodeList.Add('VMOVHLPS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMOVHPD,1,1,MEM64,XMMREG,,');
- FOpCodeList.Add('VMOVHPD,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VMOVHPS,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VMOVHPS,1,1,MEM64,XMMREG,,');
- FOpCodeList.Add('VMOVLHPS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMOVLPD,1,1,MEM64,XMMREG,,');
- FOpCodeList.Add('VMOVLPD,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VMOVLPS,1,1,MEM64,XMMREG,,');
- FOpCodeList.Add('VMOVLPS,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VMOVMSKPD,1,1,REG32,YMMREG,,');
- FOpCodeList.Add('VMOVMSKPD,1,1,REG64,XMMREG,,');
- FOpCodeList.Add('VMOVMSKPD,1,1,REG32,XMMREG,,');
- FOpCodeList.Add('VMOVMSKPD,1,1,REG64,YMMREG,,');
- FOpCodeList.Add('VMOVMSKPS,1,1,REG32,YMMREG,,');
- FOpCodeList.Add('VMOVMSKPS,1,1,REG64,XMMREG,,');
- FOpCodeList.Add('VMOVMSKPS,1,1,REG32,XMMREG,,');
- FOpCodeList.Add('VMOVMSKPS,1,1,REG64,YMMREG,,');
- FOpCodeList.Add('VMOVNTDQ,1,1,MEM128,XMMREG,,');
- FOpCodeList.Add('VMOVNTDQ,1,1,MEM256,YMMREG,,');
- FOpCodeList.Add('VMOVNTDQA,1,1,XMMREG,MEM128,,');
- FOpCodeList.Add('VMOVNTPD,1,1,MEM256,YMMREG,,');
- FOpCodeList.Add('VMOVNTPD,1,1,MEM128,XMMREG,,');
- FOpCodeList.Add('VMOVNTPS,1,1,MEM128,YMMREG,,');
- FOpCodeList.Add('VMOVNTPS,1,1,MEM128,XMMREG,,');
- FOpCodeList.Add('VMOVQ,0,1,RM64,XMMREG,,');
- FOpCodeList.Add('VMOVQ,0,1,XMMREG,RM64,,');
- FOpCodeList.Add('VMOVSD,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMOVSD,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VMOVSD,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMOVSD,1,1,MEM64,XMMREG,,');
- FOpCodeList.Add('VMOVSHDUP,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VMOVSHDUP,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VMOVSLDUP,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VMOVSLDUP,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VMOVSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMOVSS,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VMOVSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMOVSS,1,1,MEM64,XMMREG,,');
- FOpCodeList.Add('VMOVUPD,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VMOVUPD,1,1,XMMRM,XMMREG,,');
- FOpCodeList.Add('VMOVUPD,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VMOVUPD,1,1,YMMRM,YMMREG,,');
- FOpCodeList.Add('VMOVUPS,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VMOVUPS,1,1,XMMRM,XMMREG,,');
- FOpCodeList.Add('VMOVUPS,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VMOVUPS,1,1,YMMRM,YMMREG,,');
- FOpCodeList.Add('VMPSADBW,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VMULPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VMULPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VMULPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VMULPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VMULSD,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VMULSD,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VMULSS,1,1,XMMREG,XMMREG,MEM32,');
- FOpCodeList.Add('VMULSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VORPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VORPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VORPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPABSB,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VPABSB,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VPABSD,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VPABSD,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VPABSW,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VPABSW,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VPACKSSDW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPACKSSDW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPACKSSWB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPACKSSWB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPACKUSDW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPACKUSDW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPACKUSWB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPACKUSWB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPADDB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPADDB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPADDD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPADDD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPADDQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPADDQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPADDSB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPADDSB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPADDSW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPADDSW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPADDUSB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPADDUSB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPADDUSW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPADDUSW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPADDW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPADDW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPALIGNR,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VPALIGNR,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VPAND,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPAND,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPANDN,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPANDN,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPAVGB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPAVGB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPAVGW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPAVGW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPBLENDVB,1,1,XMMREG,XMMREG,XMMRM,XMMREG');
- FOpCodeList.Add('VPBLENDVB,1,1,YMMREG,YMMREG,YMMRM,YMMREG');
- FOpCodeList.Add('VPBLENDW,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VPBLENDW,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VPCLMULQDQ,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VPCMPEQB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPCMPEQB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPCMPEQD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPCMPEQD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPCMPEQQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPCMPEQQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPCMPEQW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPCMPEQW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPCMPESTRI,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VPCMPESTRM,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VPCMPGTB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPCMPGTB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPCMPGTD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPCMPGTD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPCMPGTQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPCMPGTQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPCMPGTW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPCMPGTW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPCMPISTRI,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VPCMPISTRM,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VPERM2F128,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VPERMILPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPERMILPD,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VPERMILPD,1,1,YMMREG,YMMRM,IMM8,');
- FOpCodeList.Add('VPERMILPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPERMILPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPERMILPS,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VPERMILPS,1,1,YMMREG,YMMRM,IMM8,');
- FOpCodeList.Add('VPERMILPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPEXTRB,1,1,REG32,XMMREG,IMM8,');
- FOpCodeList.Add('VPEXTRB,1,1,REG64,XMMREG,IMM8,');
- FOpCodeList.Add('VPEXTRB,1,1,MEM8,XMMREG,IMM8,');
- FOpCodeList.Add('VPEXTRD,1,1,RM32,XMMREG,IMM8,');
- FOpCodeList.Add('VPEXTRQ,0,1,RM64,XMMREG,IMM8,');
- FOpCodeList.Add('VPEXTRW,1,1,REG32,XMMREG,IMM8,');
- FOpCodeList.Add('VPEXTRW,1,1,REG64,XMMREG,IMM8,');
- FOpCodeList.Add('VPEXTRW,1,1,REG64,XMMREG,IMM8,');
- FOpCodeList.Add('VPEXTRW,1,1,MEM16,XMMREG,IMM8,');
- FOpCodeList.Add('VPEXTRW,1,1,REG32,XMMREG,IMM8,');
- FOpCodeList.Add('VPHADDD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPHADDD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPHADDSW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPHADDSW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPHADDW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPHADDW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPHMINPOSUW,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VPHSUBD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPHSUBD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPHSUBSW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPHSUBSW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPHSUBW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPHSUBW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPINSRB,1,1,XMMREG,XMMREG,REG32,IMM8');
- FOpCodeList.Add('VPINSRB,1,1,XMMREG,XMMREG,MEM8,IMM8');
- FOpCodeList.Add('VPINSRD,1,1,XMMREG,XMMREG,RM32,IMM8');
- FOpCodeList.Add('VPINSRQ,0,1,XMMREG,XMMREG,RM64,IMM8');
- FOpCodeList.Add('VPINSRW,1,1,XMMREG,XMMREG,REG32,IMM8');
- FOpCodeList.Add('VPINSRW,1,1,XMMREG,XMMREG,MEM16,IMM8');
- FOpCodeList.Add('VPMADDUBSW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMADDUBSW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMADDWD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMADDWD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMAXSB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMAXSB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMAXSD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMAXSD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMAXSW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMAXSW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMAXUB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMAXUB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMAXUD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMAXUD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMAXUW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMAXUW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMINSB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMINSB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMINSD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMINSD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMINSW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMINSW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMINUB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMINUB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMINUD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMINUD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMINUW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMINUW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMOVMSKB,1,1,REG64,XMMREG,,');
- FOpCodeList.Add('VPMOVMSKB,1,1,REG64,YMMREG,,');
- FOpCodeList.Add('VPMOVMSKB,1,1,REG32,XMMREG,,');
- FOpCodeList.Add('VPMOVMSKB,1,1,REG32,YMMREG,,');
- FOpCodeList.Add('VPMOVSXBD,1,1,XMMREG,MEM32,,');
- FOpCodeList.Add('VPMOVSXBD,1,1,YMMREG,MEM64,,');
- FOpCodeList.Add('VPMOVSXBD,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVSXBD,1,1,YMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVSXBQ,1,1,XMMREG,MEM16,,');
- FOpCodeList.Add('VPMOVSXBQ,1,1,YMMREG,MEM32,,');
- FOpCodeList.Add('VPMOVSXBQ,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVSXBQ,1,1,YMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVSXBW,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VPMOVSXBW,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVSXBW,1,1,YMMREG,XMMRM,,');
- FOpCodeList.Add('VPMOVSXDQ,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VPMOVSXDQ,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVSXDQ,1,1,YMMREG,XMMRM,,');
- FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VPMOVSXWQ,1,1,XMMREG,MEM32,,');
- FOpCodeList.Add('VPMOVSXWQ,1,1,YMMREG,MEM64,,');
- FOpCodeList.Add('VPMOVSXWQ,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVSXWQ,1,1,YMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVZXBD,1,1,XMMREG,MEM32,,');
- FOpCodeList.Add('VPMOVZXBD,1,1,YMMREG,MEM64,,');
- FOpCodeList.Add('VPMOVZXBD,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVZXBD,1,1,YMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVZXBQ,1,1,XMMREG,MEM16,,');
- FOpCodeList.Add('VPMOVZXBQ,1,1,YMMREG,MEM32,,');
- FOpCodeList.Add('VPMOVZXBQ,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVZXBQ,1,1,YMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVZXBW,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VPMOVZXBW,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVZXBW,1,1,YMMREG,XMMRM,,');
- FOpCodeList.Add('VPMOVZXDQ,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VPMOVZXDQ,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVZXDQ,1,1,YMMREG,XMMRM,,');
- FOpCodeList.Add('VPMOVZXWD,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VPMOVZXWD,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVZXWD,1,1,YMMREG,XMMRM,,');
- FOpCodeList.Add('VPMOVZXWQ,1,1,XMMREG,MEM32,,');
- FOpCodeList.Add('VPMOVZXWQ,1,1,YMMREG,MEM64,,');
- FOpCodeList.Add('VPMOVZXWQ,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPMOVZXWQ,1,1,YMMREG,XMMREG,,');
- FOpCodeList.Add('VPMULDQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMULDQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMULHRSW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMULHRSW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMULHUW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMULHUW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMULHW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMULHW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMULLD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMULLD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMULLW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMULLW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPMULUDQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPMULUDQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPOR,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPOR,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSADBW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSADBW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSHUFB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSHUFB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSHUFD,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VPSHUFD,1,1,YMMREG,YMMRM,IMM8,');
- FOpCodeList.Add('VPSHUFHW,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VPSHUFHW,1,1,YMMREG,YMMRM,IMM8,');
- FOpCodeList.Add('VPSHUFLW,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VPSHUFLW,1,1,YMMREG,YMMRM,IMM8,');
- FOpCodeList.Add('VPSIGNB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSIGNB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSIGND,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSIGND,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSIGNW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSIGNW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSLLD,1,1,XMMREG,XMMREG,IMM8,');
- FOpCodeList.Add('VPSLLD,1,1,YMMREG,YMMREG,IMM8,');
- FOpCodeList.Add('VPSLLD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSLLD,1,1,YMMREG,YMMREG,XMMRM,');
- FOpCodeList.Add('VPSLLDQ,1,1,XMMREG,XMMREG,IMM8,');
- FOpCodeList.Add('VPSLLDQ,1,1,YMMREG,YMMREG,IMM8,');
- FOpCodeList.Add('VPSLLQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSLLQ,1,1,YMMREG,YMMREG,XMMRM,');
- FOpCodeList.Add('VPSLLQ,1,1,XMMREG,XMMREG,IMM8,');
- FOpCodeList.Add('VPSLLQ,1,1,YMMREG,YMMREG,IMM8,');
- FOpCodeList.Add('VPSLLW,1,1,XMMREG,XMMREG,IMM8,');
- FOpCodeList.Add('VPSLLW,1,1,YMMREG,YMMREG,IMM8,');
- FOpCodeList.Add('VPSLLW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSLLW,1,1,YMMREG,YMMREG,XMMRM,');
- FOpCodeList.Add('VPSRAD,1,1,XMMREG,XMMREG,IMM8,');
- FOpCodeList.Add('VPSRAD,1,1,YMMREG,YMMREG,IMM8,');
- FOpCodeList.Add('VPSRAD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSRAD,1,1,YMMREG,YMMREG,XMMRM,');
- FOpCodeList.Add('VPSRAW,1,1,XMMREG,XMMREG,IMM8,');
- FOpCodeList.Add('VPSRAW,1,1,YMMREG,YMMREG,IMM8,');
- FOpCodeList.Add('VPSRAW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSRAW,1,1,YMMREG,YMMREG,XMMRM,');
- FOpCodeList.Add('VPSRLD,1,1,XMMREG,XMMREG,IMM8,');
- FOpCodeList.Add('VPSRLD,1,1,YMMREG,YMMREG,IMM8,');
- FOpCodeList.Add('VPSRLD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSRLD,1,1,YMMREG,YMMREG,XMMRM,');
- FOpCodeList.Add('VPSRLDQ,1,1,XMMREG,XMMREG,IMM8,');
- FOpCodeList.Add('VPSRLDQ,1,1,YMMREG,YMMREG,IMM8,');
- FOpCodeList.Add('VPSRLQ,1,1,XMMREG,XMMREG,IMM8,');
- FOpCodeList.Add('VPSRLQ,1,1,YMMREG,YMMREG,IMM8,');
- FOpCodeList.Add('VPSRLQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSRLQ,1,1,YMMREG,YMMREG,XMMRM,');
- FOpCodeList.Add('VPSRLW,1,1,XMMREG,XMMREG,IMM8,');
- FOpCodeList.Add('VPSRLW,1,1,YMMREG,YMMREG,IMM8,');
- FOpCodeList.Add('VPSRLW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSRLW,1,1,YMMREG,YMMREG,XMMRM,');
- FOpCodeList.Add('VPSUBB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSUBB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSUBD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSUBD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSUBQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSUBQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSUBSB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSUBSB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSUBSW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSUBSW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSUBUSB,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSUBUSB,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSUBUSW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSUBUSW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSUBW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSUBW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPTEST,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VPTEST,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VPTEST,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VPTEST,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VPUNPCKHBW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPUNPCKHBW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPUNPCKHDQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPUNPCKHDQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPUNPCKHQDQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPUNPCKHQDQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPUNPCKHWD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPUNPCKHWD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPUNPCKLBW,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPUNPCKLBW,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPUNPCKLDQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPUNPCKLDQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPUNPCKLQDQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPUNPCKLQDQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPUNPCKLWD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPUNPCKLWD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPXOR,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPXOR,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VRCPPS,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VRCPPS,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VRCPSS,1,1,XMMREG,XMMREG,MEM32,');
- FOpCodeList.Add('VRCPSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VROUNDPD,1,1,YMMREG,YMMRM,IMM8,');
- FOpCodeList.Add('VROUNDPD,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VROUNDPS,1,1,YMMREG,YMMRM,IMM8,');
- FOpCodeList.Add('VROUNDPS,1,1,XMMREG,XMMRM,IMM8,');
- FOpCodeList.Add('VROUNDSD,1,1,XMMREG,XMMREG,MEM64,IMM8');
- FOpCodeList.Add('VROUNDSD,1,1,XMMREG,XMMREG,XMMREG,IMM8');
- FOpCodeList.Add('VROUNDSS,1,1,XMMREG,XMMREG,MEM32,IMM8');
- FOpCodeList.Add('VROUNDSS,1,1,XMMREG,XMMREG,XMMREG,IMM8');
- FOpCodeList.Add('VRSQRTPS,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VRSQRTPS,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VRSQRTSS,1,1,XMMREG,XMMREG,MEM32,');
- FOpCodeList.Add('VRSQRTSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VSHUFPD,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VSHUFPD,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VSHUFPS,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VSHUFPS,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VSQRTPD,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VSQRTPD,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VSQRTPS,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VSQRTPS,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VSQRTSD,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VSQRTSD,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VSQRTSS,1,1,XMMREG,XMMREG,MEM32,');
- FOpCodeList.Add('VSQRTSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VSTMXCSR,1,1,MEM32,,,');
- FOpCodeList.Add('VSUBPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VSUBPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VSUBPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VSUBPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VSUBSD,1,1,XMMREG,XMMREG,MEM64,');
- FOpCodeList.Add('VSUBSD,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VSUBSS,1,1,XMMREG,XMMREG,MEM32,');
- FOpCodeList.Add('VSUBSS,1,1,XMMREG,XMMREG,XMMREG,');
- FOpCodeList.Add('VTESTPD,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VTESTPD,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VTESTPS,1,1,YMMREG,YMMRM,,');
- FOpCodeList.Add('VTESTPS,1,1,XMMREG,XMMRM,,');
- FOpCodeList.Add('VUCOMISD,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VUCOMISD,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VUCOMISS,1,1,XMMREG,MEM32,,');
- FOpCodeList.Add('VUCOMISS,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VUNPCKHPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VUNPCKHPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VUNPCKHPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VUNPCKHPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VUNPCKLPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VUNPCKLPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VUNPCKLPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VUNPCKLPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VXORPD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VXORPD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VXORPS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VXORPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VZEROALL,1,1,,,,');
- FOpCodeList.Add('VZEROUPPER,1,1,,,,');
-
-
- FOpCodeList.Add('VBROADCASTI128,1,1,YMMREG,MEM128,,');
- FOpCodeList.Add('VEXTRACTI128,1,1,XMMRM,YMMREG,IMM8,');
- FOpCodeList.Add('VINSERTI128,1,1,YMMREG,YMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VPBLENDD,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VPBLENDD,1,1,XMMREG,XMMREG,XMMRM,IMM8');
- FOpCodeList.Add('VPBROADCASTB,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPBROADCASTB,1,1,YMMREG,XMMREG,,');
- FOpCodeList.Add('VPBROADCASTB,1,1,XMMREG,MEM8,,');
- FOpCodeList.Add('VPBROADCASTB,1,1,YMMREG,MEM8,,');
- FOpCodeList.Add('VPBROADCASTD,1,1,YMMREG,XMMREG,,');
- FOpCodeList.Add('VPBROADCASTD,1,1,XMMREG,MEM32,,');
- FOpCodeList.Add('VPBROADCASTD,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPBROADCASTD,1,1,YMMREG,MEM32,,');
- FOpCodeList.Add('VPBROADCASTQ,1,1,YMMREG,MEM64,,');
- FOpCodeList.Add('VPBROADCASTQ,1,1,XMMREG,MEM64,,');
- FOpCodeList.Add('VPBROADCASTQ,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPBROADCASTQ,1,1,YMMREG,XMMREG,,');
- FOpCodeList.Add('VPBROADCASTW,1,1,XMMREG,MEM16,,');
- FOpCodeList.Add('VPBROADCASTW,1,1,XMMREG,XMMREG,,');
- FOpCodeList.Add('VPBROADCASTW,1,1,YMMREG,MEM16,,');
- FOpCodeList.Add('VPBROADCASTW,1,1,YMMREG,XMMREG,,');
- FOpCodeList.Add('VPERM2I128,1,1,YMMREG,YMMREG,YMMRM,IMM8');
- FOpCodeList.Add('VPERMD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPERMPD,1,1,YMMREG,YMMRM,IMM8,');
- FOpCodeList.Add('VPERMPS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPERMQ,1,1,YMMREG,YMMRM,IMM8,');
- FOpCodeList.Add('VPMASKMOVD,1,1,XMMREG,XMMREG,MEM128,');
- FOpCodeList.Add('VPMASKMOVD,1,1,MEM128,XMMREG,XMMREG,');
- FOpCodeList.Add('VPMASKMOVD,1,1,YMMREG,YMMREG,MEM256,');
- FOpCodeList.Add('VPMASKMOVD,1,1,MEM256,YMMREG,YMMREG,');
- FOpCodeList.Add('VPMASKMOVQ,1,1,XMMREG,XMMREG,MEM128,');
- FOpCodeList.Add('VPMASKMOVQ,1,1,MEM128,XMMREG,XMMREG,');
- FOpCodeList.Add('VPMASKMOVQ,1,1,YMMREG,YMMREG,MEM256,');
- FOpCodeList.Add('VPMASKMOVQ,1,1,MEM256,YMMREG,YMMREG,');
- FOpCodeList.Add('VPSLLVD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSLLVD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSLLVQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSLLVQ,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSRAVD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSRAVD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSRLVD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSRLVD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VPSRLVQ,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VPSRLVQ,1,1,XMMREG,XMMREG,XMMRM,');
-
-
- FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD231PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD231PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD231PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADD231PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD132SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD213SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD231SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD132SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD213SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADD231SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADDSUB132PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADDSUB132PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADDSUB213PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADDSUB213PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADDSUB231PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADDSUB231PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADDSUB132PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADDSUB132PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADDSUB213PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADDSUB213PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMADDSUB231PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMADDSUB231PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUBADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUBADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUBADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUBADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUBADD231PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUBADD231PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUBADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUBADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUBADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUBADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUBADD231PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUBADD231PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB132PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUB132PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB213PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUB213PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB231PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUB231PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB132PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUB132PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB213PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUB213PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB231PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFMSUB231PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB132SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB213SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB231SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB132SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB213SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFMSUB231SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD231PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMADD231PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD231PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMADD231PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD132SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD213SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD231SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD132SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD213SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMADD231SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB132PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMSUB132PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB213PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMSUB213PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB231PD,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMSUB231PD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB132PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMSUB132PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB213PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMSUB213PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB231PS,1,1,YMMREG,YMMREG,YMMRM,');
- FOpCodeList.Add('VFNMSUB231PS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB132SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB213SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB231SD,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB132SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB213SS,1,1,XMMREG,XMMREG,XMMRM,');
- FOpCodeList.Add('VFNMSUB231SS,1,1,XMMREG,XMMREG,XMMRM,');
-
-
- FOpCodeList.Add('VGATHERDPD,1,1,XMMREG,XMEM32,XMMREG,');
- FOpCodeList.Add('VGATHERDPD,1,1,YMMREG,XMEM32,YMMREG,');
-
- FOpCodeList.Add('VGATHERQPD,1,1,XMMREG,XMEM64,XMMREG,');
- FOpCodeList.Add('VGATHERQPD,1,1,YMMREG,YMEM64,YMMREG,');
-
-
- FOpCodeList.Add('VGATHERDPS,1,1,XMMREG,XMEM32,XMMREG,');
- FOpCodeList.Add('VGATHERDPS,1,1,YMMREG,YMEM32,YMMREG,');
-
- FOpCodeList.Add('VGATHERQPS,1,1,XMMREG,XMEM64,XMMREG,');
- FOpCodeList.Add('VGATHERQPS,1,1,XMMREG,YMEM64,XMMREG,');
-
-
-
- FOpCodeList.Add('VPGATHERDD,1,1,XMMREG,XMEM32,XMMREG,');
- FOpCodeList.Add('VPGATHERDD,1,1,YMMREG,YMEM32,YMMREG,');
-
- FOpCodeList.Add('VPGATHERQD,1,1,XMMREG,XMEM64,XMMREG,');
- FOpCodeList.Add('VPGATHERQD,1,1,XMMREG,YMEM64,XMMREG,');
-
-
- FOpCodeList.Add('VPGATHERDQ,1,1,XMMREG,XMEM32,XMMREG,');
- FOpCodeList.Add('VPGATHERDQ,1,1,YMMREG,XMEM32,YMMREG,');
-
- FOpCodeList.Add('VPGATHERQQ,1,1,XMMREG,XMEM64,XMMREG,');
- FOpCodeList.Add('VPGATHERQQ,1,1,YMMREG,YMEM64,YMMREG,');
-
+ //FOpCodeList.Add('VADDPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VADDPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VADDPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VADDPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VADDSD,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VADDSD,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VADDSS,1,1,XMMREG,XMMREG,MEM32,');
+ //FOpCodeList.Add('VADDSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VADDSUBPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VADDSUBPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VADDSUBPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VADDSUBPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VAESDEC,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VAESDECLAST,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VAESENC,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VAESENCLAST,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VAESIMC,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VAESKEYGENASSIST,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VANDNPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VANDNPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VANDNPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VANDNPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VANDPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VANDPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VANDPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VANDPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VBLENDPD,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VBLENDPD,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VBLENDPS,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VBLENDPS,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VBLENDVPD,1,1,XMMREG,XMMREG,XMMRM,XMMREG');
+ //FOpCodeList.Add('VBLENDVPD,1,1,YMMREG,YMMREG,YMMRM,YMMREG');
+ //FOpCodeList.Add('VBLENDVPS,1,1,XMMREG,XMMREG,XMMRM,XMMREG');
+ //FOpCodeList.Add('VBLENDVPS,1,1,YMMREG,YMMREG,YMMRM,YMMREG');
+ //FOpCodeList.Add('VBROADCASTF128,1,1,YMMREG,MEM128,,');
+ //FOpCodeList.Add('VBROADCASTSD,1,1,YMMREG,MEM64,,');
+ //FOpCodeList.Add('VBROADCASTSS,1,1,YMMREG,MEM32,,');
+ //FOpCodeList.Add('VBROADCASTSS,1,1,XMMREG,MEM32,,');
+ //FOpCodeList.Add('VCMPPD,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VCMPPD,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VCMPPS,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VCMPPS,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VCMPSD,1,1,XMMREG,XMMREG,MEM64,IMM8');
+ //FOpCodeList.Add('VCMPSD,1,1,XMMREG,XMMREG,XMMREG,IMM8');
+ //FOpCodeList.Add('VCMPSS,1,1,XMMREG,XMMREG,MEM64,IMM8');
+ //FOpCodeList.Add('VCMPSS,1,1,XMMREG,XMMREG,XMMREG,IMM8');
+ //FOpCodeList.Add('VCOMISD,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VCOMISD,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VCOMISS,1,1,XMMREG,MEM32,,');
+ //FOpCodeList.Add('VCOMISS,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VCVTDQ2PD,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VCVTDQ2PD,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VCVTDQ2PD,1,1,YMMREG,XMMRM,,');
+ //FOpCodeList.Add('VCVTDQ2PS,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VCVTDQ2PS,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VCVTPD2DQ,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VCVTPD2DQ,1,1,XMMREG,YMMRM,,');
+ //FOpCodeList.Add('VCVTPD2PS,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VCVTPD2PS,1,1,XMMREG,YMMRM,,');
+ //FOpCodeList.Add('VCVTPS2DQ,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VCVTPS2DQ,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VCVTPS2PD,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VCVTPS2PD,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VCVTPS2PD,1,1,YMMREG,XMMRM,,');
+ //FOpCodeList.Add('VCVTSD2SI,1,1,REG32,MEM64,,');
+ //FOpCodeList.Add('VCVTSD2SI,1,1,REG32,XMMREG,,');
+ //FOpCodeList.Add('VCVTSD2SI,0,1,REG64,MEM64,,');
+ //FOpCodeList.Add('VCVTSD2SI,0,1,REG64,XMMREG,,');
+ //FOpCodeList.Add('VCVTSD2SS,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VCVTSD2SS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VCVTSI2SD,1,1,XMMREG,XMMREG,RM32,');
+ //FOpCodeList.Add('VCVTSI2SD,0,1,XMMREG,XMMREG,RM64,');
+ //FOpCodeList.Add('VCVTSI2SS,1,1,XMMREG,XMMREG,RM32,');
+ //FOpCodeList.Add('VCVTSI2SS,0,1,XMMREG,XMMREG,RM64,');
+ //FOpCodeList.Add('VCVTSS2SD,1,1,XMMREG,XMMREG,MEM32,');
+ //FOpCodeList.Add('VCVTSS2SD,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VCVTSS2SI,1,1,REG32,MEM32,,');
+ //FOpCodeList.Add('VCVTSS2SI,1,1,REG32,XMMREG,,');
+ //FOpCodeList.Add('VCVTSS2SI,0,1,REG64,MEM32,,');
+ //FOpCodeList.Add('VCVTSS2SI,0,1,REG64,XMMREG,,');
+ //FOpCodeList.Add('VCVTTPD2DQ,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VCVTTPD2DQ,1,1,XMMREG,YMMRM,,');
+ //FOpCodeList.Add('VCVTTPS2DQ,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VCVTTPS2DQ,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VCVTTSD2SI,1,1,REG32,MEM64,,');
+ //FOpCodeList.Add('VCVTTSD2SI,1,1,REG32,XMMREG,,');
+ //FOpCodeList.Add('VCVTTSD2SI,0,1,REG64,MEM64,,');
+ //FOpCodeList.Add('VCVTTSD2SI,0,1,REG64,XMMREG,,');
+ //FOpCodeList.Add('VCVTTSS2SI,1,1,REG32,MEM32,,');
+ //FOpCodeList.Add('VCVTTSS2SI,1,1,REG32,XMMREG,,');
+ //FOpCodeList.Add('VCVTTSS2SI,0,1,REG64,MEM32,,');
+ //FOpCodeList.Add('VCVTTSS2SI,0,1,REG64,XMMREG,,');
+ //FOpCodeList.Add('VDIVPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VDIVPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VDIVPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VDIVPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VDIVSD,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VDIVSD,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VDIVSS,1,1,XMMREG,XMMREG,MEM32,');
+ //FOpCodeList.Add('VDIVSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VDPPD,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VDPPS,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VDPPS,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VEXTRACTF128,1,1,XMMRM,YMMREG,IMM8,');
+ //FOpCodeList.Add('VEXTRACTPS,1,1,RM32,XMMREG,IMM8,');
+ //FOpCodeList.Add('VHADDPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VHADDPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VHADDPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VHADDPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VHSUBPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VHSUBPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VHSUBPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VHSUBPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VINSERTF128,1,1,YMMREG,YMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VINSERTPS,1,1,XMMREG,XMMREG,MEM32,IMM8');
+ //FOpCodeList.Add('VINSERTPS,1,1,XMMREG,XMMREG,XMMREG,IMM8');
+ //FOpCodeList.Add('VLDDQU,1,1,XMMREG,MEM128,,');
+ //FOpCodeList.Add('VLDDQU,1,1,YMMREG,MEM256,,');
+ //FOpCodeList.Add('VLDMXCSR,1,1,MEM32,,,');
+ //FOpCodeList.Add('VMASKMOVDQU,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VMASKMOVPD,1,1,MEM256,YMMREG,YMMREG,');
+ //FOpCodeList.Add('VMASKMOVPD,1,1,MEM128,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMASKMOVPD,1,1,YMMREG,YMMREG,MEM256,');
+ //FOpCodeList.Add('VMASKMOVPD,1,1,XMMREG,XMMREG,MEM128,');
+ //FOpCodeList.Add('VMASKMOVPS,1,1,MEM256,YMMREG,YMMREG,');
+ //FOpCodeList.Add('VMASKMOVPS,1,1,MEM128,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMASKMOVPS,1,1,YMMREG,YMMREG,MEM256,');
+ //FOpCodeList.Add('VMASKMOVPS,1,1,XMMREG,XMMREG,MEM128,');
+ //FOpCodeList.Add('VMAXPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VMAXPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VMAXPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VMAXPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VMAXSD,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VMAXSD,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMAXSS,1,1,XMMREG,XMMREG,MEM32,');
+ //FOpCodeList.Add('VMAXSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMINPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VMINPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VMINPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VMINPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VMINSD,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VMINSD,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMINSS,1,1,XMMREG,XMMREG,MEM32,');
+ //FOpCodeList.Add('VMINSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMOVAPD,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VMOVAPD,1,1,XMMRM,XMMREG,,');
+ //FOpCodeList.Add('VMOVAPD,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VMOVAPD,1,1,YMMRM,YMMREG,,');
+ //FOpCodeList.Add('VMOVAPS,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VMOVAPS,1,1,XMMRM,XMMREG,,');
+ //FOpCodeList.Add('VMOVAPS,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VMOVAPS,1,1,YMMRM,YMMREG,,');
+ //FOpCodeList.Add('VMOVD,1,1,XMMREG,RM32,,');
+ //FOpCodeList.Add('VMOVD,1,1,RM32,XMMREG,,');
+ //FOpCodeList.Add('VMOVDDUP,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VMOVDDUP,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VMOVDDUP,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VMOVDQA,1,1,YMMRM,YMMREG,,');
+ //FOpCodeList.Add('VMOVDQA,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VMOVDQA,1,1,XMMRM,XMMREG,,');
+ //FOpCodeList.Add('VMOVDQA,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VMOVDQU,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VMOVDQU,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VMOVDQU,1,1,XMMRM,XMMREG,,');
+ //FOpCodeList.Add('VMOVDQU,1,1,YMMRM,YMMREG,,');
+ //FOpCodeList.Add('VMOVHLPS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMOVHPD,1,1,MEM64,XMMREG,,');
+ //FOpCodeList.Add('VMOVHPD,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VMOVHPS,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VMOVHPS,1,1,MEM64,XMMREG,,');
+ //FOpCodeList.Add('VMOVLHPS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMOVLPD,1,1,MEM64,XMMREG,,');
+ //FOpCodeList.Add('VMOVLPD,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VMOVLPS,1,1,MEM64,XMMREG,,');
+ //FOpCodeList.Add('VMOVLPS,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VMOVMSKPD,1,1,REG32,YMMREG,,');
+ //FOpCodeList.Add('VMOVMSKPD,1,1,REG64,XMMREG,,');
+ //FOpCodeList.Add('VMOVMSKPD,1,1,REG32,XMMREG,,');
+ //FOpCodeList.Add('VMOVMSKPD,1,1,REG64,YMMREG,,');
+ //FOpCodeList.Add('VMOVMSKPS,1,1,REG32,YMMREG,,');
+ //FOpCodeList.Add('VMOVMSKPS,1,1,REG64,XMMREG,,');
+ //FOpCodeList.Add('VMOVMSKPS,1,1,REG32,XMMREG,,');
+ //FOpCodeList.Add('VMOVMSKPS,1,1,REG64,YMMREG,,');
+ //FOpCodeList.Add('VMOVNTDQ,1,1,MEM128,XMMREG,,');
+ //FOpCodeList.Add('VMOVNTDQ,1,1,MEM256,YMMREG,,');
+ //FOpCodeList.Add('VMOVNTDQA,1,1,XMMREG,MEM128,,');
+ //FOpCodeList.Add('VMOVNTPD,1,1,MEM256,YMMREG,,');
+ //FOpCodeList.Add('VMOVNTPD,1,1,MEM128,XMMREG,,');
+ //FOpCodeList.Add('VMOVNTPS,1,1,MEM128,YMMREG,,');
+ //FOpCodeList.Add('VMOVNTPS,1,1,MEM128,XMMREG,,');
+ //FOpCodeList.Add('VMOVQ,0,1,RM64,XMMREG,,');
+ //FOpCodeList.Add('VMOVQ,0,1,XMMREG,RM64,,');
+ //FOpCodeList.Add('VMOVSD,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMOVSD,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VMOVSD,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMOVSD,1,1,MEM64,XMMREG,,');
+ //FOpCodeList.Add('VMOVSHDUP,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VMOVSHDUP,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VMOVSLDUP,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VMOVSLDUP,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VMOVSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMOVSS,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VMOVSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMOVSS,1,1,MEM64,XMMREG,,');
+ //FOpCodeList.Add('VMOVUPD,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VMOVUPD,1,1,XMMRM,XMMREG,,');
+ //FOpCodeList.Add('VMOVUPD,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VMOVUPD,1,1,YMMRM,YMMREG,,');
+ //FOpCodeList.Add('VMOVUPS,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VMOVUPS,1,1,XMMRM,XMMREG,,');
+ //FOpCodeList.Add('VMOVUPS,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VMOVUPS,1,1,YMMRM,YMMREG,,');
+ //FOpCodeList.Add('VMPSADBW,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VMULPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VMULPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VMULPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VMULPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VMULSD,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VMULSD,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VMULSS,1,1,XMMREG,XMMREG,MEM32,');
+ //FOpCodeList.Add('VMULSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VORPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VORPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VORPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPABSB,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPABSB,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VPABSD,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPABSD,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VPABSW,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPABSW,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VPACKSSDW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPACKSSDW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPACKSSWB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPACKSSWB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPACKUSDW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPACKUSDW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPACKUSWB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPACKUSWB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPADDB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPADDB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPADDD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPADDD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPADDQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPADDQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPADDSB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPADDSB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPADDSW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPADDSW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPADDUSB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPADDUSB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPADDUSW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPADDUSW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPADDW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPADDW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPALIGNR,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VPALIGNR,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VPAND,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPAND,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPANDN,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPANDN,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPAVGB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPAVGB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPAVGW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPAVGW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPBLENDVB,1,1,XMMREG,XMMREG,XMMRM,XMMREG');
+ //FOpCodeList.Add('VPBLENDVB,1,1,YMMREG,YMMREG,YMMRM,YMMREG');
+ //FOpCodeList.Add('VPBLENDW,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VPBLENDW,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VPCLMULQDQ,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VPCMPEQB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPCMPEQB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPCMPEQD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPCMPEQD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPCMPEQQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPCMPEQQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPCMPEQW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPCMPEQW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPCMPESTRI,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VPCMPESTRM,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VPCMPGTB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPCMPGTB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPCMPGTD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPCMPGTD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPCMPGTQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPCMPGTQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPCMPGTW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPCMPGTW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPCMPISTRI,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VPCMPISTRM,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VPERM2F128,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VPERMILPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPERMILPD,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VPERMILPD,1,1,YMMREG,YMMRM,IMM8,');
+ //FOpCodeList.Add('VPERMILPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPERMILPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPERMILPS,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VPERMILPS,1,1,YMMREG,YMMRM,IMM8,');
+ //FOpCodeList.Add('VPERMILPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPEXTRB,1,1,REG32,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPEXTRB,1,1,REG64,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPEXTRB,1,1,MEM8,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPEXTRD,1,1,RM32,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPEXTRQ,0,1,RM64,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPEXTRW,1,1,REG32,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPEXTRW,1,1,REG64,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPEXTRW,1,1,REG64,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPEXTRW,1,1,MEM16,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPEXTRW,1,1,REG32,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPHADDD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPHADDD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPHADDSW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPHADDSW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPHADDW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPHADDW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPHMINPOSUW,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPHSUBD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPHSUBD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPHSUBSW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPHSUBSW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPHSUBW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPHSUBW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPINSRB,1,1,XMMREG,XMMREG,REG32,IMM8');
+ //FOpCodeList.Add('VPINSRB,1,1,XMMREG,XMMREG,MEM8,IMM8');
+ //FOpCodeList.Add('VPINSRD,1,1,XMMREG,XMMREG,RM32,IMM8');
+ //FOpCodeList.Add('VPINSRQ,0,1,XMMREG,XMMREG,RM64,IMM8');
+ //FOpCodeList.Add('VPINSRW,1,1,XMMREG,XMMREG,REG32,IMM8');
+ //FOpCodeList.Add('VPINSRW,1,1,XMMREG,XMMREG,MEM16,IMM8');
+ //FOpCodeList.Add('VPMADDUBSW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMADDUBSW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMADDWD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMADDWD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMAXSB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMAXSB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMAXSD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMAXSD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMAXSW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMAXSW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMAXUB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMAXUB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMAXUD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMAXUD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMAXUW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMAXUW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMINSB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMINSB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMINSD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMINSD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMINSW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMINSW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMINUB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMINUB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMINUD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMINUD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMINUW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMINUW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMOVMSKB,1,1,REG64,XMMREG,,');
+ //FOpCodeList.Add('VPMOVMSKB,1,1,REG64,YMMREG,,');
+ //FOpCodeList.Add('VPMOVMSKB,1,1,REG32,XMMREG,,');
+ //FOpCodeList.Add('VPMOVMSKB,1,1,REG32,YMMREG,,');
+ //FOpCodeList.Add('VPMOVSXBD,1,1,XMMREG,MEM32,,');
+ //FOpCodeList.Add('VPMOVSXBD,1,1,YMMREG,MEM64,,');
+ //FOpCodeList.Add('VPMOVSXBD,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVSXBD,1,1,YMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVSXBQ,1,1,XMMREG,MEM16,,');
+ //FOpCodeList.Add('VPMOVSXBQ,1,1,YMMREG,MEM32,,');
+ //FOpCodeList.Add('VPMOVSXBQ,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVSXBQ,1,1,YMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVSXBW,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VPMOVSXBW,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVSXBW,1,1,YMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPMOVSXDQ,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VPMOVSXDQ,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVSXDQ,1,1,YMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVSXWD,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPMOVSXWQ,1,1,XMMREG,MEM32,,');
+ //FOpCodeList.Add('VPMOVSXWQ,1,1,YMMREG,MEM64,,');
+ //FOpCodeList.Add('VPMOVSXWQ,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVSXWQ,1,1,YMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVZXBD,1,1,XMMREG,MEM32,,');
+ //FOpCodeList.Add('VPMOVZXBD,1,1,YMMREG,MEM64,,');
+ //FOpCodeList.Add('VPMOVZXBD,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVZXBD,1,1,YMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVZXBQ,1,1,XMMREG,MEM16,,');
+ //FOpCodeList.Add('VPMOVZXBQ,1,1,YMMREG,MEM32,,');
+ //FOpCodeList.Add('VPMOVZXBQ,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVZXBQ,1,1,YMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVZXBW,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VPMOVZXBW,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVZXBW,1,1,YMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPMOVZXDQ,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VPMOVZXDQ,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVZXDQ,1,1,YMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPMOVZXWD,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VPMOVZXWD,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVZXWD,1,1,YMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPMOVZXWQ,1,1,XMMREG,MEM32,,');
+ //FOpCodeList.Add('VPMOVZXWQ,1,1,YMMREG,MEM64,,');
+ //FOpCodeList.Add('VPMOVZXWQ,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMOVZXWQ,1,1,YMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPMULDQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMULDQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMULHRSW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMULHRSW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMULHUW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMULHUW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMULHW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMULHW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMULLD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMULLD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMULLW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMULLW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPMULUDQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPMULUDQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPOR,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPOR,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSADBW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSADBW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSHUFB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSHUFB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSHUFD,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VPSHUFD,1,1,YMMREG,YMMRM,IMM8,');
+ //FOpCodeList.Add('VPSHUFHW,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VPSHUFHW,1,1,YMMREG,YMMRM,IMM8,');
+ //FOpCodeList.Add('VPSHUFLW,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VPSHUFLW,1,1,YMMREG,YMMRM,IMM8,');
+ //FOpCodeList.Add('VPSIGNB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSIGNB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSIGND,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSIGND,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSIGNW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSIGNW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSLLD,1,1,XMMREG,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPSLLD,1,1,YMMREG,YMMREG,IMM8,');
+ //FOpCodeList.Add('VPSLLD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSLLD,1,1,YMMREG,YMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSLLDQ,1,1,XMMREG,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPSLLDQ,1,1,YMMREG,YMMREG,IMM8,');
+ //FOpCodeList.Add('VPSLLQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSLLQ,1,1,YMMREG,YMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSLLQ,1,1,XMMREG,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPSLLQ,1,1,YMMREG,YMMREG,IMM8,');
+ //FOpCodeList.Add('VPSLLW,1,1,XMMREG,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPSLLW,1,1,YMMREG,YMMREG,IMM8,');
+ //FOpCodeList.Add('VPSLLW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSLLW,1,1,YMMREG,YMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRAD,1,1,XMMREG,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRAD,1,1,YMMREG,YMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRAD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRAD,1,1,YMMREG,YMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRAW,1,1,XMMREG,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRAW,1,1,YMMREG,YMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRAW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRAW,1,1,YMMREG,YMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRLD,1,1,XMMREG,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRLD,1,1,YMMREG,YMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRLD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRLD,1,1,YMMREG,YMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRLDQ,1,1,XMMREG,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRLDQ,1,1,YMMREG,YMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRLQ,1,1,XMMREG,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRLQ,1,1,YMMREG,YMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRLQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRLQ,1,1,YMMREG,YMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRLW,1,1,XMMREG,XMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRLW,1,1,YMMREG,YMMREG,IMM8,');
+ //FOpCodeList.Add('VPSRLW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRLW,1,1,YMMREG,YMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSUBB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSUBB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSUBD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSUBD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSUBQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSUBQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSUBSB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSUBSB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSUBSW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSUBSW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSUBUSB,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSUBUSB,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSUBUSW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSUBUSW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSUBW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSUBW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPTEST,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VPTEST,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VPTEST,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPTEST,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VPUNPCKHBW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPUNPCKHBW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPUNPCKHDQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPUNPCKHDQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPUNPCKHQDQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPUNPCKHQDQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPUNPCKHWD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPUNPCKHWD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPUNPCKLBW,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPUNPCKLBW,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPUNPCKLDQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPUNPCKLDQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPUNPCKLQDQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPUNPCKLQDQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPUNPCKLWD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPUNPCKLWD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPXOR,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPXOR,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VRCPPS,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VRCPPS,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VRCPSS,1,1,XMMREG,XMMREG,MEM32,');
+ //FOpCodeList.Add('VRCPSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VROUNDPD,1,1,YMMREG,YMMRM,IMM8,');
+ //FOpCodeList.Add('VROUNDPD,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VROUNDPS,1,1,YMMREG,YMMRM,IMM8,');
+ //FOpCodeList.Add('VROUNDPS,1,1,XMMREG,XMMRM,IMM8,');
+ //FOpCodeList.Add('VROUNDSD,1,1,XMMREG,XMMREG,MEM64,IMM8');
+ //FOpCodeList.Add('VROUNDSD,1,1,XMMREG,XMMREG,XMMREG,IMM8');
+ //FOpCodeList.Add('VROUNDSS,1,1,XMMREG,XMMREG,MEM32,IMM8');
+ //FOpCodeList.Add('VROUNDSS,1,1,XMMREG,XMMREG,XMMREG,IMM8');
+ //FOpCodeList.Add('VRSQRTPS,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VRSQRTPS,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VRSQRTSS,1,1,XMMREG,XMMREG,MEM32,');
+ //FOpCodeList.Add('VRSQRTSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VSHUFPD,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VSHUFPD,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VSHUFPS,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VSHUFPS,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VSQRTPD,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VSQRTPD,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VSQRTPS,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VSQRTPS,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VSQRTSD,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VSQRTSD,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VSQRTSS,1,1,XMMREG,XMMREG,MEM32,');
+ //FOpCodeList.Add('VSQRTSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VSTMXCSR,1,1,MEM32,,,');
+ //FOpCodeList.Add('VSUBPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VSUBPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VSUBPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VSUBPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VSUBSD,1,1,XMMREG,XMMREG,MEM64,');
+ //FOpCodeList.Add('VSUBSD,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VSUBSS,1,1,XMMREG,XMMREG,MEM32,');
+ //FOpCodeList.Add('VSUBSS,1,1,XMMREG,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VTESTPD,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VTESTPD,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VTESTPS,1,1,YMMREG,YMMRM,,');
+ //FOpCodeList.Add('VTESTPS,1,1,XMMREG,XMMRM,,');
+ //FOpCodeList.Add('VUCOMISD,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VUCOMISD,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VUCOMISS,1,1,XMMREG,MEM32,,');
+ //FOpCodeList.Add('VUCOMISS,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VUNPCKHPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VUNPCKHPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VUNPCKHPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VUNPCKHPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VUNPCKLPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VUNPCKLPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VUNPCKLPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VUNPCKLPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VXORPD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VXORPD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VXORPS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VXORPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VZEROALL,1,1,,,,');
+ //FOpCodeList.Add('VZEROUPPER,1,1,,,,');
+ //
+ //
+ //FOpCodeList.Add('VBROADCASTI128,1,1,YMMREG,MEM128,,');
+ //FOpCodeList.Add('VEXTRACTI128,1,1,XMMRM,YMMREG,IMM8,');
+ //FOpCodeList.Add('VINSERTI128,1,1,YMMREG,YMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VPBLENDD,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VPBLENDD,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ //FOpCodeList.Add('VPBROADCASTB,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPBROADCASTB,1,1,YMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPBROADCASTB,1,1,XMMREG,MEM8,,');
+ //FOpCodeList.Add('VPBROADCASTB,1,1,YMMREG,MEM8,,');
+ //FOpCodeList.Add('VPBROADCASTD,1,1,YMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPBROADCASTD,1,1,XMMREG,MEM32,,');
+ //FOpCodeList.Add('VPBROADCASTD,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPBROADCASTD,1,1,YMMREG,MEM32,,');
+ //FOpCodeList.Add('VPBROADCASTQ,1,1,YMMREG,MEM64,,');
+ //FOpCodeList.Add('VPBROADCASTQ,1,1,XMMREG,MEM64,,');
+ //FOpCodeList.Add('VPBROADCASTQ,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPBROADCASTQ,1,1,YMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPBROADCASTW,1,1,XMMREG,MEM16,,');
+ //FOpCodeList.Add('VPBROADCASTW,1,1,XMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPBROADCASTW,1,1,YMMREG,MEM16,,');
+ //FOpCodeList.Add('VPBROADCASTW,1,1,YMMREG,XMMREG,,');
+ //FOpCodeList.Add('VPERM2I128,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ //FOpCodeList.Add('VPERMD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPERMPD,1,1,YMMREG,YMMRM,IMM8,');
+ //FOpCodeList.Add('VPERMPS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPERMQ,1,1,YMMREG,YMMRM,IMM8,');
+ //FOpCodeList.Add('VPMASKMOVD,1,1,XMMREG,XMMREG,MEM128,');
+ //FOpCodeList.Add('VPMASKMOVD,1,1,MEM128,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VPMASKMOVD,1,1,YMMREG,YMMREG,MEM256,');
+ //FOpCodeList.Add('VPMASKMOVD,1,1,MEM256,YMMREG,YMMREG,');
+ //FOpCodeList.Add('VPMASKMOVQ,1,1,XMMREG,XMMREG,MEM128,');
+ //FOpCodeList.Add('VPMASKMOVQ,1,1,MEM128,XMMREG,XMMREG,');
+ //FOpCodeList.Add('VPMASKMOVQ,1,1,YMMREG,YMMREG,MEM256,');
+ //FOpCodeList.Add('VPMASKMOVQ,1,1,MEM256,YMMREG,YMMREG,');
+ //FOpCodeList.Add('VPSLLVD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSLLVD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSLLVQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSLLVQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRAVD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSRAVD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRLVD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSRLVD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VPSRLVQ,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VPSRLVQ,1,1,XMMREG,XMMREG,XMMRM,');
+ //
+ //
+ //FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD231PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD231PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD231PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADD231PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD132SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD213SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD231SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD132SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD213SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADD231SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADDSUB132PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADDSUB132PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADDSUB213PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADDSUB213PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADDSUB231PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADDSUB231PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADDSUB132PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADDSUB132PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADDSUB213PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADDSUB213PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMADDSUB231PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMADDSUB231PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUBADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUBADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUBADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUBADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUBADD231PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUBADD231PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUBADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUBADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUBADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUBADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUBADD231PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUBADD231PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB132PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUB132PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB213PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUB213PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB231PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUB231PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB132PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUB132PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB213PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUB213PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB231PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFMSUB231PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB132SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB213SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB231SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB132SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB213SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFMSUB231SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD132PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMADD132PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD213PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMADD213PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD231PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMADD231PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD132PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMADD132PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD213PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMADD213PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD231PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMADD231PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD132SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD213SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD231SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD132SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD213SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMADD231SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB132PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMSUB132PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB213PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMSUB213PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB231PD,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMSUB231PD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB132PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMSUB132PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB213PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMSUB213PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB231PS,1,1,YMMREG,YMMREG,YMMRM,');
+ //FOpCodeList.Add('VFNMSUB231PS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB132SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB213SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB231SD,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB132SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB213SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //FOpCodeList.Add('VFNMSUB231SS,1,1,XMMREG,XMMREG,XMMRM,');
+ //
+ //
+ //FOpCodeList.Add('VGATHERDPD,1,1,XMMREG,XMEM32,XMMREG,');
+ //FOpCodeList.Add('VGATHERDPD,1,1,YMMREG,XMEM32,YMMREG,');
+ //
+ //FOpCodeList.Add('VGATHERQPD,1,1,XMMREG,XMEM64,XMMREG,');
+ //FOpCodeList.Add('VGATHERQPD,1,1,YMMREG,YMEM64,YMMREG,');
+ //
+ //
+ //FOpCodeList.Add('VGATHERDPS,1,1,XMMREG,XMEM32,XMMREG,');
+ //FOpCodeList.Add('VGATHERDPS,1,1,YMMREG,YMEM32,YMMREG,');
+ //
+ //FOpCodeList.Add('VGATHERQPS,1,1,XMMREG,XMEM64,XMMREG,');
+ //FOpCodeList.Add('VGATHERQPS,1,1,XMMREG,YMEM64,XMMREG,');
+ //
+ //
+ //
+ //FOpCodeList.Add('VPGATHERDD,1,1,XMMREG,XMEM32,XMMREG,');
+ //FOpCodeList.Add('VPGATHERDD,1,1,YMMREG,YMEM32,YMMREG,');
+ //
+ //FOpCodeList.Add('VPGATHERQD,1,1,XMMREG,XMEM64,XMMREG,');
+ //FOpCodeList.Add('VPGATHERQD,1,1,XMMREG,YMEM64,XMMREG,');
+ //
+ //
+ //FOpCodeList.Add('VPGATHERDQ,1,1,XMMREG,XMEM32,XMMREG,');
+ //FOpCodeList.Add('VPGATHERDQ,1,1,YMMREG,XMEM32,YMMREG,');
+ //
+ //FOpCodeList.Add('VPGATHERQQ,1,1,XMMREG,XMEM64,XMMREG,');
+ //FOpCodeList.Add('VPGATHERQQ,1,1,YMMREG,YMEM64,YMMREG,');
+
+
+ FOpCodeList.Add('addpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('addps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('addsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('addss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('addsubpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('addsubps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('aesdec,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('aesdeclast,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('aesenc,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('aesenclast,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('aesimc,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('aeskeygenassist,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('andn,0,1,REG64,REG64,RM64,');
+ FOpCodeList.Add('andn,1,1,REG32,REG32,RM32,');
+ FOpCodeList.Add('andnpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('andnps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('andpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('andps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('bextr,0,1,REG64,RM64,REG64,');
+ FOpCodeList.Add('bextr,1,1,REG32,RM32,REG32,');
+ FOpCodeList.Add('blendpd,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('blendps,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('blendvpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('blendvps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpeqpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpeqps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpeqsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpeqss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmplepd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpleps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmplesd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpless,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpltpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpltps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpltsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpltss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpneqpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpneqps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpneqsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpneqss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpnlepd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpnleps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpnlesd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpnless,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpnltpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpnltps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpnltsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpnltss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpordpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpordps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpordsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpordss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmppd,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('cmpps,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('cmpsd,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('cmpss,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('cmpunordpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpunordps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpunordsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cmpunordss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('comisd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('comiss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cvtdq2pd,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('cvtdq2pd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('cvtdq2ps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cvtpd2dq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cvtpd2pi,1,1,XMMRM,,');
+ FOpCodeList.Add('cvtpd2ps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cvtpi2pd,1,1,XMMREG,,');
+ FOpCodeList.Add('cvtpi2ps,1,1,XMMREG,,');
+ FOpCodeList.Add('cvtps2dq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cvtps2pd,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('cvtps2pd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('cvtps2pi,1,1,XMMREG,,');
+ FOpCodeList.Add('cvtsd2si,0,1,REG64,XMMREG,,');
+ FOpCodeList.Add('cvtsd2si,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('cvtsd2ss,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('cvtsd2ss,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('cvtsi2sd,0,1,XMMREG,RM64,,');
+ FOpCodeList.Add('cvtsi2sd,1,1,XMMREG,RM32,,');
+ FOpCodeList.Add('cvtsi2ss,0,1,XMMREG,RM64,,');
+ FOpCodeList.Add('cvtsi2ss,1,1,XMMREG,RM32,,');
+ FOpCodeList.Add('cvtss2sd,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('cvtss2sd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('cvtss2si,1,1,XMMREG,,');
+ FOpCodeList.Add('cvttpd2dq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cvttpd2pi,1,1,XMMRM,,');
+ FOpCodeList.Add('cvttps2dq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('cvttps2pi,1,1,XMMREG,,');
+ FOpCodeList.Add('cvttsd2si,1,1,XMMREG,,');
+ FOpCodeList.Add('cvttss2si,1,1,XMMREG,,');
+ FOpCodeList.Add('divpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('divps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('divsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('divss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('dppd,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('dpps,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('extractps,1,1,XMMREG,');
+ FOpCodeList.Add('extractps,1,1,XMMREG,');
+ FOpCodeList.Add('extrq,1,1,XMMREG,');
+ FOpCodeList.Add('extrq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('haddpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('haddps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('hsubpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('hsubps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('insertps,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('insertq,1,1,XMMREG,XMMREG');
+ FOpCodeList.Add('insertq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('lddqu,1,1,XMMREG,,');
+ FOpCodeList.Add('maskmovdqu,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('maxpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('maxps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('maxsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('maxss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('minpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('minps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('minsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('minss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movapd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movapd,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('movaps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movaps,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('movd,1,1,RM32,XMMREG,,');
+ FOpCodeList.Add('movd,1,1,XMMREG,RM32,,');
+ FOpCodeList.Add('movddup,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movdq2q,1,1,XMMREG,,');
+ FOpCodeList.Add('movdqa,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movdqa,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('movdqu,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movdqu,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('movhlps,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('movhpd,1,1,XMMREG,,');
+ FOpCodeList.Add('movhpd,1,1,XMMREG,,');
+ FOpCodeList.Add('movhps,1,1,XMMREG,,');
+ FOpCodeList.Add('movhps,1,1,XMMREG,,');
+ FOpCodeList.Add('movlhps,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('movlpd,1,1,XMMREG,,');
+ FOpCodeList.Add('movlpd,1,1,XMMREG,,');
+ FOpCodeList.Add('movlps,1,1,XMMREG,,');
+ FOpCodeList.Add('movlps,1,1,XMMREG,,');
+ FOpCodeList.Add('movmskpd,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('movmskps,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('movntdq,1,1,XMMREG,,');
+ FOpCodeList.Add('movntdqa,1,1,XMMREG,,');
+ FOpCodeList.Add('movntpd,1,1,XMMREG,,');
+ FOpCodeList.Add('movntps,1,1,XMMREG,,');
+ FOpCodeList.Add('movntsd,1,1,XMMREG,,');
+ FOpCodeList.Add('movntss,1,1,XMMREG,,');
+ FOpCodeList.Add('movq,0,1,REG64,XMMREG,,');
+ FOpCodeList.Add('movq,0,1,XMMREG,REG64,,');
+ FOpCodeList.Add('movq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movq,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('movq2dq,1,1,XMMREG,,');
+ FOpCodeList.Add('movsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movsd,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('movshdup,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movsldup,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movss,1,1,MEM32,XMMREG,,');
+ FOpCodeList.Add('movss,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('movss,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('movss,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('movupd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movupd,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('movups,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('movups,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('mpsadbw,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('mulpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('mulps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('mulsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('mulss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('orpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('orps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pabsb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pabsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pabsw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('packssdw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('packsswb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('packusdw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('packuswb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('paddb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('paddd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('paddq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('paddsb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('paddsw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('paddusb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('paddusw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('paddw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('palignr,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('pand,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pandn,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pavgb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pavgw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pblendvb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pblendw,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('pcmpeqb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pcmpeqd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pcmpeqq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pcmpeqw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pcmpestri,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('pcmpestrm,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('pcmpgtb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pcmpgtd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pcmpgtq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pcmpgtw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pcmpistri,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('pcmpistrm,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('pextrb,1,1,XMMREG,');
+ FOpCodeList.Add('pextrb,1,1,XMMREG,');
+ FOpCodeList.Add('pextrd,1,1,MEM32,XMMREG,');
+ FOpCodeList.Add('pextrd,1,1,REG32,XMMREG,');
+ FOpCodeList.Add('pextrq,0,1,MEM64,XMMREG,');
+ FOpCodeList.Add('pextrq,0,1,REG64,XMMREG,');
+ FOpCodeList.Add('pextrw,1,1,MEM32,XMMREG,');
+ FOpCodeList.Add('pextrw,1,1,REG32,XMMREG,');
+ FOpCodeList.Add('phaddd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('phaddsw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('phaddw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('phminposuw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('phsubd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('phsubsw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('phsubw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pinsrb,1,1,XMMREG,');
+ FOpCodeList.Add('pinsrb,1,1,XMMREG,');
+ FOpCodeList.Add('pinsrd,1,1,XMMREG,MEM32,');
+ FOpCodeList.Add('pinsrd,1,1,XMMREG,REG32,');
+ FOpCodeList.Add('pinsrq,0,1,XMMREG,MEM64,');
+ FOpCodeList.Add('pinsrq,0,1,XMMREG,REG64,');
+ FOpCodeList.Add('pinsrw,1,1,XMMREG,');
+ FOpCodeList.Add('pinsrw,1,1,XMMREG,');
+ FOpCodeList.Add('pinsrw,1,1,XMMREG,');
+ FOpCodeList.Add('pinsrw,1,1,XMMREG,REG32,');
+ FOpCodeList.Add('pmaddubsw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmaddwd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmaxsb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmaxsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmaxsw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmaxub,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmaxud,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmaxuw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pminsb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pminsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pminsw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pminub,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pminud,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pminuw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovmskb,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('pmovsxbd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovsxbq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovsxbw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovsxdq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovsxwd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovsxwq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovzxbd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovzxbq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovzxbw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovzxdq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovzxwd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmovzxwq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmuldq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmulhrsw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmulhuw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmulhw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmulld,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmullw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pmuludq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('por,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psadbw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pshufb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pshufd,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('pshufhw,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('pshuflw,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('psignb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psignd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psignw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pslld,1,1,XMMREG,,');
+ FOpCodeList.Add('pslld,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pslldq,1,1,XMMREG,,');
+ FOpCodeList.Add('psllq,1,1,XMMREG,,');
+ FOpCodeList.Add('psllq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psllw,1,1,XMMREG,,');
+ FOpCodeList.Add('psllw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psrad,1,1,XMMREG,,');
+ FOpCodeList.Add('psrad,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psraw,1,1,XMMREG,,');
+ FOpCodeList.Add('psraw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psrld,1,1,XMMREG,,');
+ FOpCodeList.Add('psrld,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psrldq,1,1,XMMREG,,');
+ FOpCodeList.Add('psrlq,1,1,XMMREG,,');
+ FOpCodeList.Add('psrlq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psrlw,1,1,XMMREG,,');
+ FOpCodeList.Add('psrlw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psubb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psubd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psubq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psubsb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psubsw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psubusb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psubusw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('psubw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('ptest,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('punpckhbw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('punpckhdq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('punpckhqdq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('punpckhwd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('punpcklbw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('punpckldq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('punpcklqdq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('punpcklwd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('pxor,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('rcpps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('rcpss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('rorx,0,1,REG64,RM64,IMM8,');
+ FOpCodeList.Add('rorx,1,1,REG32,RM32,IMM8,');
+ FOpCodeList.Add('roundpd,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('roundps,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('roundsd,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('roundss,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('rsqrtps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('rsqrtss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('sarx,0,1,REG64,RM64,REG64,');
+ FOpCodeList.Add('sarx,1,1,REG32,RM32,REG32,');
+ FOpCodeList.Add('shlx,0,1,REG64,RM64,REG64,');
+ FOpCodeList.Add('shlx,1,1,REG32,RM32,REG32,');
+ FOpCodeList.Add('shrx,0,1,REG64,RM64,REG64,');
+ FOpCodeList.Add('shrx,1,1,REG32,RM32,REG32,');
+ FOpCodeList.Add('shufpd,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('shufps,1,1,XMMREG,XMMRM,');
+ FOpCodeList.Add('sqrtpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('sqrtps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('sqrtsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('sqrtss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('subpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('subps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('subsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('subss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('ucomisd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('ucomiss,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('unpckhpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('unpckhps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('unpcklpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('unpcklps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vaddpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vaddpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vaddps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vaddps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vaddsd,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vaddsd,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vaddss,1,1,XMMREG,XMMREG,MEM32,');
+ FOpCodeList.Add('vaddss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vaddsubpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vaddsubpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vaddsubps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vaddsubps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vaesdec,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vaesdeclast,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vaesenc,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vaesenclast,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vaesimc,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vaeskeygenassist,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vandnpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vandnpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vandnps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vandnps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vandpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vandpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vandps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vandps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vblendpd,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vblendpd,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vblendps,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vblendps,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vblendvpd,1,1,XMMREG,XMMREG,XMMRM,XMMREG');
+ FOpCodeList.Add('vblendvpd,1,1,YMMREG,YMMREG,YMMRM,YMMREG');
+ FOpCodeList.Add('vblendvps,1,1,XMMREG,XMMREG,XMMRM,XMMREG');
+ FOpCodeList.Add('vblendvps,1,1,YMMREG,YMMREG,YMMRM,YMMREG');
+ FOpCodeList.Add('vbroadcastf128,1,1,YMMREG,MEM128,,');
+ FOpCodeList.Add('vbroadcasti128,1,1,YMMREG,MEM128,,');
+ FOpCodeList.Add('vbroadcastsd,1,1,YMMREG,MEM64,,');
+ FOpCodeList.Add('vbroadcastsd,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vbroadcastss,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('vbroadcastss,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vbroadcastss,1,1,YMMREG,MEM32,,');
+ FOpCodeList.Add('vbroadcastss,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vcmpeqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpeqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpeqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpeqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpeq_ospd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpeq_ospd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpeq_osps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpeq_osps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpeq_uqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpeq_uqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpeq_uqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpeq_uqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpeq_uspd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpeq_uspd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpeq_usps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpeq_usps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpfalsepd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpfalsepd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpfalseps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpfalseps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpfalse_ospd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpfalse_ospd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpfalse_osps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpfalse_osps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpgepd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpgepd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpgeps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpgeps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpge_oqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpge_oqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpge_oqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpge_oqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpgtpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpgtpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpgtps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpgtps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpgt_oqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpgt_oqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpgt_oqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpgt_oqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmplepd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmplepd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpleps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpleps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmple_oqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmple_oqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmple_oqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmple_oqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpltpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpltpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpltps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpltps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmplt_oqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmplt_oqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmplt_oqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmplt_oqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpneqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpneqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpneqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpneqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpneq_oqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpneq_oqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpneq_oqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpneq_oqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpneq_ospd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpneq_ospd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpneq_osps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpneq_osps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpneq_uspd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpneq_uspd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpneq_usps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpneq_usps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpngepd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpngepd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpngeps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpngeps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpnge_uqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpnge_uqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpnge_uqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpnge_uqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpngtpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpngtpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpngtps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpngtps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpngt_uqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpngt_uqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpngt_uqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpngt_uqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpnlepd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpnlepd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpnleps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpnleps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpnle_uqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpnle_uqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpnle_uqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpnle_uqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpnltpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpnltpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpnltps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpnltps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpnlt_uqpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpnlt_uqpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpnlt_uqps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpnlt_uqps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpordpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpordpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpordps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpordps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpord_spd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpord_spd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpord_sps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpord_sps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmppd,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vcmppd,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vcmpps,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vcmpps,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vcmpsd,1,1,XMMREG,XMMREG,MEM64,IMM8');
+ FOpCodeList.Add('vcmpsd,1,1,XMMREG,XMMREG,XMMREG,IMM8');
+ FOpCodeList.Add('vcmpss,1,1,XMMREG,XMMREG,MEM64,IMM8');
+ FOpCodeList.Add('vcmpss,1,1,XMMREG,XMMREG,XMMREG,IMM8');
+ FOpCodeList.Add('vcmptruepd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmptruepd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmptrueps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmptrueps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmptrue_uspd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmptrue_uspd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmptrue_usps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmptrue_usps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpunordpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpunordpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpunordps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpunordps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpunord_spd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpunord_spd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcmpunord_sps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vcmpunord_sps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vcomisd,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vcomisd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vcomiss,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('vcomiss,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vcvtdq2pd,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vcvtdq2pd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vcvtdq2pd,1,1,YMMREG,MEM128,,');
+ FOpCodeList.Add('vcvtdq2pd,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vcvtdq2ps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vcvtdq2ps,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vcvtpd2dq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vcvtpd2dq,1,1,XMMREG,YMMRM,,');
+ FOpCodeList.Add('vcvtpd2ps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vcvtpd2ps,1,1,XMMREG,YMMRM,,');
+ FOpCodeList.Add('vcvtps2dq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vcvtps2dq,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vcvtps2pd,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vcvtps2pd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vcvtps2pd,1,1,YMMREG,XMMRM,,');
+ FOpCodeList.Add('vcvtsd2si,1,1,REG32,MEM64,,');
+ FOpCodeList.Add('vcvtsd2si,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('vcvtsd2si,1,1,REG64,MEM64,,');
+ FOpCodeList.Add('vcvtsd2si,1,1,REG64,XMMREG,,');
+ FOpCodeList.Add('vcvtsd2ss,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vcvtsd2ss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vcvtsi2sd,0,1,XMMREG,XMMREG,RM64,');
+ FOpCodeList.Add('vcvtsi2sd,1,1,XMMREG,XMMREG,RM32,');
+ FOpCodeList.Add('vcvtsi2ss,0,1,XMMREG,XMMREG,RM64,');
+ FOpCodeList.Add('vcvtsi2ss,1,1,XMMREG,XMMREG,RM32,');
+ FOpCodeList.Add('vcvtss2sd,1,1,XMMREG,XMMREG,MEM32,');
+ FOpCodeList.Add('vcvtss2sd,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vcvtss2si,1,1,REG32,MEM32,,');
+ FOpCodeList.Add('vcvtss2si,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('vcvtss2si,1,1,REG64,MEM32,,');
+ FOpCodeList.Add('vcvtss2si,1,1,REG64,XMMREG,,');
+ FOpCodeList.Add('vcvttpd2dq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vcvttpd2dq,1,1,XMMREG,YMMRM,,');
+ FOpCodeList.Add('vcvttps2dq,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vcvttps2dq,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vcvttsd2si,1,1,REG32,MEM64,,');
+ FOpCodeList.Add('vcvttsd2si,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('vcvttsd2si,1,1,REG64,MEM64,,');
+ FOpCodeList.Add('vcvttsd2si,1,1,REG64,XMMREG,,');
+ FOpCodeList.Add('vcvttss2si,1,1,REG32,MEM32,,');
+ FOpCodeList.Add('vcvttss2si,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('vcvttss2si,1,1,REG64,MEM32,,');
+ FOpCodeList.Add('vcvttss2si,1,1,REG64,XMMREG,,');
+ FOpCodeList.Add('vdivpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vdivpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vdivps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vdivps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vdivsd,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vdivsd,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vdivss,1,1,XMMREG,XMMREG,MEM32,');
+ FOpCodeList.Add('vdivss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vdppd,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vdpps,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vdpps,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vextractf128,1,1,XMMRM,YMMREG,IMM8,');
+ FOpCodeList.Add('vextracti128,1,1,XMMRM,YMMREG,IMM8,');
+ FOpCodeList.Add('vextractps,1,1,RM32,XMMREG,IMM8,');
+ FOpCodeList.Add('vfmadd132pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd132pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmadd132ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd132ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmadd132sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd132ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd213pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd213pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmadd213ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd213ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmadd213sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd213ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd231pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd231pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmadd231ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd231ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmadd231sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmadd231ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmaddpd,1,1,XMMREG,XMMREG,XMMREG,XMMRM');
+ FOpCodeList.Add('vfmaddpd,1,1,XMMREG,XMMREG,XMMRM,XMMREG');
+ FOpCodeList.Add('vfmaddsub132pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmaddsub132pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmaddsub132ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmaddsub132ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmaddsub213pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmaddsub213pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmaddsub213ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmaddsub213ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmaddsub231pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmaddsub231pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmaddsub231ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmaddsub231ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsub132pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub132pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsub132ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub132ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsub132sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub132ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub213pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub213pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsub213ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub213ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsub213sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub213ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub231pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub231pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsub231ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub231ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsub231sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsub231ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsubadd132pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsubadd132pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsubadd132ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsubadd132ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsubadd213pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsubadd213pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsubadd213ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsubadd213ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsubadd231pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsubadd231pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfmsubadd231ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfmsubadd231ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmadd132pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd132pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmadd132ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd132ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmadd132sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd132ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd213pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd213pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmadd213ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd213ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmadd213sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd213ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd231pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd231pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmadd231ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd231ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmadd231sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmadd231ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub132pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub132pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmsub132ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub132ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmsub132sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub132ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub213pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub213pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmsub213ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub213ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmsub213sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub213ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub231pd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub231pd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmsub231ps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub231ps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vfnmsub231sd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vfnmsub231ss,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vgatherdpd,1,1,XMMREG,XMEM64,XMMREG,');
+ FOpCodeList.Add('vgatherdpd,1,1,YMMREG,XMEM64,YMMREG,');
+ FOpCodeList.Add('vgatherdps,1,1,XMMREG,XMEM32,XMMREG,');
+ FOpCodeList.Add('vgatherdps,1,1,YMMREG,YMEM32,YMMREG,');
+ FOpCodeList.Add('vgatherqpd,1,1,XMMREG,XMEM64,XMMREG,');
+ FOpCodeList.Add('vgatherqpd,1,1,YMMREG,YMEM64,YMMREG,');
+ FOpCodeList.Add('vgatherqps,1,1,XMMREG,XMEM32,XMMREG,');
+ FOpCodeList.Add('vgatherqps,1,1,XMMREG,YMEM32,XMMREG,');
+ FOpCodeList.Add('vhaddpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vhaddpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vhaddps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vhaddps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vhsubpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vhsubpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vhsubps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vhsubps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vinsertf128,1,1,YMMREG,YMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vinserti128,1,1,YMMREG,YMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vinsertps,1,1,XMMREG,XMMREG,MEM32,IMM8');
+ FOpCodeList.Add('vinsertps,1,1,XMMREG,XMMREG,XMMREG,IMM8');
+ FOpCodeList.Add('vlddqu,1,1,XMMREG,MEM128,,');
+ FOpCodeList.Add('vlddqu,1,1,YMMREG,MEM256,,');
+ FOpCodeList.Add('vldmxcsr,1,1,MEM32,,,');
+ FOpCodeList.Add('vmaskmovdqu,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vmaskmovpd,1,1,MEM128,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmaskmovpd,1,1,MEM256,YMMREG,YMMREG,');
+ FOpCodeList.Add('vmaskmovpd,1,1,XMMREG,XMMREG,MEM128,');
+ FOpCodeList.Add('vmaskmovpd,1,1,YMMREG,YMMREG,MEM256,');
+ FOpCodeList.Add('vmaskmovps,1,1,MEM128,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmaskmovps,1,1,MEM256,YMMREG,YMMREG,');
+ FOpCodeList.Add('vmaskmovps,1,1,XMMREG,XMMREG,MEM128,');
+ FOpCodeList.Add('vmaskmovps,1,1,YMMREG,YMMREG,MEM256,');
+ FOpCodeList.Add('vmaxpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vmaxpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vmaxps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vmaxps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vmaxsd,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vmaxsd,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmaxss,1,1,XMMREG,XMMREG,MEM32,');
+ FOpCodeList.Add('vmaxss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vminpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vminpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vminps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vminps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vminsd,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vminsd,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vminss,1,1,XMMREG,XMMREG,MEM32,');
+ FOpCodeList.Add('vminss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmovapd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vmovapd,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('vmovapd,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vmovapd,1,1,YMMRM,YMMREG,,');
+ FOpCodeList.Add('vmovaps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vmovaps,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('vmovaps,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vmovaps,1,1,YMMRM,YMMREG,,');
+ FOpCodeList.Add('vmovd,1,1,RM32,XMMREG,,');
+ FOpCodeList.Add('vmovd,1,1,XMMREG,RM32,,');
+ FOpCodeList.Add('vmovddup,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vmovddup,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vmovddup,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vmovdqa,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vmovdqa,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('vmovdqa,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vmovdqa,1,1,YMMRM,YMMREG,,');
+ FOpCodeList.Add('vmovdqu,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vmovdqu,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('vmovdqu,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vmovdqu,1,1,YMMRM,YMMREG,,');
+ FOpCodeList.Add('vmovhlps,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmovhpd,1,1,MEM64,XMMREG,,');
+ FOpCodeList.Add('vmovhpd,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vmovhps,1,1,MEM64,XMMREG,,');
+ FOpCodeList.Add('vmovhps,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vmovlhps,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmovlpd,1,1,MEM64,XMMREG,,');
+ FOpCodeList.Add('vmovlpd,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vmovlps,1,1,MEM64,XMMREG,,');
+ FOpCodeList.Add('vmovlps,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vmovmskpd,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('vmovmskpd,1,1,REG32,YMMREG,,');
+ FOpCodeList.Add('vmovmskpd,1,1,REG64,XMMREG,,');
+ FOpCodeList.Add('vmovmskpd,1,1,REG64,YMMREG,,');
+ FOpCodeList.Add('vmovmskps,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('vmovmskps,1,1,REG32,YMMREG,,');
+ FOpCodeList.Add('vmovmskps,1,1,REG64,XMMREG,,');
+ FOpCodeList.Add('vmovmskps,1,1,REG64,YMMREG,,');
+ FOpCodeList.Add('vmovntdq,1,1,MEM128,XMMREG,,');
+ FOpCodeList.Add('vmovntdq,1,1,MEM256,YMMREG,,');
+ FOpCodeList.Add('vmovntdqa,1,1,XMMREG,MEM128,,');
+ FOpCodeList.Add('vmovntdqa,1,1,YMMREG,MEM256,,');
+ FOpCodeList.Add('vmovntpd,1,1,MEM128,XMMREG,,');
+ FOpCodeList.Add('vmovntpd,1,1,MEM256,YMMREG,,');
+ FOpCodeList.Add('vmovntps,1,1,MEM128,XMMREG,,');
+ FOpCodeList.Add('vmovntps,1,1,MEM128,YMMREG,,');
+ FOpCodeList.Add('vmovq,0,1,RM64,XMMREG,,');
+ FOpCodeList.Add('vmovq,0,1,XMMREG,RM64,,');
+ FOpCodeList.Add('vmovq,1,1,MEM64,XMMREG,,');
+ FOpCodeList.Add('vmovq,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vmovq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vmovq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vmovsd,1,1,MEM64,XMMREG,,');
+ FOpCodeList.Add('vmovsd,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vmovsd,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmovsd,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmovshdup,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vmovshdup,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vmovsldup,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vmovsldup,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vmovss,1,1,MEM32,XMMREG,,');
+ FOpCodeList.Add('vmovss,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('vmovss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmovss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmovupd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vmovupd,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('vmovupd,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vmovupd,1,1,YMMRM,YMMREG,,');
+ FOpCodeList.Add('vmovups,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vmovups,1,1,XMMRM,XMMREG,,');
+ FOpCodeList.Add('vmovups,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vmovups,1,1,YMMRM,YMMREG,,');
+ FOpCodeList.Add('vmpsadbw,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vmpsadbw,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vmulpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vmulpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vmulps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vmulps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vmulsd,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vmulsd,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vmulss,1,1,XMMREG,XMMREG,MEM32,');
+ FOpCodeList.Add('vmulss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vorpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vorps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vorps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpabsb,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vpabsb,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vpabsd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vpabsd,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vpabsw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vpabsw,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vpackssdw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpackssdw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpacksswb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpacksswb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpackusdw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpackusdw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpackuswb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpackuswb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpaddb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpaddb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpaddd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpaddd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpaddq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpaddq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpaddsb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpaddsb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpaddsw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpaddsw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpaddusb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpaddusb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpaddusw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpaddusw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpaddw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpaddw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpalignr,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vpalignr,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vpand,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpand,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpandn,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpandn,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpavgb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpavgb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpavgw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpavgw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpblendd,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vpblendd,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vpblendvb,1,1,XMMREG,XMMREG,XMMRM,XMMREG');
+ FOpCodeList.Add('vpblendvb,1,1,YMMREG,YMMREG,YMMRM,YMMREG');
+ FOpCodeList.Add('vpblendw,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vpblendw,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vpbroadcastb,1,1,XMMREG,,');
+ FOpCodeList.Add('vpbroadcastb,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpbroadcastb,1,1,YMMREG,,');
+ FOpCodeList.Add('vpbroadcastb,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vpbroadcastd,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('vpbroadcastd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpbroadcastd,1,1,YMMREG,MEM32,,');
+ FOpCodeList.Add('vpbroadcastd,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vpbroadcastq,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vpbroadcastq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpbroadcastq,1,1,YMMREG,MEM64,,');
+ FOpCodeList.Add('vpbroadcastq,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vpbroadcastw,1,1,XMMREG,,');
+ FOpCodeList.Add('vpbroadcastw,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpbroadcastw,1,1,YMMREG,,');
+ FOpCodeList.Add('vpbroadcastw,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vpclmulqdq,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vpcmpeqb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpcmpeqb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpcmpeqd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpcmpeqd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpcmpeqq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpcmpeqq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpcmpeqw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpcmpeqw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpcmpestri,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vpcmpestrm,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vpcmpgtb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpcmpgtb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpcmpgtd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpcmpgtd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpcmpgtq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpcmpgtq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpcmpgtw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpcmpgtw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpcmpistri,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vpcmpistrm,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vperm2f128,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vperm2i128,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vpermd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpermilpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpermilpd,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vpermilpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpermilpd,1,1,YMMREG,YMMRM,IMM8,');
+ FOpCodeList.Add('vpermilps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpermilps,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vpermilps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpermilps,1,1,YMMREG,YMMRM,IMM8,');
+ FOpCodeList.Add('vpermpd,1,1,YMMREG,YMMRM,IMM8,');
+ FOpCodeList.Add('vpermps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpermq,1,1,YMMREG,YMMRM,IMM8,');
+ FOpCodeList.Add('vpextrb,1,1,REG32,XMMREG,IMM8,');
+ FOpCodeList.Add('vpextrb,1,1,REG64,XMMREG,IMM8,');
+ FOpCodeList.Add('vpextrb,1,1,XMMREG,IMM8,');
+ FOpCodeList.Add('vpextrd,1,1,RM32,XMMREG,IMM8,');
+ FOpCodeList.Add('vpextrq,1,1,RM64,XMMREG,IMM8,');
+ FOpCodeList.Add('vpextrw,1,1,REG32,XMMREG,IMM8,');
+ FOpCodeList.Add('vpextrw,1,1,REG32,XMMREG,IMM8,');
+ FOpCodeList.Add('vpextrw,1,1,REG64,XMMREG,IMM8,');
+ FOpCodeList.Add('vpextrw,1,1,REG64,XMMREG,IMM8,');
+ FOpCodeList.Add('vpextrw,1,1,XMMREG,IMM8,');
+ FOpCodeList.Add('vpgatherdd,1,1,XMMREG,XMEM32,XMMREG,');
+ FOpCodeList.Add('vpgatherdd,1,1,YMMREG,YMEM32,YMMREG,');
+ FOpCodeList.Add('vpgatherdq,1,1,XMMREG,XMEM64,XMMREG,');
+ FOpCodeList.Add('vpgatherdq,1,1,YMMREG,XMEM64,YMMREG,');
+ FOpCodeList.Add('vpgatherqd,1,1,XMMREG,XMEM32,XMMREG,');
+ FOpCodeList.Add('vpgatherqd,1,1,XMMREG,YMEM32,XMMREG,');
+ FOpCodeList.Add('vpgatherqq,1,1,XMMREG,XMEM64,XMMREG,');
+ FOpCodeList.Add('vpgatherqq,1,1,YMMREG,YMEM64,YMMREG,');
+ FOpCodeList.Add('vphaddd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vphaddd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vphaddsw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vphaddsw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vphaddw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vphaddw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vphminposuw,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vphsubd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vphsubd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vphsubsw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vphsubsw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vphsubw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vphsubw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpinsrb,1,1,XMMREG,XMMREG,IMM8');
+ FOpCodeList.Add('vpinsrb,1,1,XMMREG,XMMREG,REG32,IMM8');
+ FOpCodeList.Add('vpinsrd,1,1,XMMREG,XMMREG,RM32,IMM8');
+ FOpCodeList.Add('vpinsrq,1,1,XMMREG,XMMREG,RM64,IMM8');
+ FOpCodeList.Add('vpinsrw,1,1,XMMREG,XMMREG,IMM8');
+ FOpCodeList.Add('vpinsrw,1,1,XMMREG,XMMREG,REG32,IMM8');
+ FOpCodeList.Add('vpmaddubsw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmaddubsw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmaddwd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmaddwd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmaskmovd,1,1,MEM128,XMMREG,XMMREG,');
+ FOpCodeList.Add('vpmaskmovd,1,1,MEM256,YMMREG,YMMREG,');
+ FOpCodeList.Add('vpmaskmovd,1,1,XMMREG,XMMREG,MEM128,');
+ FOpCodeList.Add('vpmaskmovd,1,1,YMMREG,YMMREG,MEM256,');
+ FOpCodeList.Add('vpmaskmovq,1,1,MEM128,XMMREG,XMMREG,');
+ FOpCodeList.Add('vpmaskmovq,1,1,MEM256,YMMREG,YMMREG,');
+ FOpCodeList.Add('vpmaskmovq,1,1,XMMREG,XMMREG,MEM128,');
+ FOpCodeList.Add('vpmaskmovq,1,1,YMMREG,YMMREG,MEM256,');
+ FOpCodeList.Add('vpmaxsb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmaxsb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmaxsd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmaxsd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmaxsw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmaxsw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmaxub,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmaxub,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmaxud,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmaxud,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmaxuw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmaxuw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpminsb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpminsb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpminsd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpminsd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpminsw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpminsw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpminub,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpminub,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpminud,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpminud,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpminuw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpminuw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmovmskb,1,1,REG32,XMMREG,,');
+ FOpCodeList.Add('vpmovmskb,1,1,REG32,YMMREG,,');
+ FOpCodeList.Add('vpmovmskb,1,1,REG64,XMMREG,,');
+ FOpCodeList.Add('vpmovmskb,1,1,REG64,YMMREG,,');
+ FOpCodeList.Add('vpmovsxbd,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('vpmovsxbd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovsxbd,1,1,YMMREG,MEM64,,');
+ FOpCodeList.Add('vpmovsxbd,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovsxbq,1,1,XMMREG,,');
+ FOpCodeList.Add('vpmovsxbq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovsxbq,1,1,YMMREG,MEM32,,');
+ FOpCodeList.Add('vpmovsxbq,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovsxbw,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vpmovsxbw,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovsxbw,1,1,YMMREG,XMMRM,,');
+ FOpCodeList.Add('vpmovsxdq,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vpmovsxdq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovsxdq,1,1,YMMREG,XMMRM,,');
+ FOpCodeList.Add('vpmovsxwd,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vpmovsxwd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovsxwd,1,1,YMMREG,XMMRM,,');
+ FOpCodeList.Add('vpmovsxwq,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('vpmovsxwq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovsxwq,1,1,YMMREG,MEM64,,');
+ FOpCodeList.Add('vpmovsxwq,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovzxbd,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('vpmovzxbd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovzxbd,1,1,YMMREG,MEM64,,');
+ FOpCodeList.Add('vpmovzxbd,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovzxbq,1,1,XMMREG,,');
+ FOpCodeList.Add('vpmovzxbq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovzxbq,1,1,YMMREG,MEM32,,');
+ FOpCodeList.Add('vpmovzxbq,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovzxbw,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vpmovzxbw,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovzxbw,1,1,YMMREG,XMMRM,,');
+ FOpCodeList.Add('vpmovzxdq,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vpmovzxdq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovzxdq,1,1,YMMREG,XMMRM,,');
+ FOpCodeList.Add('vpmovzxwd,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vpmovzxwd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovzxwd,1,1,YMMREG,XMMRM,,');
+ FOpCodeList.Add('vpmovzxwq,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('vpmovzxwq,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmovzxwq,1,1,YMMREG,MEM64,,');
+ FOpCodeList.Add('vpmovzxwq,1,1,YMMREG,XMMREG,,');
+ FOpCodeList.Add('vpmuldq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmuldq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmulhrsw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmulhrsw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmulhuw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmulhuw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmulhw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmulhw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmulld,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmulld,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmullw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmullw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpmuludq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpmuludq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpor,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpor,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsadbw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsadbw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpshufb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpshufb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpshufd,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vpshufd,1,1,YMMREG,YMMRM,IMM8,');
+ FOpCodeList.Add('vpshufhw,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vpshufhw,1,1,YMMREG,YMMRM,IMM8,');
+ FOpCodeList.Add('vpshuflw,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vpshuflw,1,1,YMMREG,YMMRM,IMM8,');
+ FOpCodeList.Add('vpsignb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsignb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsignd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsignd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsignw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsignw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpslld,1,1,XMMREG,XMMREG,IMM8,');
+ FOpCodeList.Add('vpslld,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpslld,1,1,YMMREG,YMMREG,IMM8,');
+ FOpCodeList.Add('vpslld,1,1,YMMREG,YMMREG,XMMRM,');
+ FOpCodeList.Add('vpslldq,1,1,XMMREG,XMMREG,IMM8,');
+ FOpCodeList.Add('vpslldq,1,1,YMMREG,YMMREG,IMM8,');
+ FOpCodeList.Add('vpsllq,1,1,XMMREG,XMMREG,IMM8,');
+ FOpCodeList.Add('vpsllq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsllq,1,1,YMMREG,YMMREG,IMM8,');
+ FOpCodeList.Add('vpsllq,1,1,YMMREG,YMMREG,XMMRM,');
+ FOpCodeList.Add('vpsllvd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsllvd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsllvq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsllvq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsllw,1,1,XMMREG,XMMREG,IMM8,');
+ FOpCodeList.Add('vpsllw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsllw,1,1,YMMREG,YMMREG,IMM8,');
+ FOpCodeList.Add('vpsllw,1,1,YMMREG,YMMREG,XMMRM,');
+ FOpCodeList.Add('vpsrad,1,1,XMMREG,XMMREG,IMM8,');
+ FOpCodeList.Add('vpsrad,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsrad,1,1,YMMREG,YMMREG,IMM8,');
+ FOpCodeList.Add('vpsrad,1,1,YMMREG,YMMREG,XMMRM,');
+ FOpCodeList.Add('vpsravd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsravd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsraw,1,1,XMMREG,XMMREG,IMM8,');
+ FOpCodeList.Add('vpsraw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsraw,1,1,YMMREG,YMMREG,IMM8,');
+ FOpCodeList.Add('vpsraw,1,1,YMMREG,YMMREG,XMMRM,');
+ FOpCodeList.Add('vpsrld,1,1,XMMREG,XMMREG,IMM8,');
+ FOpCodeList.Add('vpsrld,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsrld,1,1,YMMREG,YMMREG,IMM8,');
+ FOpCodeList.Add('vpsrld,1,1,YMMREG,YMMREG,XMMRM,');
+ FOpCodeList.Add('vpsrldq,1,1,XMMREG,XMMREG,IMM8,');
+ FOpCodeList.Add('vpsrldq,1,1,YMMREG,YMMREG,IMM8,');
+ FOpCodeList.Add('vpsrlq,1,1,XMMREG,XMMREG,IMM8,');
+ FOpCodeList.Add('vpsrlq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsrlq,1,1,YMMREG,YMMREG,IMM8,');
+ FOpCodeList.Add('vpsrlq,1,1,YMMREG,YMMREG,XMMRM,');
+ FOpCodeList.Add('vpsrlvd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsrlvd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsrlvq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsrlvq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsrlw,1,1,XMMREG,XMMREG,IMM8,');
+ FOpCodeList.Add('vpsrlw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsrlw,1,1,YMMREG,YMMREG,IMM8,');
+ FOpCodeList.Add('vpsrlw,1,1,YMMREG,YMMREG,XMMRM,');
+ FOpCodeList.Add('vpsubb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsubb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsubd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsubd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsubq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsubq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsubsb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsubsb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsubsw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsubsw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsubusb,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsubusb,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsubusw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsubusw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpsubw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpsubw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vptest,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vptest,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vpunpckhbw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpunpckhbw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpunpckhdq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpunpckhdq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpunpckhqdq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpunpckhqdq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpunpckhwd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpunpckhwd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpunpcklbw,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpunpcklbw,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpunpckldq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpunpckldq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpunpcklqdq,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpunpcklqdq,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpunpcklwd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpunpcklwd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vpxor,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vpxor,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vrcpps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vrcpps,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vrcpss,1,1,XMMREG,XMMREG,MEM32,');
+ FOpCodeList.Add('vrcpss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vroundpd,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vroundpd,1,1,YMMREG,YMMRM,IMM8,');
+ FOpCodeList.Add('vroundps,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('vroundps,1,1,YMMREG,YMMRM,IMM8,');
+ FOpCodeList.Add('vroundsd,1,1,XMMREG,XMMREG,MEM64,IMM8');
+ FOpCodeList.Add('vroundsd,1,1,XMMREG,XMMREG,XMMREG,IMM8');
+ FOpCodeList.Add('vroundss,1,1,XMMREG,XMMREG,MEM32,IMM8');
+ FOpCodeList.Add('vroundss,1,1,XMMREG,XMMREG,XMMREG,IMM8');
+ FOpCodeList.Add('vrsqrtps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vrsqrtps,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vrsqrtss,1,1,XMMREG,XMMREG,MEM32,');
+ FOpCodeList.Add('vrsqrtss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vshufpd,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vshufpd,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vshufps,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+ FOpCodeList.Add('vshufps,1,1,YMMREG,YMMREG,YMMRM,IMM8');
+ FOpCodeList.Add('vsqrtpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vsqrtpd,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vsqrtps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vsqrtps,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vsqrtsd,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vsqrtsd,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vsqrtss,1,1,XMMREG,XMMREG,MEM32,');
+ FOpCodeList.Add('vsqrtss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vstmxcsr,1,1,MEM32,,,');
+ FOpCodeList.Add('vsubpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vsubpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vsubps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vsubps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vsubsd,1,1,XMMREG,XMMREG,MEM64,');
+ FOpCodeList.Add('vsubsd,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vsubss,1,1,XMMREG,XMMREG,MEM32,');
+ FOpCodeList.Add('vsubss,1,1,XMMREG,XMMREG,XMMREG,');
+ FOpCodeList.Add('vtestpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vtestpd,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vtestps,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('vtestps,1,1,YMMREG,YMMRM,,');
+ FOpCodeList.Add('vucomisd,1,1,XMMREG,MEM64,,');
+ FOpCodeList.Add('vucomisd,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vucomiss,1,1,XMMREG,MEM32,,');
+ FOpCodeList.Add('vucomiss,1,1,XMMREG,XMMREG,,');
+ FOpCodeList.Add('vunpckhpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vunpckhpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vunpckhps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vunpckhps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vunpcklpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vunpcklpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vunpcklps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vunpcklps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vxorpd,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vxorpd,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vxorps,1,1,XMMREG,XMMREG,XMMRM,');
+ FOpCodeList.Add('vxorps,1,1,YMMREG,YMMREG,YMMRM,');
+ FOpCodeList.Add('vzeroall,1,1,,,,');
+ FOpCodeList.Add('vzeroupper,1,1,,,,');
+ FOpCodeList.Add('xorpd,1,1,XMMREG,XMMRM,,');
+ FOpCodeList.Add('xorps,1,1,XMMREG,XMMRM,,');
end;
-function TAVXTestGenerator.InternalMakeTestFiles(aX64: boolean; aDestPath, aFileExt: String;
+function TAVXTestGenerator.InternalMakeTestFiles(aMRef, aX64: boolean; aDestPath, aFilemask, aFileExt: String;
aOpCodeList, aHeaderList, aFooterList: TStringList): boolean;
var
- i: integer;
+ i,j: integer;
+ sData: string;
+ sDestFile: string;
+ sLocalVarDataTyp: string;
sl: TStringList;
slAsm: TStringList;
+ slLocalHeader: TStringList;
+ slFilemask: TStringList;
LastOpCode: String;
NewOpCode: String;
+ FoundNewOpcode: boolean;
function SaveFile(aAsmList: TStringList; aOpcode, aDestPath, aFileExt: String; aHeaderList, aFooterList: TStringList): boolean;
begin
@@ -820,8 +2044,8 @@ var
if aAsmList.Count > 0 then
begin
- aAsmList.Insert(0, StringReplace(aHeaderList.Text, '$$$OPCODE$$$', aOpCode, []));
- aAsmList.AddStrings(aFooterList);
+ aAsmList.Insert(0, StringReplace(aHeaderList.Text, '$$$OPCODE$$$', aOpCode, [rfReplaceAll]));
+ aAsmList.AddStrings(StringReplace(aFooterList.Text, '$$$OPCODE$$$', aOpCode, [rfReplaceAll]));
aAsmList.SaveToFile(IncludeTrailingBackslash(aDestPath) + aOpCode + aFileExt);
end;
@@ -836,53 +2060,79 @@ begin
try
slAsm := TStringList.Create;
try
- LastOpCode := '';
-
- for i := 0 to aOpCodeList.Count - 1 do
- //for i := 0 to 0 do
- begin
- sl.Clear;
- sl.CommaText := aOpCodeList[i];
+ slFilemask := TStringList.Create;
+ try
+ slFilemask.CommaText := ansilowercase(aFilemask);
- while sl.Count < 7 do sl.Add('');
+ LastOpCode := '';
- NewOpCode := sl[0];
- if NewOpCode <> '' then
+ for i := 0 to aOpCodeList.Count - 1 do
begin
- if NewOpCode <> LastOpCode then
- begin
- if LastOpCode <> '' then
- begin
- SaveFile(slAsm, LastOpCode, aDestPath, aFileExt, aHeaderList, aFooterList);
- writeln(format('%s%s%s', [aDestPath, NewOpCode, aFileExt]));
+ sl.Clear;
+ sl.CommaText := aOpCodeList[i];
- slAsm.Clear;
- LastOpCode := NewOpCode;
- end
- else LastOpCode := NewOpCode;
+ while sl.Count < 8 do sl.Add('');
+
+ NewOpCode := ansilowercase(sl[0]);
+
+ FoundNewOpcode := false;
+ for j := 0 to slFilemask.Count - 1 do
+ begin
+ if Pos(slFilemask[j], NewOpCode) = 1 then
+ FoundNewOpcode := true;
end;
- if (not(aX64) and (sl[1] = '1')) or // i386
- (aX64 and (sl[2] = '1')) then // x86_64
+ if not(FoundNewOpcode) and (slFilemask.Count > 0) then
+ NewOpcode := '';
+
+ if NewOpCode <> '' then
begin
- if (sl[3] = '') and
- (sl[3] = '') and
- (sl[3] = '') and
- (sl[3] = '') then
- begin // Opcode with no Params, e.g. VZEROALL
- slAsm.Add(' ' + sl[0]);
- end
- else TAsmTestGenerator.CalcTestData(aX64, sl[0], sl[3], sl[4], sl[5], sl[6], slAsm);
+ if (not(aX64) and (sl[1] = '1')) or // i386
+ (aX64 and (sl[2] = '1')) then // x86_64
+ begin
+ sDestFile := format('%s_%d%s', [NewOpcode, i, trim(copy(sl[4],1,1) + copy(sl[5],1,1) + copy(sl[6],1,1) + copy(sl[7],1,1))]);
+
+ slLocalHeader := TStringList.Create;
+ try
+ slLocalHeader.Text := aHeaderList.text;
+
+ if (sl[4] = '') and
+ (sl[5] = '') and
+ (sl[6] = '') and
+ (sl[7] = '') then
+ begin // Opcode with no Params, e.g. VZEROALL
+ slAsm.Add(' ' + sl[0]);
+ end
+ else
+ begin
+ if aMREF then
+ begin
+ sLocalVarDataTyp := '';
+ TAsmTestGenerator.CalcTestDataMREF(aX64, sl[0], sl[3], sl[4], sl[5], sl[6], slAsm);
+ sDestFile := 'MREF_' + sDestFile;
+
+ if trim(sLocalVarDataTyp) = '' then
+ sLocalVarDataTyp := 'byte';
+
+ slLocalHeader.Text := StringReplace(aHeaderList.Text, '$$$LOCALVARDATATYP$$$', sLocalVarDataTyp, [rfReplaceAll]);
+ end
+ else TAsmTestGenerator.CalcTestData(aX64, sl[0], sl[3], sl[4], sl[5], sl[6], slAsm);
+ end;
+
+ SaveFile(slAsm, sDestFile, aDestPath, aFileExt, slLocalHeader, aFooterList);
+ writeln(format('%s%s%s', [aDestPath, sDestFile, aFileExt]));
+
+ finally
+ FreeAndNil(slLocalHeader);
+ end;
+
+ slAsm.Clear;
+ end;
end;
end;
+ finally
+ FreeAndNil(slFilemask);
end;
-
- if NewOpCode <> '' then
- begin
- SaveFile(slAsm, NewOpCode, aDestPath, aFileExt, aHeaderList, aFooterList);
- writeln(format('%s%s%s', [aDestPath, NewOpCode, aFileExt]));
- end;
-
finally
FreeAndNil(slAsm);
end;
@@ -892,7 +2142,7 @@ begin
end;
function TAVXTestGenerator.MakeTestFiles(aTyp: TTestFileTyp; aX64: boolean;
- aDestPath: String): boolean;
+ aDestPath, aFilemask: String): boolean;
var
slHeader: TStringList;
slFooter: TStringList;
@@ -928,6 +2178,156 @@ begin
slFooter.Add(' end;');
slFooter.Add('end.');
end;
+ tfFPCMRef:
+ begin
+ writeln(format('outputformat: fpc platform: %s path: %s',
+ [cPlatform[aX64], aDestPath]));
+
+ FileExt := '.pp';
+
+ slHeader.Add('Program $$$OPCODE$$$;');
+ slHeader.Add('{$asmmode intel}');
+
+ slHeader.Add('type');
+ slHeader.Add(' rec = record');
+
+ slHeader.Add(' rByte: byte;');
+ slHeader.Add(' rWord: word;');
+ slHeader.Add(' rDWord: dword;');
+ slHeader.Add(' rQWord: qword;');
+ slHeader.Add(' rOWord: array[0..15] of byte;');
+ slHeader.Add(' rYWord: array[0..31] of byte;');
+ slHeader.Add(' rZWord: array[0..63] of byte;');
+
+ slHeader.Add(' end;');
+
+
+ slHeader.Add('var');
+ slHeader.Add(' gRec: rec;');
+ slHeader.Add(' gByte: byte;');
+ slHeader.Add(' gWord: word;');
+ slHeader.Add(' gDWord: dword;');
+ slHeader.Add(' gQWord: qword;');
+ slHeader.Add(' gOWord: array[0..15] of byte;');
+ slHeader.Add(' gYWord: array[0..31] of byte;');
+ slHeader.Add(' gZWord: array[0..63] of byte;');
+
+ slHeader.Add('const');
+ slHeader.Add(' cgByte: byte = 0;');
+ slHeader.Add(' cgWord: word = 0;');
+ slHeader.Add(' cgDWord: dword = 0;');
+ slHeader.Add(' cgQWord: qword = 0;');
+ slHeader.Add(' cgOWord: array[0..15] of byte = ((0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0));');
+
+ slHeader.Add(' cgYWord: array[0..31] of byte = ((0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0));');
+
+ slHeader.Add(' cgZWord: array[0..63] of byte = ((0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0));');
+
+// slHeader.Add(' cgZWord: array[0..63] of byte;');
+
+ slHeader.Add(' procedure dummyproc;');
+ slHeader.Add(' var');
+ slHeader.Add(' lRec: rec;');
+ slHeader.Add(' lByte: byte;');
+ slHeader.Add(' lWord: word;');
+ slHeader.Add(' lDWord: dword;');
+ slHeader.Add(' lQWord: qword;');
+ slHeader.Add(' lOWord: array[0..15] of byte;');
+ slHeader.Add(' lYWord: array[0..31] of byte;');
+ slHeader.Add(' lSingle: single;');
+
+ slHeader.Add(' lDouble: double;');
+ slHeader.Add(' lZWord: array[0..63] of byte;');
+
+ slHeader.Add(' const');
+ slHeader.Add(' clByte: byte = 0;');
+ slHeader.Add(' clWord: word = 0;');
+ slHeader.Add(' clDWord: dword = 0;');
+ slHeader.Add(' clQWord: qword = 0;');
+ slHeader.Add(' clOWord: array[0..15] of byte = ((0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0));');
+
+ slHeader.Add(' clYWord: array[0..31] of byte = ((0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0));');
+
+ slHeader.Add(' clZWord: array[0..63] of byte = ((0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0),' +
+ '(0),(0),(0),(0),(0),(0),(0),(0));');
+
+
+
+ slHeader.Add(' begin');
+ slHeader.Add(' asm');
+ for i := 1 to 10 do
+ slHeader.Add(' NOP');
+
+
+ for i := 1 to 10 do
+ slFooter.Add(' NOP');
+
+ slFooter.Add(' end;');
+ slFooter.Add(' end;');
+ slFooter.Add('begin');
+ slFooter.Add('end.');
+ end;
+ tfFPCInc: begin
+ writeln(format('outputformat: fpc platform: %s path: %s',
+ [cPlatform[aX64], aDestPath]));
+
+ FileExt := '.pp';
+
+ slHeader.Add('Program Test$$$OPCODE$$$;');
+ slHeader.Add('{$asmmode intel}');
+ slHeader.Add('{$warn 7102 off}');
+ slHeader.Add('{$I $$$OPCODE$$$.inc}');
+ slHeader.Add('Procedure Proc$$$OPCODE$$$;assembler;nostackframe;');
+ slHeader.Add(' asm');
+
+ for i := 1 to 10 do
+ slHeader.Add(#9'NOP');
+
+ for i := 1 to 10 do
+ slFooter.Add(#9'NOP');
+
+ slFooter.Add(' end;');
+ slFooter.Add('procedure check(const id: string; const expected: array of byte; p: pointer);');
+ slFooter.Add('var');
+ slFooter.Add(' i : longint;');
+ slFooter.Add('begin');
+ slFooter.Add(' for i:=0 to high(expected) do');
+ slFooter.Add(' if expected[i]<>pbyte(p)[i] then');
+ slFooter.Add(' begin');
+ slFooter.Add(' writeln(id, '' mismatch at offset $'',hexstr(i,4), '', expected=$'',hexstr(expected[i],2),'' actual=$'',hexstr(pbyte(p)[i],2));');
+ slFooter.Add(' halt(1);');
+ slFooter.Add(' end;');
+ slFooter.Add('end;');
+
+ slFooter.Add('begin');
+ if aX64 then
+ slFooter.Add(' check(''x86_64'',$$$OPCODE$$$,@Proc$$$OPCODE$$$);')
+ else
+ slFooter.Add(' check(''i386'',$$$OPCODE$$$,@Proc$$$OPCODE$$$);');
+ slFooter.Add(' writeln(''ok'');');
+ slFooter.Add('end.');
+ end;
tfNasm: begin
writeln(format('outputformat: Nasm platform: %s path: %s',
[cPlatform[aX64], aDestPath]));
@@ -963,7 +2363,7 @@ begin
end;
end;
- InternalMakeTestFiles(aX64, aDestPath, Fileext, FOpCodeList, slHeader, slFooter);
+ InternalMakeTestFiles(aTyp = tfFPCMRef, aX64, aDestPath, aFilemask, Fileext, FOpCodeList, slHeader, slFooter);
finally
FreeAndNil(slFooter);
@@ -973,5 +2373,10 @@ begin
end;
end;
+procedure TAVXTestGenerator.ListMemRefState;
+begin
+ TAsmTestGenerator.ListMemRefState;
+end;
+
end.