|
@@ -65,7 +65,11 @@ begin
|
|
|
inherited;
|
|
|
end;
|
|
|
|
|
|
-{ $define TEST_FF} { place holder }
|
|
|
+{ $define TEST_FF} { place holder }
|
|
|
+{ $define TEST_AMX} {AMX-TILE,AMX-INT8,AMX-BF16,AMX-FP16,AMX-TRANSPOSE,AMX-FP8,AMX-MOVRS,AMX-COMPLEX,AMX-TF32,AMX-AVX512}
|
|
|
+{ $define TEST_URDMSR} {USER_MSR,UINTR,RAO-INT,MOVDIRI,AES}
|
|
|
+{ $define TEST_MOVRS} {MOVRS,CMPCCXADD,AVX-VNNI-INT8 AVX10.2,AVX-VNNI-INT16 AVX10.2}
|
|
|
+{ $define TEST_AVX102} {AVX10.2}
|
|
|
{ $define TEST_4FMAPS} {4FMAPS,4VNNIW}
|
|
|
{ $define TEST_FP16}
|
|
|
{ $define TEST_BF16}
|
|
@@ -84,15 +88,728 @@ begin
|
|
|
{$if defined(TEST_FF) or defined(NOT_AT_ALL)}
|
|
|
{ place holder }
|
|
|
{$endif}
|
|
|
+{$if defined(TEST_AMX) or defined(TEST_ALL)}
|
|
|
+ { AMX opcodes }
|
|
|
+ FOpCodeList.Add('tdpbf16ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tdpfp16ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('ldtilecfg,0,1,0,MEM128,,,');
|
|
|
+ FOpCodeList.Add('sttilecfg,0,1,0,MEM128,,,');
|
|
|
+ FOpCodeList.Add('tileloadd,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('tileloaddt1,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('tilerelease,0,1,0,,,,');
|
|
|
+ FOpCodeList.Add('tilestored,0,1,0,SIBMEM,TMMREG,,');
|
|
|
+ FOpCodeList.Add('tilezero,0,1,0,TMMREG,,,');
|
|
|
+ FOpCodeList.Add('tdpbssd,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tdpbsud,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tdpbusd,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tdpbuud,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('t2rpntlvwz0,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('t2rpntlvwz0t1,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('t2rpntlvwz1,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('t2rpntlvwz1t1,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('t2rpntlvwz0rs,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('t2rpntlvwz0rst1,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('t2rpntlvwz1rs,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('t2rpntlvwz1rst1,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('tcmmimfp16ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tcmmrlfp16ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tconjtcmmimfp16ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tconjtfp16,0,1,0,TMMREG,TMMREG,,');
|
|
|
+ FOpCodeList.Add('tdpbf8ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tdpbhf8ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tdphbf8ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tdphf8ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('tileloaddrs,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('tileloaddrst1,0,1,0,TMMREG,SIBMEM,,');
|
|
|
+ FOpCodeList.Add('tmmultf32ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('ttcmmimfp16ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('ttcmmrlfp16ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('ttdpbf16ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('ttdpfp16ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('ttmmultf32ps,0,1,0,TMMREG,TMMREG,TMMREG,');
|
|
|
+ FOpCodeList.Add('ttransposed,0,1,0,TMMREG,TMMREG,,');
|
|
|
+ FOpCodeList.Add('tcvtrowd2ps,0,1,1,ZMMREG,TMMREG,REG32,');
|
|
|
+ FOpCodeList.Add('tcvtrowd2ps,0,1,1,ZMMREG,TMMREG,IMM8,');
|
|
|
+ FOpCodeList.Add('tcvtrowps2bf16h,0,1,1,ZMMREG,TMMREG,REG32,');
|
|
|
+ FOpCodeList.Add('tcvtrowps2bf16h,0,1,1,ZMMREG,TMMREG,IMM8,');
|
|
|
+ FOpCodeList.Add('tcvtrowps2bf16l,0,1,1,ZMMREG,TMMREG,REG32,');
|
|
|
+ FOpCodeList.Add('tcvtrowps2bf16l,0,1,1,ZMMREG,TMMREG,IMM8,');
|
|
|
+ FOpCodeList.Add('tcvtrowps2phh,0,1,1,ZMMREG,TMMREG,REG32,');
|
|
|
+ FOpCodeList.Add('tcvtrowps2phh,0,1,1,ZMMREG,TMMREG,IMM8,');
|
|
|
+ FOpCodeList.Add('tcvtrowps2phl,0,1,1,ZMMREG,TMMREG,REG32,');
|
|
|
+ FOpCodeList.Add('tcvtrowps2phl,0,1,1,ZMMREG,TMMREG,IMM8,');
|
|
|
+ FOpCodeList.Add('tilemovrow,0,1,1,ZMMREG,TMMREG,REG32,');
|
|
|
+ FOpCodeList.Add('tilemovrow,0,1,1,ZMMREG,TMMREG,IMM8,');
|
|
|
+{$endif}
|
|
|
+{$if defined(TEST_URDMSR) or defined(TEST_ALL)}
|
|
|
+ { URDMSR opcodes }
|
|
|
+ FOpCodeList.Add('URDMSR,0,1,0,REG64,REG64,,');
|
|
|
+ FOpCodeList.Add('URDMSR,0,1,0,REG64,IMM32,,');
|
|
|
+ FOpCodeList.Add('UWRMSR,0,1,0,REG64,REG64,,');
|
|
|
+ FOpCodeList.Add('UWRMSR,0,1,0,IMM32,REG64,,');
|
|
|
+ { WRMSRNS,MSR_IMM opcodes }
|
|
|
+ FOpCodeList.Add('RDMSR,0,1,0,REG64,IMM32,,');
|
|
|
+ FOpCodeList.Add('WRMSRNS,0,1,0,,,,');
|
|
|
+ FOpCodeList.Add('WRMSRNS,0,1,0,IMM32,REG64,,');
|
|
|
+ { UINTR opcodes }
|
|
|
+ FOpCodeList.Add('CLUI,0,1,0,,,,');
|
|
|
+ FOpCodeList.Add('SENDUIPI,0,1,0,REG64,,,');
|
|
|
+ FOpCodeList.Add('STUI,0,1,0,,,,');
|
|
|
+ FOpCodeList.Add('TESTUI,0,1,0,,,,');
|
|
|
+ FOpCodeList.Add('UIRET,0,1,0,,,,');
|
|
|
+ { RAO-INT opcodes }
|
|
|
+ FOpCodeList.Add('AADD,1,1,0,MEM32,REG32,,');
|
|
|
+ FOpCodeList.Add('AADD,0,1,0,MEM64,REG64,,');
|
|
|
+ FOpCodeList.Add('AAND,1,1,0,MEM32,REG32,,');
|
|
|
+ FOpCodeList.Add('AAND,0,1,0,MEM64,REG64,,');
|
|
|
+ FOpCodeList.Add('AOR,1,1,0,MEM32,REG32,,');
|
|
|
+ FOpCodeList.Add('AOR,0,1,0,MEM64,REG64,,');
|
|
|
+ FOpCodeList.Add('AXOR,1,1,0,MEM32,REG32,,');
|
|
|
+ FOpCodeList.Add('AXOR,0,1,0,MEM64,REG64,,');
|
|
|
+ { MOVDIRI opcodes }
|
|
|
+ FOpCodeList.Add('MOVDIRI,1,1,0,MEM32,REG32,,');
|
|
|
+ FOpCodeList.Add('MOVDIRI,0,1,0,MEM64,REG64,,');
|
|
|
+ { AES opcodes }
|
|
|
+ FOpCodeList.Add('aesenc,1,1,0,XMMREG,XMMRM,,');
|
|
|
+ FOpCodeList.Add('aesenclast,1,1,0,XMMREG,XMMRM,,');
|
|
|
+ FOpCodeList.Add('aesdec,1,1,0,XMMREG,XMMRM,,');
|
|
|
+ FOpCodeList.Add('aesdeclast,1,1,0,XMMREG,XMMRM,,');
|
|
|
+ FOpCodeList.Add('aesimc,1,1,0,XMMREG,XMMRM,,');
|
|
|
+ FOpCodeList.Add('aeskeygenassist,1,1,0,XMMREG,XMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('AESDEC128KL,1,1,0,XMMREG,MEM128,,');
|
|
|
+ FOpCodeList.Add('AESDEC256KL,1,1,0,XMMREG,MEM512,,');
|
|
|
+ FOpCodeList.Add('AESENC128KL,1,1,0,XMMREG,MEM128,,');
|
|
|
+ FOpCodeList.Add('AESENC256KL,1,1,0,XMMREG,MEM512,,');
|
|
|
+ FOpCodeList.Add('AESDECWIDE128KL,1,1,0,MEM128,,,');
|
|
|
+ FOpCodeList.Add('AESDECWIDE256KL,1,1,0,MEM512,,,');
|
|
|
+ FOpCodeList.Add('AESENCWIDE128KL,1,1,0,MEM128,,,');
|
|
|
+ FOpCodeList.Add('AESENCWIDE256KL,1,1,0,MEM512,,,');
|
|
|
+ { misc opcodes }
|
|
|
+ FOpCodeList.Add('SERIALIZE,1,1,0,,,,');
|
|
|
+{$endif}
|
|
|
+{$if defined(TEST_MOVRS) or defined(TEST_ALL)}
|
|
|
+ { opcodes }
|
|
|
+ FOpCodeList.Add('PREFETCHRST2,1,1,0,MEM8,,,');
|
|
|
+ FOpCodeList.Add('vmovrsb,0,1,1,XMMREG_MZ,MEM128,,');
|
|
|
+ FOpCodeList.Add('vmovrsb,0,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vmovrsb,0,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vmovrsd,0,1,1,XMMREG_MZ,MEM128,,');
|
|
|
+ FOpCodeList.Add('vmovrsd,0,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vmovrsd,0,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vmovrsq,0,1,1,XMMREG_MZ,MEM128,,');
|
|
|
+ FOpCodeList.Add('vmovrsq,0,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vmovrsq,0,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vmovrsw,0,1,1,XMMREG_MZ,MEM128,,');
|
|
|
+ FOpCodeList.Add('vmovrsw,0,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vmovrsw,0,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('cmpbexadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpbexadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpbxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpbxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmplexadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmplexadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmplxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmplxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpnbexadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpnbexadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpnbxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpnbxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpnlexadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpnlexadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpnlxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpnlxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpnoxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpnoxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpnpxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpnpxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpnsxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpnsxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpnzxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpnzxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpoxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpoxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmppxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmppxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpsxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpsxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('cmpzxadd,0,1,0,MEM32,REG32,REG32,');
|
|
|
+ FOpCodeList.Add('cmpzxadd,0,1,0,MEM64,REG64,REG64,');
|
|
|
+ FOpCodeList.Add('vpdpbssd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbssd,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpbssd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbssd,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpbssd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbssd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpbssds,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbssds,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpbssds,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbssds,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpbssds,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbssds,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpbsud,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbsud,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpbsud,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbsud,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpbsud,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbsud,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpbsuds,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbsuds,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpbsuds,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbsuds,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpbsuds,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbsuds,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpbuud,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbuud,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpbuud,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbuud,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpbuud,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbuud,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpbuuds,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbuuds,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpbuuds,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbuuds,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpbuuds,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpbuuds,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpwsud,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwsud,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpwsud,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwsud,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpwsud,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwsud,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpwsuds,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwsuds,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpwsuds,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwsuds,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpwsuds,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwsuds,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpwusd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwusd,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpwusd,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwusd,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpwusd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwusd,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpwusds,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwusds,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpwusds,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwusds,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpwusds,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwusds,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpwuud,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwuud,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpwuud,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwuud,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpwuud,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwuud,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vpdpwuuds,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwuuds,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vpdpwuuds,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwuuds,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vpdpwuuds,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vpdpwuuds,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+
|
|
|
+ FOpCodeList.Add('vmpsadbw,1,1,1,XMMREG,XMMREG,XMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vmpsadbw,1,1,1,YMMREG,YMMREG,YMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vmpsadbw,1,1,1,XMMREG_MZ,XMMREG,XMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vmpsadbw,1,1,1,YMMREG_MZ,YMMREG,YMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vmpsadbw,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,IMM8');
|
|
|
+{$endif}
|
|
|
+{$if defined(TEST_AVX102) or defined(TEST_ALL)}
|
|
|
+ { AVX10.2 }
|
|
|
+ FOpCodeList.Add('vmovd,1,1,1,XMMREG,XMMREG,,');
|
|
|
+ FOpCodeList.Add('vmovw,1,1,1,XMMREG,XMMREG,,');
|
|
|
+ FOpCodeList.Add('vaddbf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vaddbf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vaddbf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vaddbf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vaddbf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vaddbf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ { no pseudo ops for vcmpbf16 in Gas }
|
|
|
+ FOpCodeList.Add('vcmpbf16,1,1,1,KREG_M,XMMREG,XMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vcmpbf16,1,1,1,KREG_M,XMMREG,8B16,IMM8');
|
|
|
+ FOpCodeList.Add('vcmpbf16,1,1,1,KREG_M,YMMREG,YMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vcmpbf16,1,1,1,KREG_M,YMMREG,16B16,IMM8');
|
|
|
+ FOpCodeList.Add('vcmpbf16,1,1,1,KREG_M,ZMMREG,ZMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vcmpbf16,1,1,1,KREG_M,ZMMREG,32B16,IMM8');
|
|
|
+ FOpCodeList.Add('vcomisbf16,1,1,1,XMMREG,XMMREG,,');
|
|
|
+ FOpCodeList.Add('vcomisbf16,1,1,1,XMMREG,MEM16,,');
|
|
|
+ FOpCodeList.Add('vdivbf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vdivbf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vdivbf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vdivbf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vdivbf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vdivbf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfmadd132bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfmadd132bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfmadd132bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfmadd132bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfmadd132bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfmadd132bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfmadd213bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfmadd213bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfmadd213bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfmadd213bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfmadd213bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfmadd213bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfmadd231bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfmadd231bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfmadd231bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfmadd231bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfmadd231bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfmadd231bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfmsub132bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfmsub132bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfmsub132bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfmsub132bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfmsub132bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfmsub132bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfmsub213bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfmsub213bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfmsub213bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfmsub213bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfmsub213bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfmsub213bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfmsub231bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfmsub231bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfmsub231bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfmsub231bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfmsub231bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfmsub231bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfnmadd132bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmadd132bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfnmadd132bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmadd132bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfnmadd132bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmadd132bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfnmadd213bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmadd213bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfnmadd213bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmadd213bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfnmadd213bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmadd213bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfnmadd231bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmadd231bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfnmadd231bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmadd231bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfnmadd231bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmadd231bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfnmsub132bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmsub132bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfnmsub132bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmsub132bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfnmsub132bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmsub132bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfnmsub213bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmsub213bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfnmsub213bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmsub213bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfnmsub213bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmsub213bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfnmsub231bf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmsub231bf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vfnmsub231bf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmsub231bf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vfnmsub231bf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vfnmsub231bf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vfpclassbf16,1,1,1,KREG_M,XMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vfpclassbf16,1,1,1,KREG_M,8B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vfpclassbf16,1,1,1,KREG_M,YMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vfpclassbf16,1,1,1,KREG_M,16B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vfpclassbf16,1,1,1,KREG_M,ZMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vfpclassbf16,1,1,1,KREG_M,32B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vgetexpbf16,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vgetexpbf16,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vgetexpbf16,1,1,1,YMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vgetexpbf16,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vgetexpbf16,1,1,1,ZMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vgetexpbf16,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vgetmantbf16,1,1,1,XMMREG_MZ,XMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vgetmantbf16,1,1,1,XMMREG_MZ,8B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vgetmantbf16,1,1,1,YMMREG_MZ,YMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vgetmantbf16,1,1,1,YMMREG_MZ,16B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vgetmantbf16,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vgetmantbf16,1,1,1,ZMMREG_MZ,32B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vmaxbf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vmaxbf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vmaxbf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vmaxbf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vmaxbf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vmaxbf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vminbf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vminbf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vminbf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vminbf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vminbf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vminbf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vmulbf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vmulbf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vmulbf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vmulbf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vmulbf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vmulbf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vrcpbf16,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vrcpbf16,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vrcpbf16,1,1,1,YMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vrcpbf16,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vrcpbf16,1,1,1,ZMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vrcpbf16,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vreducebf16,1,1,1,XMMREG_MZ,XMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vreducebf16,1,1,1,XMMREG_MZ,8B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vreducebf16,1,1,1,YMMREG_MZ,YMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vreducebf16,1,1,1,YMMREG_MZ,16B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vreducebf16,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vreducebf16,1,1,1,ZMMREG_MZ,32B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vrndscalebf16,1,1,1,XMMREG_MZ,XMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vrndscalebf16,1,1,1,XMMREG_MZ,8B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vrndscalebf16,1,1,1,YMMREG_MZ,YMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vrndscalebf16,1,1,1,YMMREG_MZ,16B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vrndscalebf16,1,1,1,ZMMREG_MZ,ZMMRM,IMM8,');
|
|
|
+ FOpCodeList.Add('vrndscalebf16,1,1,1,ZMMREG_MZ,32B16,IMM8,');
|
|
|
+ FOpCodeList.Add('vrsqrtbf16,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vrsqrtbf16,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vrsqrtbf16,1,1,1,YMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vrsqrtbf16,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vrsqrtbf16,1,1,1,ZMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vrsqrtbf16,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vscalefbf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vscalefbf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vscalefbf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vscalefbf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vscalefbf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vscalefbf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vsqrtbf16,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vsqrtbf16,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vsqrtbf16,1,1,1,YMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vsqrtbf16,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vsqrtbf16,1,1,1,ZMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vsqrtbf16,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vsubbf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vsubbf16,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vsubbf16,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vsubbf16,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vsubbf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vsubbf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vcomxsd,1,1,1,XMMREG,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcomxsd,1,1,1,XMMREG,MEM64,,');
|
|
|
+ FOpCodeList.Add('vcomxsh,1,1,1,XMMREG,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcomxsh,1,1,1,XMMREG,MEM16,,');
|
|
|
+ FOpCodeList.Add('vcomxss,1,1,1,XMMREG,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcomxss,1,1,1,XMMREG,MEM32,,');
|
|
|
+ FOpCodeList.Add('vucomxsd,1,1,1,XMMREG,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vucomxsd,1,1,1,XMMREG,MEM64,,');
|
|
|
+ FOpCodeList.Add('vucomxsh,1,1,1,XMMREG,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vucomxsh,1,1,1,XMMREG,MEM16,,');
|
|
|
+ FOpCodeList.Add('vucomxss,1,1,1,XMMREG,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vucomxss,1,1,1,XMMREG,MEM32,,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8s,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8s,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8s,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8s,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8s,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2bf8s,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8s,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8s,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8s,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8s,1,1,1,YMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8s,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ph2hf8s,1,1,1,ZMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8,1,1,1,XMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8,1,1,1,XMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8,1,1,1,YMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8,1,1,1,YMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8s,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8s,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8s,1,1,1,XMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8s,1,1,1,XMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8s,1,1,1,YMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2bf8s,1,1,1,YMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8,1,1,1,XMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8,1,1,1,XMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8,1,1,1,YMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8,1,1,1,YMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8s,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8s,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8s,1,1,1,XMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8s,1,1,1,XMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8s,1,1,1,YMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2hf8s,1,1,1,YMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvt2ps2phx,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vcvt2ps2phx,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vcvt2ps2phx,1,1,1,YMMREG_MZ,YMMREG,YMMREG_ER,');
|
|
|
+ FOpCodeList.Add('vcvt2ps2phx,1,1,1,YMMREG_MZ,YMMREG,MEM256,');
|
|
|
+ FOpCodeList.Add('vcvt2ps2phx,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vcvt2ps2phx,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_ER,');
|
|
|
+ FOpCodeList.Add('vcvt2ps2phx,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,');
|
|
|
+ FOpCodeList.Add('vcvt2ps2phx,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8,1,1,1,XMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8,1,1,1,XMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8,1,1,1,YMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8,1,1,1,YMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8s,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8s,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8s,1,1,1,XMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8s,1,1,1,XMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8s,1,1,1,YMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2bf8s,1,1,1,YMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8,1,1,1,XMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8,1,1,1,XMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8,1,1,1,YMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8,1,1,1,YMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8s,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8s,1,1,1,XMMREG_MZ,XMMREG,8B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8s,1,1,1,XMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8s,1,1,1,XMMREG_MZ,YMMREG,16B16,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8s,1,1,1,YMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vcvtbiasph2hf8s,1,1,1,YMMREG_MZ,ZMMREG,32B16,');
|
|
|
+ FOpCodeList.Add('vcvthf82ph,1,1,1,XMMREG_MZ,XMMREG,,');
|
|
|
+ FOpCodeList.Add('vcvthf82ph,1,1,1,XMMREG_MZ,MEM64,,');
|
|
|
+ FOpCodeList.Add('vcvthf82ph,1,1,1,YMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvthf82ph,1,1,1,ZMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162ibs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162ibs,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162ibs,1,1,1,YMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162ibs,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162ibs,1,1,1,ZMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162ibs,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162iubs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162iubs,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162iubs,1,1,1,YMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162iubs,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162iubs,1,1,1,ZMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtbf162iubs,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162ibs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162ibs,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162ibs,1,1,1,YMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162ibs,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162ibs,1,1,1,ZMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162ibs,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162iubs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162iubs,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162iubs,1,1,1,YMMREG_MZ,YMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162iubs,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162iubs,1,1,1,ZMMREG_MZ,ZMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttbf162iubs,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2dqs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2dqs,1,1,1,XMMREG_MZ,2B64,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2dqs,1,1,1,XMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2dqs,1,1,1,XMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2dqs,1,1,1,XMMREG_MZ,4B32,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2dqs,1,1,1,YMMREG_MZ,ZMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2dqs,1,1,1,YMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2dqs,1,1,1,YMMREG_MZ,8B32,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2qqs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2qqs,1,1,1,XMMREG_MZ,2B64,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2qqs,1,1,1,YMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2qqs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2qqs,1,1,1,YMMREG_MZ,4B32,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2qqs,1,1,1,ZMMREG_MZ,ZMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2qqs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2qqs,1,1,1,ZMMREG_MZ,8B32,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2udqs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2udqs,1,1,1,XMMREG_MZ,2B64,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2udqs,1,1,1,XMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2udqs,1,1,1,XMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2udqs,1,1,1,XMMREG_MZ,4B32,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2udqs,1,1,1,YMMREG_MZ,ZMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2udqs,1,1,1,YMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2udqs,1,1,1,YMMREG_MZ,8B32,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2uqqs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2uqqs,1,1,1,XMMREG_MZ,2B64,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2uqqs,1,1,1,YMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2uqqs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2uqqs,1,1,1,YMMREG_MZ,4B32,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2uqqs,1,1,1,ZMMREG_MZ,ZMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2uqqs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvttpd2uqqs,1,1,1,ZMMREG_MZ,8B32,,');
|
|
|
+ FOpCodeList.Add('vcvtph2ibs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2ibs,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2ibs,1,1,1,YMMREG_MZ,YMMREG_ER,,');
|
|
|
+ FOpCodeList.Add('vcvtph2ibs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvtph2ibs,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2ibs,1,1,1,ZMMREG_MZ,ZMMREG_ER,,');
|
|
|
+ FOpCodeList.Add('vcvtph2ibs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvtph2ibs,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2iubs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtph2iubs,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2iubs,1,1,1,YMMREG_MZ,YMMREG_ER,,');
|
|
|
+ FOpCodeList.Add('vcvtph2iubs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvtph2iubs,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvtph2iubs,1,1,1,ZMMREG_MZ,ZMMREG_ER,,');
|
|
|
+ FOpCodeList.Add('vcvtph2iubs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvtph2iubs,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvttph2ibs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttph2ibs,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvttph2ibs,1,1,1,YMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttph2ibs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttph2ibs,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvttph2ibs,1,1,1,ZMMREG_MZ,ZMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttph2ibs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvttph2ibs,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvttph2iubs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttph2iubs,1,1,1,XMMREG_MZ,8B16,,');
|
|
|
+ FOpCodeList.Add('vcvttph2iubs,1,1,1,YMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttph2iubs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttph2iubs,1,1,1,YMMREG_MZ,16B16,,');
|
|
|
+ FOpCodeList.Add('vcvttph2iubs,1,1,1,ZMMREG_MZ,ZMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttph2iubs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvttph2iubs,1,1,1,ZMMREG_MZ,32B16,,');
|
|
|
+ FOpCodeList.Add('vcvttps2dqs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttps2dqs,1,1,1,XMMREG_MZ,4B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2dqs,1,1,1,YMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2dqs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttps2dqs,1,1,1,YMMREG_MZ,8B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2dqs,1,1,1,ZMMREG_MZ,ZMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2dqs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvttps2dqs,1,1,1,ZMMREG_MZ,16B32,,');
|
|
|
+ FOpCodeList.Add('vcvtps2ibs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtps2ibs,1,1,1,XMMREG_MZ,4B32,,');
|
|
|
+ FOpCodeList.Add('vcvtps2ibs,1,1,1,YMMREG_MZ,YMMREG_ER,,');
|
|
|
+ FOpCodeList.Add('vcvtps2ibs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvtps2ibs,1,1,1,YMMREG_MZ,8B32,,');
|
|
|
+ FOpCodeList.Add('vcvtps2ibs,1,1,1,ZMMREG_MZ,ZMMREG_ER,,');
|
|
|
+ FOpCodeList.Add('vcvtps2ibs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvtps2ibs,1,1,1,ZMMREG_MZ,16B32,,');
|
|
|
+ FOpCodeList.Add('vcvtps2iubs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvtps2iubs,1,1,1,XMMREG_MZ,4B32,,');
|
|
|
+ FOpCodeList.Add('vcvtps2iubs,1,1,1,YMMREG_MZ,YMMREG_ER,,');
|
|
|
+ FOpCodeList.Add('vcvtps2iubs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvtps2iubs,1,1,1,YMMREG_MZ,8B32,,');
|
|
|
+ FOpCodeList.Add('vcvtps2iubs,1,1,1,ZMMREG_MZ,ZMMREG_ER,,');
|
|
|
+ FOpCodeList.Add('vcvtps2iubs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvtps2iubs,1,1,1,ZMMREG_MZ,16B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2ibs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttps2ibs,1,1,1,XMMREG_MZ,4B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2ibs,1,1,1,YMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2ibs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttps2ibs,1,1,1,YMMREG_MZ,8B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2ibs,1,1,1,ZMMREG_MZ,ZMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2ibs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvttps2ibs,1,1,1,ZMMREG_MZ,16B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2iubs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttps2iubs,1,1,1,XMMREG_MZ,4B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2iubs,1,1,1,YMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2iubs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttps2iubs,1,1,1,YMMREG_MZ,8B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2iubs,1,1,1,ZMMREG_MZ,ZMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2iubs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvttps2iubs,1,1,1,ZMMREG_MZ,16B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2qqs,1,1,1,XMMREG_MZ,XMMREG,,');
|
|
|
+ FOpCodeList.Add('vcvttps2qqs,1,1,1,XMMREG_MZ,MEM64,,');
|
|
|
+ FOpCodeList.Add('vcvttps2qqs,1,1,1,XMMREG_MZ,2B64,,');
|
|
|
+ FOpCodeList.Add('vcvttps2qqs,1,1,1,YMMREG_MZ,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2qqs,1,1,1,YMMREG_MZ,MEM128,,');
|
|
|
+ FOpCodeList.Add('vcvttps2qqs,1,1,1,YMMREG_MZ,4B64,,');
|
|
|
+ FOpCodeList.Add('vcvttps2qqs,1,1,1,ZMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2qqs,1,1,1,ZMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttps2qqs,1,1,1,ZMMREG_MZ,8B64,,');
|
|
|
+ FOpCodeList.Add('vcvttps2udqs,1,1,1,XMMREG_MZ,XMMRM,,');
|
|
|
+ FOpCodeList.Add('vcvttps2udqs,1,1,1,XMMREG_MZ,4B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2udqs,1,1,1,YMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2udqs,1,1,1,YMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttps2udqs,1,1,1,YMMREG_MZ,8B32,,');
|
|
|
+ FOpCodeList.Add('vcvttps2udqs,1,1,1,ZMMREG_MZ,ZMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2udqs,1,1,1,ZMMREG_MZ,MEM512,,');
|
|
|
+ FOpCodeList.Add('vcvttps2udqs,1,1,1,ZMMREG_MZ,16B32,,');
|
|
|
+
|
|
|
+ FOpCodeList.Add('vcvttps2uqqs,1,1,1,XMMREG_MZ,XMMREG,,');
|
|
|
+ FOpCodeList.Add('vcvttps2uqqs,1,1,1,XMMREG_MZ,MEM64,,');
|
|
|
+ FOpCodeList.Add('vcvttps2uqqs,1,1,1,XMMREG_MZ,2B64,,');
|
|
|
+ FOpCodeList.Add('vcvttps2uqqs,1,1,1,YMMREG_MZ,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2uqqs,1,1,1,YMMREG_MZ,MEM128,,');
|
|
|
+ FOpCodeList.Add('vcvttps2uqqs,1,1,1,YMMREG_MZ,4B64,,');
|
|
|
+ FOpCodeList.Add('vcvttps2uqqs,1,1,1,ZMMREG_MZ,YMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttps2uqqs,1,1,1,ZMMREG_MZ,MEM256,,');
|
|
|
+ FOpCodeList.Add('vcvttps2uqqs,1,1,1,ZMMREG_MZ,8B64,,');
|
|
|
+
|
|
|
+ FOpCodeList.Add('vcvttsd2sis,1,1,1,REG32,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttsd2sis,1,1,1,REG32,MEM64,,');
|
|
|
+ FOpCodeList.Add('vcvttsd2sis,0,1,1,REG64,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttsd2sis,0,1,1,REG64,MEM64,,');
|
|
|
+ FOpCodeList.Add('vcvttsd2usis,1,1,1,REG32,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttsd2usis,1,1,1,REG32,MEM64,,');
|
|
|
+ FOpCodeList.Add('vcvttsd2usis,0,1,1,REG64,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttsd2usis,0,1,1,REG64,MEM64,,');
|
|
|
+ FOpCodeList.Add('vcvttss2sis,1,1,1,REG32,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttss2sis,1,1,1,REG32,MEM32,,');
|
|
|
+ FOpCodeList.Add('vcvttss2sis,0,1,1,REG64,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttss2sis,0,1,1,REG64,MEM32,,');
|
|
|
+ FOpCodeList.Add('vcvttss2usis,1,1,1,REG32,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttss2usis,1,1,1,REG32,MEM32,,');
|
|
|
+ FOpCodeList.Add('vcvttss2usis,0,1,1,REG64,XMMREG_SAE,,');
|
|
|
+ FOpCodeList.Add('vcvttss2usis,0,1,1,REG64,MEM32,,');
|
|
|
+ FOpCodeList.Add('vminmaxbf16,1,1,1,XMMREG_MZ,XMMREG,XMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxbf16,1,1,1,XMMREG_MZ,XMMREG,8B16,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxbf16,1,1,1,YMMREG_MZ,YMMREG,YMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxbf16,1,1,1,YMMREG_MZ,YMMREG,MEM256,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxbf16,1,1,1,YMMREG_MZ,YMMREG,16B16,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxbf16,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxbf16,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxbf16,1,1,1,ZMMREG_MZ,ZMMREG,32B16,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxpd,1,1,1,XMMREG_MZ,XMMREG,XMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxpd,1,1,1,XMMREG_MZ,XMMREG,2B64,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxpd,1,1,1,YMMREG_MZ,YMMREG,YMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxpd,1,1,1,YMMREG_MZ,YMMREG,MEM256,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxpd,1,1,1,YMMREG_MZ,YMMREG,4B32,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxpd,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxpd,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxpd,1,1,1,ZMMREG_MZ,ZMMREG,8B32,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxph,1,1,1,XMMREG_MZ,XMMREG,XMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxph,1,1,1,XMMREG_MZ,XMMREG,8B16,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxph,1,1,1,YMMREG_MZ,YMMREG,YMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxph,1,1,1,YMMREG_MZ,YMMREG,MEM256,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxph,1,1,1,YMMREG_MZ,YMMREG,16B16,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxph,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxph,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxph,1,1,1,ZMMREG_MZ,ZMMREG,32B16,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxps,1,1,1,XMMREG_MZ,XMMREG,4B32,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxps,1,1,1,YMMREG_MZ,YMMREG,YMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxps,1,1,1,YMMREG_MZ,YMMREG,MEM256,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxps,1,1,1,YMMREG_MZ,YMMREG,8B32,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxps,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxsd,1,1,1,XMMREG_MZ,XMMREG,XMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxsd,1,1,1,XMMREG_MZ,XMMREG,MEM64,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxsh,1,1,1,XMMREG_MZ,XMMREG,XMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxsh,1,1,1,XMMREG_MZ,XMMREG,MEM16,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxss,1,1,1,XMMREG_MZ,XMMREG,XMMREG_SAE,IMM8');
|
|
|
+ FOpCodeList.Add('vminmaxss,1,1,1,XMMREG_MZ,XMMREG,MEM32,IMM8');
|
|
|
+ FOpCodeList.Add('vdpphps,1,1,1,XMMREG_MZ,XMMREG,XMMRM,');
|
|
|
+ FOpCodeList.Add('vdpphps,1,1,1,XMMREG_MZ,XMMREG,4B32,');
|
|
|
+ FOpCodeList.Add('vdpphps,1,1,1,YMMREG_MZ,YMMREG,YMMRM,');
|
|
|
+ FOpCodeList.Add('vdpphps,1,1,1,YMMREG_MZ,YMMREG,8B32,');
|
|
|
+ FOpCodeList.Add('vdpphps,1,1,1,ZMMREG_MZ,ZMMREG,ZMMRM,');
|
|
|
+ FOpCodeList.Add('vdpphps,1,1,1,ZMMREG_MZ,ZMMREG,16B32,');
|
|
|
+{$endif}
|
|
|
{$if defined(TEST_4FMAPS) or defined(TEST_ALL)}
|
|
|
{ 4FMAPS opcodes }
|
|
|
- FOpCodeList.Add('V4FMADDPS,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,');
|
|
|
+ FOpCodeList.Add('V4FMADDPS,1,1,1,ZMMREG_MZ,ZMMREG,MEM128,');
|
|
|
FOpCodeList.Add('V4FMADDSS,1,1,1,XMMREG_MZ,XMMREG,MEM128,');
|
|
|
- FOpCodeList.Add('V4FNMADDPS,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,');
|
|
|
+ FOpCodeList.Add('V4FNMADDPS,1,1,1,ZMMREG_MZ,ZMMREG,MEM128,');
|
|
|
FOpCodeList.Add('V4FNMADDSS,1,1,1,XMMREG_MZ,XMMREG,MEM128,');
|
|
|
{ 4VNNIW opcodes }
|
|
|
- FOpCodeList.Add('VP4DPWSSD,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,');
|
|
|
- FOpCodeList.Add('VP4DPWSSDS,1,1,1,ZMMREG_MZ,ZMMREG,MEM512,');
|
|
|
+ FOpCodeList.Add('VP4DPWSSD,1,1,1,ZMMREG_MZ,ZMMREG,MEM128,');
|
|
|
+ FOpCodeList.Add('VP4DPWSSDS,1,1,1,ZMMREG_MZ,ZMMREG,MEM128,');
|
|
|
{$endif}
|
|
|
{$if defined(TEST_FP16) or defined(TEST_ALL)}
|
|
|
{ FP16 opcodes }
|