mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-13 15:39:29 +02:00
-- Zusammenführen von r47033 bis r47401 in ».«:
C compiler/i386/i386nop.inc U compiler/i386/i386tab.inc U compiler/i386/i386atts.inc U compiler/i386/i386att.inc C compiler/i8086/i8086nop.inc U compiler/i8086/i8086tab.inc U compiler/i8086/i8086atts.inc U compiler/i8086/i8086att.inc U compiler/x86/x86ins.dat C compiler/x86/rax86.pas U compiler/x86/aasmcpu.pas U compiler/x86/cpubase.pas U compiler/x86/agx86att.pas U compiler/x86/itcpugas.pas U compiler/x86/rax86att.pas C compiler/x86_64/x8664nop.inc U compiler/x86_64/x8664tab.inc U compiler/x86_64/x8664ats.inc U compiler/x86_64/x8664att.inc U compiler/utils/mkx86ins.pp U tests/utils/avx/asmtestgenerator.pas U tests/utils/avx/avxopcodes.pas -- Aufzeichnung der Informationen für Zusammenführung von r47033 bis r47401 in ».«: U . Konfliktübersicht: Textkonflikte: 4 Konfliktübersicht: Textkonflikte: 4 git-svn-id: trunk@47402 -
This commit is contained in:
commit
fc960879de
@ -1201,7 +1201,7 @@
|
||||
'vcompresspd',
|
||||
'vcompressps',
|
||||
'vcvtpd2qq',
|
||||
'vcvtpd2udq',
|
||||
' vcvtpd2udq',
|
||||
'vcvtpd2uqq',
|
||||
'vcvtps2qq',
|
||||
'vcvtps2udq',
|
||||
|
@ -781,8 +781,8 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMM,
|
||||
attsufMM,
|
||||
attsufMMX,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -793,7 +793,7 @@ attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMM,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -1201,6 +1201,29 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -1218,31 +1241,8 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86ins.dat }
|
||||
4150;
|
||||
4172;
|
||||
|
@ -10433,7 +10433,7 @@
|
||||
(
|
||||
opcode : A_VCVTDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none);
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #219#232#233#248#1#230#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
@ -10493,6 +10493,13 @@
|
||||
code : #232#233#248#1#91#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #220#232#234#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
@ -10503,9 +10510,9 @@
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #220#232#234#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
@ -10832,7 +10839,7 @@
|
||||
(
|
||||
opcode : A_VCVTSI2SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none);
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_none);
|
||||
code : #220#232#242#248#1#42#61#80;
|
||||
flags : [if_avx,if_sandybridge,if_sd]
|
||||
),
|
||||
@ -10846,7 +10853,7 @@
|
||||
(
|
||||
opcode : A_VCVTSI2SS;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none);
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_none);
|
||||
code : #219#232#242#248#1#42#61#80;
|
||||
flags : [if_avx,if_sandybridge,if_sd]
|
||||
),
|
||||
@ -11232,7 +11239,7 @@
|
||||
opcode : A_VEXTRACTPS;
|
||||
ops : 3;
|
||||
optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#250#1#23#65#22;
|
||||
code : #232#241#242#250#1#23#65#22;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
@ -15039,9 +15046,16 @@
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#114#60#142#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#114#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
@ -15060,9 +15074,16 @@
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#114#60#142#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#114#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
@ -15151,10 +15172,17 @@
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#248#1#115#60#142#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#248#1#115#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
@ -15172,9 +15200,16 @@
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#244#248#1#115#60#142#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#248#1#115#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
@ -15214,9 +15249,16 @@
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#113#60#142#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfvm]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#113#60#142#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
@ -15228,9 +15270,16 @@
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#113#60#142#22;
|
||||
flags : [if_avx2,if_tfvm]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#113#60#142#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
@ -15249,9 +15298,16 @@
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#114#60#140#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#114#60#140#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
@ -15270,9 +15326,16 @@
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#114#60#140#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#114#60#140#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
@ -15312,9 +15375,16 @@
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#113#60#140#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfvm]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#113#60#140#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
@ -15326,9 +15396,16 @@
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#113#60#140#22;
|
||||
flags : [if_avx2,if_tfvm]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#113#60#140#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
@ -15354,9 +15431,16 @@
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#114#60#138#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#114#60#138#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
@ -15382,10 +15466,17 @@
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#114#60#138#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#114#60#138#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
@ -15459,9 +15550,16 @@
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#248#1#115#60#138#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#248#1#115#60#138#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
@ -15473,9 +15571,16 @@
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#244#248#1#115#60#138#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#248#1#115#60#138#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
@ -15515,9 +15620,16 @@
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#113#60#138#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfvm]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#113#60#138#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
@ -15529,9 +15641,16 @@
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#113#60#138#22;
|
||||
flags : [if_avx2,if_tfvm]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#113#60#138#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
@ -19758,7 +19877,7 @@
|
||||
opcode : A_VFNMADD231SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
|
||||
code : #223#241#242#243#249#1#189#61#80;
|
||||
code : #223#232#234#241#242#243#249#1#189#61#80;
|
||||
flags : [if_fma,if_t1s]
|
||||
),
|
||||
(
|
||||
@ -22053,7 +22172,7 @@
|
||||
(
|
||||
opcode : A_VCVTUDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none);
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #219#232#233#248#1#122#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
@ -22221,10 +22340,17 @@
|
||||
(
|
||||
opcode : A_VCVTUSI2SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits64,ot_none);
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_memory or ot_bits64,ot_none);
|
||||
code : #220#232#234#248#1#123#61#80;
|
||||
flags : [if_avx512,if_t1s]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTUSI2SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg64,ot_none);
|
||||
code : #220#232#234#248#1#123#61#80;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTUSI2SD;
|
||||
ops : 3;
|
||||
@ -22687,6 +22813,20 @@
|
||||
code : #232#241#250#1#85#61#80#23;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#234#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
@ -22704,9 +22844,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
@ -22718,9 +22858,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#234#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
@ -22729,6 +22869,20 @@
|
||||
code : #232#233#234#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_bcst8,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
@ -22746,9 +22900,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
@ -22760,9 +22914,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
@ -28194,21 +28348,21 @@
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSB;
|
||||
@ -28236,21 +28390,21 @@
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSW;
|
||||
@ -28444,85 +28598,85 @@
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none);
|
||||
code : #232#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#241#249#1#98#65;
|
||||
code : #232#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#98#65;
|
||||
code : #232#241#244#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#98#65;
|
||||
code : #232#233#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#98#65;
|
||||
code : #232#234#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#98#65;
|
||||
code : #232#234#241#244#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#98#65;
|
||||
code : #232#233#234#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
|
@ -1215,7 +1215,7 @@
|
||||
'vcompresspd',
|
||||
'vcompressps',
|
||||
'vcvtpd2qq',
|
||||
'vcvtpd2udq',
|
||||
' vcvtpd2udq',
|
||||
'vcvtpd2uqq',
|
||||
'vcvtps2qq',
|
||||
'vcvtps2udq',
|
||||
|
@ -781,8 +781,8 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMM,
|
||||
attsufMM,
|
||||
attsufMMX,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -793,7 +793,7 @@ attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMM,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -1215,6 +1215,29 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -1232,31 +1255,8 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86ins.dat }
|
||||
4182;
|
||||
4204;
|
||||
|
@ -10461,7 +10461,7 @@
|
||||
(
|
||||
opcode : A_VCVTDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none);
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #219#232#233#248#1#230#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
@ -10521,6 +10521,13 @@
|
||||
code : #232#233#248#1#91#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #220#232#234#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
@ -10531,9 +10538,9 @@
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #220#232#234#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
@ -10860,7 +10867,7 @@
|
||||
(
|
||||
opcode : A_VCVTSI2SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none);
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_none);
|
||||
code : #220#232#242#248#1#42#61#80;
|
||||
flags : [if_avx,if_sandybridge,if_sd]
|
||||
),
|
||||
@ -10874,7 +10881,7 @@
|
||||
(
|
||||
opcode : A_VCVTSI2SS;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none);
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_none);
|
||||
code : #219#232#242#248#1#42#61#80;
|
||||
flags : [if_avx,if_sandybridge,if_sd]
|
||||
),
|
||||
@ -11260,7 +11267,7 @@
|
||||
opcode : A_VEXTRACTPS;
|
||||
ops : 3;
|
||||
optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#250#1#23#65#22;
|
||||
code : #232#241#242#250#1#23#65#22;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
@ -15067,9 +15074,16 @@
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#114#60#142#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#114#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
@ -15088,9 +15102,16 @@
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#114#60#142#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#114#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
@ -15179,10 +15200,17 @@
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#248#1#115#60#142#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#248#1#115#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
@ -15200,9 +15228,16 @@
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#244#248#1#115#60#142#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#248#1#115#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
@ -15242,9 +15277,16 @@
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#113#60#142#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfvm]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#113#60#142#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
@ -15256,9 +15298,16 @@
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#113#60#142#22;
|
||||
flags : [if_avx2,if_tfvm]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#113#60#142#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
@ -15277,9 +15326,16 @@
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#114#60#140#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#114#60#140#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
@ -15298,9 +15354,16 @@
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#114#60#140#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#114#60#140#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
@ -15340,9 +15403,16 @@
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#113#60#140#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfvm]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#113#60#140#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
@ -15354,9 +15424,16 @@
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#113#60#140#22;
|
||||
flags : [if_avx2,if_tfvm]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#113#60#140#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
@ -15382,9 +15459,16 @@
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#114#60#138#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#114#60#138#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
@ -15410,10 +15494,17 @@
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#114#60#138#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#114#60#138#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
@ -15487,9 +15578,16 @@
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#248#1#115#60#138#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#248#1#115#60#138#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
@ -15501,9 +15599,16 @@
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#244#248#1#115#60#138#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#248#1#115#60#138#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
@ -15543,9 +15648,16 @@
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#113#60#138#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfvm]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#113#60#138#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
@ -15557,9 +15669,16 @@
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#113#60#138#22;
|
||||
flags : [if_avx2,if_tfvm]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#113#60#138#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
@ -19982,7 +20101,7 @@
|
||||
opcode : A_VFNMADD231SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
|
||||
code : #223#241#242#243#249#1#189#61#80;
|
||||
code : #223#232#234#241#242#243#249#1#189#61#80;
|
||||
flags : [if_fma,if_t1s]
|
||||
),
|
||||
(
|
||||
@ -22277,7 +22396,7 @@
|
||||
(
|
||||
opcode : A_VCVTUDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none);
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #219#232#233#248#1#122#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
@ -22445,10 +22564,17 @@
|
||||
(
|
||||
opcode : A_VCVTUSI2SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits64,ot_none);
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_memory or ot_bits64,ot_none);
|
||||
code : #220#232#234#248#1#123#61#80;
|
||||
flags : [if_avx512,if_t1s]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTUSI2SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg64,ot_none);
|
||||
code : #220#232#234#248#1#123#61#80;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTUSI2SD;
|
||||
ops : 3;
|
||||
@ -22911,6 +23037,20 @@
|
||||
code : #232#241#250#1#85#61#80#23;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#234#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
@ -22928,9 +23068,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
@ -22942,9 +23082,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#234#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
@ -22953,6 +23093,20 @@
|
||||
code : #232#233#234#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_bcst8,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
@ -22970,9 +23124,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
@ -22984,9 +23138,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
@ -28418,21 +28572,21 @@
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSB;
|
||||
@ -28460,21 +28614,21 @@
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSW;
|
||||
@ -28668,85 +28822,85 @@
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none);
|
||||
code : #232#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#241#249#1#98#65;
|
||||
code : #232#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#98#65;
|
||||
code : #232#241#244#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#98#65;
|
||||
code : #232#233#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#98#65;
|
||||
code : #232#234#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#98#65;
|
||||
code : #232#234#241#244#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#98#65;
|
||||
code : #232#233#234#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
|
@ -320,6 +320,11 @@ begin
|
||||
dec(attopcode[0]);
|
||||
attsuffix:='attsufMM';
|
||||
end;
|
||||
'N' :
|
||||
begin
|
||||
dec(attopcode[0]);
|
||||
attsuffix:='attsufMMX';
|
||||
end;
|
||||
'X' :
|
||||
begin
|
||||
dec(attopcode[0]);
|
||||
|
@ -505,6 +505,8 @@ interface
|
||||
IF_T4, { disp8 - tuple - 4 }
|
||||
IF_T8, { disp8 - tuple - 8 }
|
||||
IF_T1S, { disp8 - tuple - 1 scalar }
|
||||
IF_T1S8, { disp8 - tuple - 1 scalar byte }
|
||||
IF_T1S16, { disp8 - tuple - 1 scalar word }
|
||||
IF_T1F32,
|
||||
IF_T1F64,
|
||||
IF_TMDDUP,
|
||||
@ -2128,6 +2130,8 @@ implementation
|
||||
else tuplesize := 4;
|
||||
end;
|
||||
end
|
||||
else if IF_T1S8 in aInsEntry^.Flags then tuplesize := 1
|
||||
else if IF_T1S16 in aInsEntry^.Flags then tuplesize := 2
|
||||
else if IF_T1F32 in aInsEntry^.Flags then tuplesize := 4
|
||||
else if IF_T1F64 in aInsEntry^.Flags then tuplesize := 8
|
||||
else if IF_T2 in aInsEntry^.Flags then
|
||||
@ -2183,12 +2187,15 @@ implementation
|
||||
begin
|
||||
if aInput.typ = top_ref then
|
||||
begin
|
||||
if (aInput.ref^.offset <> 0) and
|
||||
((aInput.ref^.offset mod tuplesize) = 0) and
|
||||
(abs(aInput.ref^.offset) div tuplesize <= 127) then
|
||||
begin
|
||||
aInput.ref^.offset := aInput.ref^.offset div tuplesize;
|
||||
EVEXTupleState := etsIsTuple;
|
||||
if aInput.ref^.base <> NR_NO then
|
||||
begin
|
||||
if (aInput.ref^.offset <> 0) and
|
||||
((aInput.ref^.offset mod tuplesize) = 0) and
|
||||
(abs(aInput.ref^.offset) div tuplesize <= 127) then
|
||||
begin
|
||||
aInput.ref^.offset := aInput.ref^.offset div tuplesize;
|
||||
EVEXTupleState := etsIsTuple;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
@ -395,6 +395,8 @@ interface
|
||||
(getregtype(taicpu(hp).oper[0]^.reg)=R_FPUREGISTER)
|
||||
) then
|
||||
begin
|
||||
if (gas_needsuffix[op]<>AttSufMMX) or
|
||||
(taicpu(hp).opsize in [S_XMM,S_YMM]) then
|
||||
owner.writer.AsmWrite(gas_opsize2str[taicpu(hp).opsize]);
|
||||
end;
|
||||
|
||||
|
@ -509,7 +509,7 @@ implementation
|
||||
end;
|
||||
R_ADDRESSREGISTER:
|
||||
case reg of
|
||||
NR_K0..NR_K7: reg_cgsize:=OS_64;
|
||||
NR_K0..NR_K7: reg_cgsize:=OS_NO;
|
||||
else internalerror(2003031801);
|
||||
end;
|
||||
else
|
||||
|
@ -29,7 +29,7 @@ interface
|
||||
cgbase,cpubase;
|
||||
|
||||
type
|
||||
TAttSuffix = (AttSufNONE,AttSufINT,AttSufFPU,AttSufFPUint,AttSufINTdual,AttSufMM);
|
||||
TAttSuffix = (AttSufNONE,AttSufINT,AttSufFPU,AttSufFPUint,AttSufINTdual,AttSufMM,AttSufMMX);
|
||||
|
||||
const
|
||||
{ include mnemonic strings }
|
||||
@ -75,6 +75,10 @@ interface
|
||||
att_sizemmsuffix : array[0..14] of topsize = (
|
||||
S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,{S_NO,}S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_XMM,S_YMM,S_ZMM
|
||||
);
|
||||
att_sizemmxsuffix : array[0..14] of topsize = (
|
||||
S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,{S_NO,}S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_XMM,S_NO,S_NO
|
||||
);
|
||||
|
||||
{$else x86_64}
|
||||
gas_opsize2str : array[topsize] of string[2] = ('',
|
||||
'b','w','l','q','bw','bl','wl',
|
||||
@ -103,6 +107,10 @@ interface
|
||||
att_sizemmsuffix : array[0..12] of topsize = (
|
||||
S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_XMM,S_YMM,S_ZMM
|
||||
);
|
||||
att_sizemmxsuffix : array[0..12] of topsize = (
|
||||
S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_NO,S_XMM,S_NO,S_NO
|
||||
);
|
||||
|
||||
|
||||
{$endif x86_64}
|
||||
|
||||
|
@ -239,7 +239,7 @@ begin
|
||||
;
|
||||
end;
|
||||
end
|
||||
else if gas_needsuffix[opcode]=AttSufMM then
|
||||
else if gas_needsuffix[opcode] in [AttSufMM, AttSufMMX] then
|
||||
begin
|
||||
if (opr.typ=OPR_Reference) then
|
||||
begin
|
||||
@ -544,6 +544,21 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
msiMemRegx16y32z64:
|
||||
begin
|
||||
for j := 1 to ops do
|
||||
begin
|
||||
if operands[j].Opr.Typ = OPR_REGISTER then
|
||||
begin
|
||||
case getsubreg(operands[j].opr.reg) of
|
||||
R_SUBMMX: memrefsize := 16;
|
||||
R_SUBMMY: memrefsize := 32;
|
||||
R_SUBMMZ: memrefsize := 64;
|
||||
else Message(asmr_e_unable_to_determine_reference_size);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
msiMemRegx32y64:
|
||||
begin
|
||||
for j := 1 to ops do
|
||||
@ -558,6 +573,21 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
msiMemRegx32y64z128:
|
||||
begin
|
||||
for j := 1 to ops do
|
||||
begin
|
||||
if operands[j].Opr.Typ = OPR_REGISTER then
|
||||
begin
|
||||
case getsubreg(operands[j].opr.reg) of
|
||||
R_SUBMMX: memrefsize := 32;
|
||||
R_SUBMMY: memrefsize := 64;
|
||||
R_SUBMMZ: memrefsize := 128;
|
||||
else Message(asmr_e_unable_to_determine_reference_size);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
msiMemRegx64y128:
|
||||
begin
|
||||
for j := 1 to ops do
|
||||
@ -712,7 +742,7 @@ begin
|
||||
msiMultiple:
|
||||
;
|
||||
else
|
||||
Internalerror(2019081016);
|
||||
Internalerror(2020111001);
|
||||
end;
|
||||
|
||||
if memrefsize > -1 then
|
||||
@ -1402,6 +1432,51 @@ end;
|
||||
|
||||
|
||||
procedure Tx86Instruction.SetInstructionOpsize;
|
||||
|
||||
function CheckSSEAVX: Boolean;
|
||||
var
|
||||
i: integer;
|
||||
bBroadcastMemRef: boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
with MemRefInfo(opcode) do
|
||||
begin
|
||||
if (ExistsSSEAVX) then
|
||||
begin
|
||||
bBroadcastMemRef := false;
|
||||
for i := 1 to ops do
|
||||
bBroadcastMemRef := bBroadcastMemRef or ((tx86operand(operands[i]).vopext and OTVE_VECTOR_BCST) = OTVE_VECTOR_BCST);
|
||||
|
||||
if bBroadcastMemRef then
|
||||
begin
|
||||
opsize := S_NO;
|
||||
result := true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if MemRefSize in MemRefMultiples - [msiVMemMultiple] then
|
||||
begin
|
||||
case ops of
|
||||
2: begin
|
||||
opsize:=tx86operand(operands[1]).opsize;
|
||||
result := true;
|
||||
end;
|
||||
3: begin
|
||||
if (tx86operand(operands[1]).opr.typ <> OPR_CONSTANT) then
|
||||
opsize:=tx86operand(operands[1]).opsize
|
||||
else opsize:=tx86operand(operands[2]).opsize;
|
||||
result := true;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
isBCastMemRef: boolean;
|
||||
begin
|
||||
if opsize<>S_NO then
|
||||
exit;
|
||||
@ -1422,78 +1497,91 @@ begin
|
||||
else
|
||||
opsize:=tx86operand(operands[1]).opsize;
|
||||
end;
|
||||
2 :
|
||||
begin
|
||||
case opcode of
|
||||
A_MOVZX,A_MOVSX :
|
||||
begin
|
||||
if tx86operand(operands[1]).opsize=S_NO then
|
||||
begin
|
||||
tx86operand(operands[1]).opsize:=S_B;
|
||||
if (m_delphi in current_settings.modeswitches) then
|
||||
Message(asmr_w_unable_to_determine_reference_size_using_byte)
|
||||
else
|
||||
Message(asmr_e_unable_to_determine_reference_size);
|
||||
end;
|
||||
case tx86operand(operands[1]).opsize of
|
||||
S_W :
|
||||
case tx86operand(operands[2]).opsize of
|
||||
S_L :
|
||||
opsize:=S_WL;
|
||||
{$ifdef x86_64}
|
||||
S_Q :
|
||||
opsize:=S_WQ;
|
||||
{$endif}
|
||||
else
|
||||
;
|
||||
end;
|
||||
S_B :
|
||||
2 : begin
|
||||
case opcode of
|
||||
A_MOVZX,A_MOVSX :
|
||||
begin
|
||||
if tx86operand(operands[1]).opsize=S_NO then
|
||||
begin
|
||||
tx86operand(operands[1]).opsize:=S_B;
|
||||
if (m_delphi in current_settings.modeswitches) then
|
||||
Message(asmr_w_unable_to_determine_reference_size_using_byte)
|
||||
else
|
||||
Message(asmr_e_unable_to_determine_reference_size);
|
||||
end;
|
||||
case tx86operand(operands[1]).opsize of
|
||||
S_W :
|
||||
case tx86operand(operands[2]).opsize of
|
||||
S_W :
|
||||
opsize:=S_BW;
|
||||
S_L :
|
||||
opsize:=S_BL;
|
||||
{$ifdef x86_64}
|
||||
opsize:=S_WL;
|
||||
{$ifdef x86_64}
|
||||
S_Q :
|
||||
opsize:=S_BQ;
|
||||
{$endif}
|
||||
opsize:=S_WQ;
|
||||
{$endif}
|
||||
else
|
||||
;
|
||||
end;
|
||||
end;
|
||||
else
|
||||
;
|
||||
S_B :
|
||||
begin
|
||||
case tx86operand(operands[2]).opsize of
|
||||
S_W :
|
||||
opsize:=S_BW;
|
||||
S_L :
|
||||
opsize:=S_BL;
|
||||
{$ifdef x86_64}
|
||||
S_Q :
|
||||
opsize:=S_BQ;
|
||||
{$endif}
|
||||
else
|
||||
;
|
||||
end;
|
||||
end;
|
||||
else
|
||||
;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
A_MOVSS,
|
||||
A_VMOVSS,
|
||||
A_MOVD : { movd is a move from a mmx register to a
|
||||
32 bit register or memory, so no opsize is correct here PM }
|
||||
exit;
|
||||
A_MOVQ :
|
||||
opsize:=S_IQ;
|
||||
A_CVTSI2SS,
|
||||
A_CVTSI2SD,
|
||||
A_OUT :
|
||||
opsize:=tx86operand(operands[1]).opsize;
|
||||
else
|
||||
opsize:=tx86operand(operands[2]).opsize;
|
||||
A_MOVSS,
|
||||
A_VMOVSS,
|
||||
A_MOVD : { movd is a move from a mmx register to a
|
||||
32 bit register or memory, so no opsize is correct here PM }
|
||||
exit;
|
||||
A_MOVQ :
|
||||
opsize:=S_IQ;
|
||||
//A_VCVTPD2DQ,
|
||||
//A_VCVTPD2PS,
|
||||
//A_VCVTTPD2DQ,
|
||||
//A_VCVTPD2UDQ,
|
||||
//A_VCVTQQ2PS,
|
||||
//A_VCVTTPD2UDQ,
|
||||
//A_VCVTUQQ2PS,
|
||||
|
||||
A_OUT :
|
||||
opsize:=tx86operand(operands[1]).opsize;
|
||||
else
|
||||
if not CheckSSEAVX then
|
||||
opsize:=tx86operand(operands[2]).opsize;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
3 :
|
||||
begin
|
||||
case opcode of
|
||||
A_VCVTSI2SS,
|
||||
A_VCVTSI2SD:
|
||||
opsize:=tx86operand(operands[1]).opsize;
|
||||
else
|
||||
opsize:=tx86operand(operands[ops]).opsize;
|
||||
begin
|
||||
//case opcode of
|
||||
//A_VCVTSI2SS,
|
||||
//A_VCVTSI2SD,
|
||||
//A_VCVTUSI2SS,
|
||||
//A_VCVTUSI2SD:
|
||||
// iops:=tx86operand(operands[1]).opsize;
|
||||
//A_VFPCLASSPD,
|
||||
//A_VFPCLASSPS:
|
||||
// iops:=tx86operand(operands[2]).opsize;
|
||||
//else
|
||||
begin
|
||||
if not CheckSSEAVX then
|
||||
opsize:=tx86operand(operands[ops]).opsize;
|
||||
end;
|
||||
//end;
|
||||
end;
|
||||
end;
|
||||
4 :
|
||||
opsize:=tx86operand(operands[ops]).opsize;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -1988,7 +2076,17 @@ begin
|
||||
begin
|
||||
s:=s+'reg';
|
||||
addsize:=true;
|
||||
end
|
||||
else
|
||||
if getregtype(opr.reg)=R_ADDRESSREGISTER then
|
||||
begin
|
||||
// 14102020 TG TODO CHECK
|
||||
if (opr.reg >= NR_K0) and (opr.reg >= NR_K7) then
|
||||
begin
|
||||
s:=s+'k' + regnr;
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
OPR_LOCAL,
|
||||
OPR_REFERENCE: begin
|
||||
|
@ -1041,6 +1041,8 @@ Implementation
|
||||
actopsize:=att_sizefpuintsuffix[sufidx]
|
||||
else if gas_needsuffix[actopcode]=attsufMM then
|
||||
actopsize:=att_sizemmsuffix[sufidx]
|
||||
else if gas_needsuffix[actopcode]=attsufMMX then
|
||||
actopsize:=att_sizemmXsuffix[sufidx]
|
||||
else
|
||||
actopsize:=att_sizesuffix[sufidx];
|
||||
{ only accept suffix from the same category that the opcode belongs to }
|
||||
|
@ -4158,7 +4158,7 @@ ymmreg_mz,mem128 \333\350\362\364\370\1\xE6\110
|
||||
ymmreg_mz,xmmreg \333\350\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
ymmreg_mz,bmem32 \333\350\364\370\1\xE6\110 AVX512,BCST4,THV
|
||||
zmmreg_mz,mem256 \333\350\351\370\1\xE6\110 AVX512,THV
|
||||
zmmreg_mz,ymmreg_er \333\350\351\370\1\xE6\110 AVX512
|
||||
zmmreg_mz,ymmreg \333\350\351\370\1\xE6\110 AVX512
|
||||
zmmreg_mz,bmem32 \333\350\351\370\1\xE6\110 AVX512,BCST8,THV
|
||||
|
||||
|
||||
@ -4174,10 +4174,13 @@ zmmreg_mz,bmem32 \350\351\370\1\x5B\110
|
||||
zmmreg_mz,zmmreg_er \350\351\370\1\x5B\110 AVX512
|
||||
|
||||
|
||||
[VCVTPD2DQ,vcvtpd2dqM]
|
||||
; VCVTPD2DQ xmmreg_mz,mem256 must come first - map MemRefSize 256bits correct
|
||||
; map all other MemrefSize (without broasdcast MemRef) to xmmreg, xmmrm
|
||||
[VCVTPD2DQ,vcvtpd2dqN]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg_mz,mem256 \334\350\352\362\364\370\1\xE6\110 AVX,SANDYBRIDGE,TFV
|
||||
xmmreg_mz,xmmrm \334\350\352\362\370\1\xE6\110 AVX,SANDYBRIDGE,TFV
|
||||
xmmreg_mz,ymmrm \334\350\352\362\364\370\1\xE6\110 AVX,SANDYBRIDGE,TFV
|
||||
xmmreg_mz,ymmreg \334\350\352\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
xmmreg_mz,bmem64 \334\350\352\370\1\xE6\110 AVX512,BCST2,TFV
|
||||
xmmreg_mz,bmem64 \334\350\352\364\370\1\xE6\110 AVX512,BCST4,TFV
|
||||
|
||||
@ -4188,7 +4191,7 @@ ymmreg_mz,zmmreg_er \334\350\351\352\370\1\xE6\110
|
||||
|
||||
; VCVTPD2PS xmmreg_mz,mem256 must come first - map MemRefSize 256bits correct
|
||||
; map all other MemrefSize (without broasdcast MemRef) to xmmreg, xmmrm
|
||||
[VCVTPD2PS,vcvtpd2psM]
|
||||
[VCVTPD2PS,vcvtpd2psN]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg_mz,mem256 \350\352\361\362\364\370\1\x5A\110 AVX,SANDYBRIDGE,TFV
|
||||
xmmreg_mz,ymmreg \350\352\361\362\364\370\1\x5A\110 AVX,SANDYBRIDGE
|
||||
@ -4258,15 +4261,15 @@ xmmreg_mz,xmmreg,xmmreg_er \334\350\352\362\370\1\x5A\75\120
|
||||
|
||||
[VCVTSI2SD,vcvtsi2sdX]
|
||||
(Ch_Wop3, Ch_Rop2, Ch_Rop1)
|
||||
xmmreg,xmmreg_er,reg32 \334\350\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD
|
||||
xmmreg,xmmreg,reg32 \334\350\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD
|
||||
xmmreg,xmmreg,mem32 \334\350\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD,T1S
|
||||
xmmreg,xmmreg_er,reg64 \334\350\352\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64
|
||||
xmmreg,xmmreg,mem64 \334\350\352\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64,T1S
|
||||
xmmreg,xmmreg_er,mem64 \334\350\352\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64,T1S
|
||||
|
||||
|
||||
[VCVTSI2SS,vcvtsi2ssX]
|
||||
(Ch_Wop3, Ch_Rop2, Ch_Rop1)
|
||||
xmmreg,xmmreg_er,reg32 \333\350\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD
|
||||
xmmreg,xmmreg,reg32 \333\350\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD
|
||||
xmmreg,xmmreg,mem32 \333\350\362\370\1\x2A\75\120 AVX,SANDYBRIDGE,SD,T1S
|
||||
xmmreg,xmmreg_er,reg64 \333\350\352\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64
|
||||
xmmreg,xmmreg_er,mem64 \333\350\352\362\363\370\1\x2A\75\120 AVX,SANDYBRIDGE,X86_64,T1S
|
||||
@ -4287,7 +4290,7 @@ reg64,xmmreg_er \333\350\352\362\363\370\1\x2D\110
|
||||
|
||||
; VCVTTPD2DQ xmmreg_mz,mem256 must come first - map MemRefSize 256bits correct
|
||||
; map all other MemrefSize (without broasdcast MemRef) to xmmreg, xmmrm
|
||||
[VCVTTPD2DQ,vcvttpd2dqM]
|
||||
[VCVTTPD2DQ,vcvttpd2dqN]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg_mz,mem256 \350\352\361\362\364\370\1\xE6\110 AVX,SANDYBRIDGE,AVX512,TFV
|
||||
xmmreg_mz,ymmreg \350\352\361\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
@ -4376,7 +4379,7 @@ xmmrm,ymmreg,imm8 \361\362\364\372\1\x19\101\26 AVX,SA
|
||||
(Ch_All)
|
||||
mem32,xmmreg,imm8 \350\361\362\372\1\x17\101\26 AVX,SANDYBRIDGE,T1S
|
||||
reg32,xmmreg,imm8 \350\361\362\372\1\x17\101\26 AVX,SANDYBRIDGE
|
||||
reg64,xmmreg,imm8 \350\361\372\1\x17\101\26 AVX512
|
||||
reg64,xmmreg,imm8 \350\361\362\372\1\x17\101\26 AVX512
|
||||
|
||||
|
||||
|
||||
@ -5479,10 +5482,12 @@ ymmreg,ymmreg,ymmrm \361\362\364\371\1\x09\75\120 AVX2
|
||||
|
||||
[VPSLLD]
|
||||
(Ch_Rop1, Ch_Rop2, Ch_Wop3)
|
||||
xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x72\74\216\26 AVX,SANDYBRIDGE,TFV
|
||||
xmmreg_mz,xmmreg,imm8 \350\361\362\370\1\x72\74\216\26 AVX,SANDYBRIDGE
|
||||
xmmreg_mz,mem128,imm8 \350\361\370\1\x72\74\216\26 AVX512,TFV
|
||||
xmmreg_mz,bmem32,imm8 \350\361\370\1\x72\74\216\26 AVX512,TFV
|
||||
xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xF2\75\120 AVX,SANDYBRIDGE,TMEM128
|
||||
ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x72\74\216\26 AVX2,TFV
|
||||
ymmreg_mz,ymmreg,imm8 \350\361\362\364\370\1\x72\74\216\26 AVX2
|
||||
ymmreg_mz,mem256,imm8 \350\361\364\370\1\x72\74\216\26 AVX512,TFV
|
||||
ymmreg_mz,bmem32,imm8 \350\361\364\370\1\x72\74\216\26 AVX512,TFV
|
||||
ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xF2\75\120 AVX2,TMEM128
|
||||
zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xF2\75\120 AVX512,TMEM128
|
||||
@ -5503,10 +5508,12 @@ zmmreg,zmmreg,imm8 \350\351\361\370\1\x73\74\217\26
|
||||
[VPSLLQ]
|
||||
(Ch_Rop1, Ch_Rop2, Ch_Wop3)
|
||||
xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\xF3\75\120 AVX,SANDYBRIDGE,TMEM128
|
||||
xmmreg_mz,xmmrm,imm8 \350\352\361\362\370\1\x73\74\216\26 AVX,SANDYBRIDGE,TFV
|
||||
xmmreg_mz,xmmreg,imm8 \350\352\361\362\370\1\x73\74\216\26 AVX,SANDYBRIDGE,TFV
|
||||
xmmreg_mz,mem128,imm8 \350\352\361\370\1\x73\74\216\26 AVX512,TFV
|
||||
xmmreg_mz,bmem64,imm8 \350\352\361\370\1\x73\74\216\26 AVX512,TFV
|
||||
ymmreg_mz,ymmreg,xmmrm \350\352\361\362\364\370\1\xF3\75\120 AVX2,TMEM128
|
||||
ymmreg_mz,ymmrm,imm8 \350\352\361\362\364\370\1\x73\74\216\26 AVX2,TFV
|
||||
ymmreg_mz,ymmreg,imm8 \350\352\361\362\364\370\1\x73\74\216\26 AVX2
|
||||
ymmreg_mz,mem256,imm8 \350\352\361\364\370\1\x73\74\216\26 AVX512,TFV
|
||||
ymmreg_mz,bmem64,imm8 \350\352\361\364\370\1\x73\74\216\26 AVX512,TFV
|
||||
zmmreg_mz,zmmreg,xmmrm \350\351\352\361\370\1\xF3\75\120 AVX512,TMEM128
|
||||
zmmreg_mz,zmmrm,imm8 \350\351\352\361\370\1\x73\74\216\26 AVX512,TFV
|
||||
@ -5516,19 +5523,23 @@ zmmreg_mz,bmem64,imm8 \350\351\352\361\370\1\x73\74\216\26
|
||||
[VPSLLW]
|
||||
(Ch_Rop1, Ch_Rop2, Ch_Wop3)
|
||||
xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xF1\75\120 AVX,SANDYBRIDGE,TMEM128
|
||||
xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x71\74\216\26 AVX,SANDYBRIDGE,TFVM
|
||||
xmmreg_mz,xmmreg,imm8 \350\361\362\370\1\x71\74\216\26 AVX,SANDYBRIDGE
|
||||
xmmreg_mz,mem128,imm8 \350\361\370\1\x71\74\216\26 AVX512,TFVM
|
||||
ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xF1\75\120 AVX2,TMEM128
|
||||
ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x71\74\216\26 AVX2,TFVM
|
||||
ymmreg_mz,ymmreg,imm8 \350\361\362\364\370\1\x71\74\216\26 AVX2
|
||||
ymmreg_mz,mem256,imm8 \350\361\364\370\1\x71\74\216\26 AVX512,TFVM
|
||||
zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xF1\75\120 AVX512,TMEM128
|
||||
zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x71\74\216\26 AVX512,TFVM
|
||||
|
||||
|
||||
[VPSRAD]
|
||||
(Ch_Rop1, Ch_Rop2, Ch_Wop3)
|
||||
xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x72\74\214\26 AVX,SANDYBRIDGE,TFV
|
||||
xmmreg_mz,xmmreg,imm8 \350\361\362\370\1\x72\74\214\26 AVX,SANDYBRIDGE
|
||||
xmmreg_mz,mem128,imm8 \350\361\370\1\x72\74\214\26 AVX512,TFV
|
||||
xmmreg_mz,bmem32,imm8 \350\361\370\1\x72\74\214\26 AVX512,TFV
|
||||
xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xE2\75\120 AVX,SANDYBRIDGE,TMEM128
|
||||
ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x72\74\214\26 AVX2,TFV
|
||||
ymmreg_mz,ymmreg,imm8 \350\361\362\364\370\1\x72\74\214\26 AVX2
|
||||
ymmreg_mz,mem256,imm8 \350\361\364\370\1\x72\74\214\26 AVX512,TFV
|
||||
ymmreg_mz,bmem32,imm8 \350\361\364\370\1\x72\74\214\26 AVX512,TFV
|
||||
ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xE2\75\120 AVX2,TMEM128
|
||||
zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xE2\75\120 AVX512,TMEM128
|
||||
@ -5538,9 +5549,11 @@ zmmreg_mz,bmem32,imm8 \350\351\361\370\1\x72\74\214\26
|
||||
|
||||
[VPSRAW]
|
||||
(Ch_Rop1, Ch_Rop2, Ch_Wop3)
|
||||
xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x71\74\214\26 AVX,SANDYBRIDGE,TFVM
|
||||
xmmreg_mz,xmmreg,imm8 \350\361\362\370\1\x71\74\214\26 AVX,SANDYBRIDGE
|
||||
xmmreg_mz,mem128,imm8 \350\361\370\1\x71\74\214\26 AVX512,TFVM
|
||||
xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xE1\75\120 AVX,SANDYBRIDGE,TMEM128
|
||||
ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x71\74\214\26 AVX2,TFVM
|
||||
ymmreg_mz,ymmreg,imm8 \350\361\362\364\370\1\x71\74\214\26 AVX2
|
||||
ymmreg_mz,mem256,imm8 \350\361\364\370\1\x71\74\214\26 AVX512,TFVM
|
||||
ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xE1\75\120 AVX2,TMEM128
|
||||
zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xE1\75\120 AVX512,TMEM128
|
||||
zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x71\74\214\26 AVX512,TFVM
|
||||
@ -5548,11 +5561,13 @@ zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x71\74\214\26
|
||||
|
||||
[VPSRLD]
|
||||
(Ch_Rop1, Ch_Rop2, Ch_Wop3)
|
||||
xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x72\74\212\26 AVX,SANDYBRIDGE,TFV
|
||||
xmmreg_mz,xmmreg,imm8 \350\361\362\370\1\x72\74\212\26 AVX,SANDYBRIDGE
|
||||
xmmreg_mz,mem128,imm8 \350\361\370\1\x72\74\212\26 AVX512,TFV
|
||||
xmmreg_mz,bmem32,imm8 \350\361\370\1\x72\74\212\26 AVX512,TFV
|
||||
xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xD2\75\120 AVX,SANDYBRIDGE,TMEM128
|
||||
ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xD2\75\120 AVX2,TMEM128
|
||||
ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x72\74\212\26 AVX2,TFV
|
||||
ymmreg_mz,ymmreg,imm8 \350\361\362\364\370\1\x72\74\212\26 AVX2,TFV
|
||||
ymmreg_mz,mem256,imm8 \350\361\364\370\1\x72\74\212\26 AVX2,TFV
|
||||
ymmreg_mz,bmem32,imm8 \350\361\364\370\1\x72\74\212\26 AVX512,TFV
|
||||
zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xD2\75\120 AVX512,TMEM128
|
||||
zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x72\74\212\26 AVX512,TFV
|
||||
@ -5572,9 +5587,11 @@ zmmreg,zmmrm,imm8 \350\351\361\370\1\x73\74\213\26
|
||||
[VPSRLQ]
|
||||
(Ch_Rop1, Ch_Rop2, Ch_Wop3)
|
||||
xmmreg_mz,xmmreg,xmmrm \350\352\361\362\370\1\xD3\75\120 AVX,SANDYBRIDGE,TMEM128
|
||||
xmmreg_mz,xmmrm,imm8 \350\352\361\362\370\1\x73\74\212\26 AVX,SANDYBRIDGE,TFV
|
||||
xmmreg_mz,xmmreg,imm8 \350\352\361\362\370\1\x73\74\212\26 AVX,SANDYBRIDGE
|
||||
xmmreg_mz,mem128,imm8 \350\352\361\370\1\x73\74\212\26 AVX512,TFV
|
||||
xmmreg_mz,bmem64,imm8 \350\352\361\370\1\x73\74\212\26 AVX512,TFV
|
||||
ymmreg_mz,ymmrm,imm8 \350\352\361\362\364\370\1\x73\74\212\26 AVX2,TFV
|
||||
ymmreg_mz,ymmreg,imm8 \350\352\361\362\364\370\1\x73\74\212\26 AVX2
|
||||
ymmreg_mz,mem256,imm8 \350\352\361\364\370\1\x73\74\212\26 AVX512,TFV
|
||||
ymmreg_mz,bmem64,imm8 \350\352\361\364\370\1\x73\74\212\26 AVX512,TFV
|
||||
ymmreg_mz,ymmreg,xmmrm \350\352\361\362\364\370\1\xD3\75\120 AVX2,TMEM128
|
||||
zmmreg_mz,zmmreg,xmmrm \350\351\352\361\370\1\xD3\75\120 AVX512,TMEM128
|
||||
@ -5584,9 +5601,11 @@ zmmreg_mz,bmem64,imm8 \350\351\352\361\370\1\x73\74\212\26
|
||||
|
||||
[VPSRLW]
|
||||
(Ch_Rop1, Ch_Rop2, Ch_Wop3)
|
||||
xmmreg_mz,xmmrm,imm8 \350\361\362\370\1\x71\74\212\26 AVX,SANDYBRIDGE,TFVM
|
||||
xmmreg_mz,xmmreg,imm8 \350\361\362\370\1\x71\74\212\26 AVX,SANDYBRIDGE
|
||||
xmmreg_mz,mem128,imm8 \350\361\370\1\x71\74\212\26 AVX512,TFVM
|
||||
xmmreg_mz,xmmreg,xmmrm \350\361\362\370\1\xD1\75\120 AVX,SANDYBRIDGE,TMEM128
|
||||
ymmreg_mz,ymmrm,imm8 \350\361\362\364\370\1\x71\74\212\26 AVX2,TFVM
|
||||
ymmreg_mz,ymmreg,imm8 \350\361\362\364\370\1\x71\74\212\26 AVX2
|
||||
ymmreg_mz,mem256,imm8 \350\361\364\370\1\x71\74\212\26 AVX512,TFVM
|
||||
ymmreg_mz,ymmreg,xmmrm \350\361\362\364\370\1\xD1\75\120 AVX2,TMEM128
|
||||
zmmreg_mz,zmmreg,xmmrm \350\351\361\370\1\xD1\75\120 AVX512,TMEM128
|
||||
zmmreg_mz,zmmrm,imm8 \350\351\361\370\1\x71\74\212\26 AVX512,TFVM
|
||||
@ -6779,7 +6798,7 @@ zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\xBC\75\120
|
||||
|
||||
[VFNMADD231SD]
|
||||
(Ch_Mop3, Ch_Rop2, Ch_Rop1)
|
||||
xmmreg,xmmreg,xmmrm \337\361\362\363\371\1\xBD\75\120 FMA,T1S
|
||||
xmmreg,xmmreg,xmmrm \337\350\352\361\362\363\371\1\xBD\75\120 FMA,T1S
|
||||
xmmreg_mz,xmmreg,xmmreg_er \350\352\361\362\363\371\1\xBD\75\120 FMA
|
||||
|
||||
[VFNMADD231SS]
|
||||
@ -7305,7 +7324,7 @@ zmmreg_mz,mem512 \350\351\352\361\370\1\x7B\110
|
||||
zmmreg_mz,bmem64 \350\351\352\361\370\1\x7B\110 AVX512,TFV
|
||||
zmmreg_mz,zmmreg_er \350\351\352\361\370\1\x7B\110 AVX512
|
||||
|
||||
[VCVTPD2UDQ]
|
||||
[VCVTPD2UDQ, vcvtpd2udqN]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg_mz,mem128 \350\352\370\1\x79\110 AVX512,TFV
|
||||
xmmreg_mz,mem256 \350\352\364\370\1\x79\110 AVX512,TFV
|
||||
@ -7369,7 +7388,7 @@ zmmreg_mz,mem512 \333\350\351\352\370\1\xE6\110
|
||||
zmmreg_mz,bmem64 \333\350\351\352\370\1\xE6\110 AVX512,TFV
|
||||
zmmreg_mz,zmmreg_er \333\350\351\352\370\1\xE6\110 AVX512
|
||||
|
||||
[VCVTQQ2PS]
|
||||
[VCVTQQ2PS,vcvtqq2psN]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg_mz,mem128 \350\352\370\1\x5B\110 AVX512,TFV
|
||||
xmmreg_mz,mem256 \350\352\364\370\1\x5B\110 AVX512,TFV
|
||||
@ -7405,7 +7424,7 @@ zmmreg_mz,mem512 \350\351\352\361\370\1\x7A\110
|
||||
zmmreg_mz,bmem64 \350\351\352\361\370\1\x7A\110 AVX512,TFV
|
||||
zmmreg_mz,zmmreg_sae \350\351\352\361\370\1\x7A\110 AVX512
|
||||
|
||||
[VCVTTPD2UDQ]
|
||||
[VCVTTPD2UDQ,vcvttpd2udqN]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg_mz,mem128 \350\352\370\1\x78\110 AVX512,TFV
|
||||
xmmreg_mz,mem256 \350\352\364\370\1\x78\110 AVX512,TFV
|
||||
@ -7482,7 +7501,7 @@ ymmreg_mz,xmmrm \333\350\364\370\1\x7A\110
|
||||
ymmreg_mz,bmem32 \333\350\364\370\1\x7A\110 AVX512,BCST4,THV
|
||||
zmmreg_mz,mem256 \333\350\351\370\1\x7A\110 AVX512,THV
|
||||
zmmreg_mz,bmem32 \333\350\351\370\1\x7A\110 AVX512,BCST8,THV
|
||||
zmmreg_mz,ymmreg_er \333\350\351\370\1\x7A\110 AVX512
|
||||
zmmreg_mz,ymmreg \333\350\351\370\1\x7A\110 AVX512
|
||||
|
||||
[VCVTUDQ2PS]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
@ -7504,7 +7523,7 @@ zmmreg_mz,mem512 \333\350\351\352\370\1\x7A\110
|
||||
zmmreg_mz,bmem64 \333\350\351\352\370\1\x7A\110 AVX512,TFV
|
||||
zmmreg_mz,zmmreg_er \333\350\351\352\370\1\x7A\110 AVX512
|
||||
|
||||
[VCVTUQQ2PS]
|
||||
[VCVTUQQ2PS,vcvtuqq2psN]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg_mz,mem128 \334\350\352\370\1\x7A\110 AVX512,TFV
|
||||
xmmreg_mz,mem256 \334\350\352\364\370\1\x7A\110 AVX512,TFV
|
||||
@ -7516,12 +7535,13 @@ ymmreg_mz,mem512 \334\350\351\352\370\1\x7A\110
|
||||
ymmreg_mz,bmem64 \334\350\351\352\370\1\x7A\110 AVX512,BCST8,TFV
|
||||
ymmreg_mz,zmmreg_er \334\350\351\352\370\1\x7A\110 AVX512
|
||||
|
||||
[VCVTUSI2SD]
|
||||
[VCVTUSI2SD,vcvtusi2sdX]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg,xmmreg_er,rm64 \334\350\352\370\1\x7B\75\120 AVX512,T1S
|
||||
xmmreg,xmmreg_er,mem64 \334\350\352\370\1\x7B\75\120 AVX512,T1S
|
||||
xmmreg,xmmreg_er,reg64 \334\350\352\370\1\x7B\75\120 AVX512
|
||||
xmmreg,xmmreg_er,rm32 \334\350\370\1\x7B\75\120 AVX512,T1S
|
||||
|
||||
[VCVTUSI2SS]
|
||||
[VCVTUSI2SS,vcvtusi2ssX]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg,xmmreg_er,rm64 \333\350\352\370\1\x7B\75\120 AVX512,T1S
|
||||
xmmreg,xmmreg_er,rm32 \333\350\370\1\x7B\75\120 AVX512,T1S
|
||||
@ -7641,22 +7661,30 @@ xmmreg_mz,xmmreg,mem32,imm8 \350\361\372\1\x55\75\120\27
|
||||
xmmreg_mz,xmmreg,xmmreg_sae,imm8 \350\361\372\1\x55\75\120\27 AVX512
|
||||
|
||||
|
||||
[VFPCLASSPD]
|
||||
; VFPCLASSPD kreg_m,mem256 and mem512 must come first - map MemRefSize 256,512bits correct
|
||||
; map all other MemrefSize (without broasdcast MemRef) to kreg_m, xmmrm
|
||||
[VFPCLASSPD,vfpclasspdX]
|
||||
(Ch_All)
|
||||
kreg_m,mem256,imm8 \350\352\361\364\372\1\x66\110\26 AVX512,TFV
|
||||
kreg_m,mem512,imm8 \350\351\352\361\372\1\x66\110\26 AVX512,TFV
|
||||
kreg_m,xmmrm,imm8 \350\352\361\372\1\x66\110\26 AVX512,TFV
|
||||
kreg_m,bmem64,imm8 \350\352\361\372\1\x66\110\26 AVX512,BCST2,TFV
|
||||
kreg_m,ymmrm,imm8 \350\352\361\364\372\1\x66\110\26 AVX512,TFV
|
||||
kreg_m,ymmreg,imm8 \350\352\361\364\372\1\x66\110\26 AVX512
|
||||
kreg_m,bmem64,imm8 \350\352\361\364\372\1\x66\110\26 AVX512,BCST4,TFV
|
||||
kreg_m,zmmrm,imm8 \350\351\352\361\372\1\x66\110\26 AVX512,TFV
|
||||
kreg_m,zmmreg,imm8 \350\351\352\361\372\1\x66\110\26 AVX512
|
||||
kreg_m,bmem64,imm8 \350\351\352\361\372\1\x66\110\26 AVX512,BCST8,TFV
|
||||
|
||||
[VFPCLASSPS]
|
||||
; VFPCLASSPS kreg_m,mem256 and mem512 must come first - map MemRefSize 256,512bits correct
|
||||
; map all other MemrefSize (without broasdcast MemRef) to kreg_m, xmmrm
|
||||
[VFPCLASSPS,vfpclasspsX]
|
||||
(Ch_All)
|
||||
kreg_m,mem256,imm8 \350\361\364\372\1\x66\110\26 AVX512,TFV
|
||||
kreg_m,mem512,imm8 \350\351\361\372\1\x66\110\26 AVX512,TFV
|
||||
kreg_m,xmmrm,imm8 \350\361\372\1\x66\110\26 AVX512,TFV
|
||||
kreg_m,bmem32,imm8 \350\361\372\1\x66\110\26 AVX512,BCST4,TFV
|
||||
kreg_m,ymmrm,imm8 \350\361\364\372\1\x66\110\26 AVX512,TFV
|
||||
kreg_m,ymmreg,imm8 \350\361\364\372\1\x66\110\26 AVX512
|
||||
kreg_m,bmem32,imm8 \350\361\364\372\1\x66\110\26 AVX512,BCST8,TFV
|
||||
kreg_m,zmmrm,imm8 \350\351\361\372\1\x66\110\26 AVX512,TFV
|
||||
kreg_m,zmmreg,imm8 \350\351\361\372\1\x66\110\26 AVX512
|
||||
kreg_m,bmem32,imm8 \350\351\361\372\1\x66\110\26 AVX512,BCST16,TFV
|
||||
|
||||
[VFPCLASSSD]
|
||||
@ -8946,18 +8974,18 @@ zmmreg_mz,zmmreg,bmem64,imm8 \350\351\352\361\372\1\x43\75\120\27
|
||||
|
||||
[VPCOMPRESSB]
|
||||
(Ch_All)
|
||||
mem128_m,xmmreg \350\361\371\1\x63\101 AVX512,T1S
|
||||
mem256_m,ymmreg \350\361\364\371\1\x63\101 AVX512,T1S
|
||||
mem512_m,zmmreg \350\351\361\371\1\x63\101 AVX512,T1S
|
||||
mem128_m,xmmreg \350\361\371\1\x63\101 AVX512,T1S8
|
||||
mem256_m,ymmreg \350\361\364\371\1\x63\101 AVX512,T1S8
|
||||
mem512_m,zmmreg \350\351\361\371\1\x63\101 AVX512,T1S8
|
||||
xmmreg_mz,xmmreg \350\361\371\1\x63\101 AVX512
|
||||
ymmreg_mz,ymmreg \350\361\364\371\1\x63\101 AVX512
|
||||
zmmreg_mz,zmmreg \350\351\361\371\1\x63\101 AVX512
|
||||
|
||||
[VPCOMPRESSW]
|
||||
(Ch_All)
|
||||
mem128_m,xmmreg \350\352\361\371\1\x63\101 AVX512,T1S
|
||||
mem256_m,ymmreg \350\352\361\364\371\1\x63\101 AVX512,T1S
|
||||
mem512_m,zmmreg \350\351\352\361\371\1\x63\101 AVX512,T1S
|
||||
mem128_m,xmmreg \350\352\361\371\1\x63\101 AVX512,T1S16
|
||||
mem256_m,ymmreg \350\352\361\364\371\1\x63\101 AVX512,T1S16
|
||||
mem512_m,zmmreg \350\351\352\361\371\1\x63\101 AVX512,T1S16
|
||||
xmmreg_mz,xmmreg \350\352\361\371\1\x63\101 AVX512
|
||||
ymmreg_mz,ymmreg \350\352\361\364\371\1\x63\101 AVX512
|
||||
zmmreg_mz,zmmreg \350\351\352\361\371\1\x63\101 AVX512
|
||||
@ -9000,21 +9028,21 @@ zmmreg_mz,zmmreg,bmem32 \350\351\361\371\1\x53\75\120
|
||||
|
||||
[VPEXPANDB]
|
||||
(Ch_All)
|
||||
mem128_m,xmmreg \350\361\371\1\x62\101 AVX512,T1S
|
||||
mem256_m,ymmreg \350\361\364\371\1\x62\101 AVX512,T1S
|
||||
mem512_m,zmmreg \350\351\361\371\1\x62\101 AVX512,T1S
|
||||
xmmreg_mz,xmmreg \350\361\371\1\x62\101 AVX512
|
||||
ymmreg_mz,ymmreg \350\361\364\371\1\x62\101 AVX512
|
||||
zmmreg_mz,zmmreg \350\351\361\371\1\x62\101 AVX512
|
||||
xmmreg_mz,mem128 \350\361\371\1\x62\110 AVX512,T1S8
|
||||
ymmreg_mz,mem256 \350\361\364\371\1\x62\110 AVX512,T1S8
|
||||
zmmreg_mz,mem512 \350\351\361\371\1\x62\110 AVX512,T1S8
|
||||
xmmreg_mz,xmmreg \350\361\371\1\x62\110 AVX512
|
||||
ymmreg_mz,ymmreg \350\361\364\371\1\x62\110 AVX512
|
||||
zmmreg_mz,zmmreg \350\351\361\371\1\x62\110 AVX512
|
||||
|
||||
[VPEXPANDW]
|
||||
(Ch_All)
|
||||
mem128_m,xmmreg \350\352\361\371\1\x62\101 AVX512,T1S
|
||||
mem256_m,ymmreg \350\352\361\364\371\1\x62\101 AVX512,T1S
|
||||
mem512_m,zmmreg \350\351\352\361\371\1\x62\101 AVX512,T1S
|
||||
xmmreg_mz,xmmreg \350\352\361\371\1\x62\101 AVX512
|
||||
ymmreg_mz,ymmreg \350\352\361\364\371\1\x62\101 AVX512
|
||||
zmmreg_mz,zmmreg \350\351\352\361\371\1\x62\101 AVX512
|
||||
xmmreg_mz,mem128 \350\352\361\371\1\x62\110 AVX512,T1S16
|
||||
ymmreg_mz,mem256 \350\352\361\364\371\1\x62\110 AVX512,T1S16
|
||||
zmmreg_mz,mem512 \350\351\352\361\371\1\x62\110 AVX512,T1S16
|
||||
xmmreg_mz,xmmreg \350\352\361\371\1\x62\110 AVX512
|
||||
ymmreg_mz,ymmreg \350\352\361\364\371\1\x62\110 AVX512
|
||||
zmmreg_mz,zmmreg \350\351\352\361\371\1\x62\110 AVX512
|
||||
|
||||
[VPOPCNTB]
|
||||
(Ch_All)
|
||||
|
@ -777,8 +777,8 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMM,
|
||||
attsufMM,
|
||||
attsufMMX,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -789,7 +789,7 @@ attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMM,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -1197,6 +1197,29 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufMMX,
|
||||
attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -1214,31 +1237,8 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
|
@ -1197,7 +1197,7 @@
|
||||
'vcompresspd',
|
||||
'vcompressps',
|
||||
'vcvtpd2qq',
|
||||
'vcvtpd2udq',
|
||||
' vcvtpd2udq',
|
||||
'vcvtpd2uqq',
|
||||
'vcvtps2qq',
|
||||
'vcvtps2udq',
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86ins.dat }
|
||||
4214;
|
||||
4236;
|
||||
|
@ -10734,7 +10734,7 @@
|
||||
(
|
||||
opcode : A_VCVTDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none);
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #219#232#233#248#1#230#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
@ -10794,6 +10794,13 @@
|
||||
code : #232#233#248#1#91#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #220#232#234#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
@ -10804,9 +10811,9 @@
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #220#232#234#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
@ -11133,7 +11140,7 @@
|
||||
(
|
||||
opcode : A_VCVTSI2SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none);
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_none);
|
||||
code : #220#232#242#248#1#42#61#80;
|
||||
flags : [if_avx,if_sandybridge,if_sd]
|
||||
),
|
||||
@ -11154,14 +11161,14 @@
|
||||
(
|
||||
opcode : A_VCVTSI2SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_memory or ot_bits64,ot_none);
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_memory or ot_bits64,ot_none);
|
||||
code : #220#232#234#242#243#248#1#42#61#80;
|
||||
flags : [if_avx,if_sandybridge,if_x86_64,if_t1s]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTSI2SS;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg32,ot_none);
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_reg32,ot_none);
|
||||
code : #219#232#242#248#1#42#61#80;
|
||||
flags : [if_avx,if_sandybridge,if_sd]
|
||||
),
|
||||
@ -11561,7 +11568,7 @@
|
||||
opcode : A_VEXTRACTPS;
|
||||
ops : 3;
|
||||
optypes : (ot_reg64,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#250#1#23#65#22;
|
||||
code : #232#241#242#250#1#23#65#22;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
@ -15382,9 +15389,16 @@
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#114#60#142#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#114#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
@ -15403,9 +15417,16 @@
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#114#60#142#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#114#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLD;
|
||||
@ -15494,10 +15515,17 @@
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#248#1#115#60#142#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#248#1#115#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
@ -15515,9 +15543,16 @@
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#244#248#1#115#60#142#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#248#1#115#60#142#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLQ;
|
||||
@ -15557,9 +15592,16 @@
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#113#60#142#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfvm]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#113#60#142#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
@ -15571,9 +15613,16 @@
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#113#60#142#22;
|
||||
flags : [if_avx2,if_tfvm]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#113#60#142#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSLLW;
|
||||
@ -15592,9 +15641,16 @@
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#114#60#140#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#114#60#140#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
@ -15613,9 +15669,16 @@
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#114#60#140#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#114#60#140#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAD;
|
||||
@ -15655,9 +15718,16 @@
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#113#60#140#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfvm]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#113#60#140#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
@ -15669,9 +15739,16 @@
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#113#60#140#22;
|
||||
flags : [if_avx2,if_tfvm]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#113#60#140#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRAW;
|
||||
@ -15697,9 +15774,16 @@
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#114#60#138#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#114#60#138#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
@ -15725,10 +15809,17 @@
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#114#60#138#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#114#60#138#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLD;
|
||||
ops : 3;
|
||||
@ -15802,9 +15893,16 @@
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#248#1#115#60#138#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfv]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#248#1#115#60#138#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
@ -15816,9 +15914,16 @@
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#242#244#248#1#115#60#138#22;
|
||||
flags : [if_avx2,if_tfv]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#248#1#115#60#138#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLQ;
|
||||
@ -15858,9 +15963,16 @@
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#248#1#113#60#138#22;
|
||||
flags : [if_avx,if_sandybridge,if_tfvm]
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#248#1#113#60#138#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
@ -15872,9 +15984,16 @@
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#242#244#248#1#113#60#138#22;
|
||||
flags : [if_avx2,if_tfvm]
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#248#1#113#60#138#22;
|
||||
flags : [if_avx512,if_tfvm]
|
||||
),
|
||||
(
|
||||
opcode : A_VPSRLW;
|
||||
@ -20206,7 +20325,7 @@
|
||||
opcode : A_VFNMADD231SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
|
||||
code : #223#241#242#243#249#1#189#61#80;
|
||||
code : #223#232#234#241#242#243#249#1#189#61#80;
|
||||
flags : [if_fma,if_t1s]
|
||||
),
|
||||
(
|
||||
@ -22501,7 +22620,7 @@
|
||||
(
|
||||
opcode : A_VCVTUDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg_er,ot_none,ot_none);
|
||||
optypes : (ot_zmmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #219#232#233#248#1#122#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
@ -22669,10 +22788,17 @@
|
||||
(
|
||||
opcode : A_VCVTUSI2SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_rm_gpr or ot_bits64,ot_none);
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_memory or ot_bits64,ot_none);
|
||||
code : #220#232#234#248#1#123#61#80;
|
||||
flags : [if_avx512,if_t1s]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTUSI2SD;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg_er,ot_reg64,ot_none);
|
||||
code : #220#232#234#248#1#123#61#80;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTUSI2SD;
|
||||
ops : 3;
|
||||
@ -23135,6 +23261,20 @@
|
||||
code : #232#241#250#1#85#61#80#23;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#234#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
@ -23152,9 +23292,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#234#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
@ -23166,9 +23306,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#234#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPD;
|
||||
@ -23177,6 +23317,20 @@
|
||||
code : #232#233#234#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_bcst8,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits256,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_memory or ot_bits512,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
@ -23194,9 +23348,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_ymmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_ymmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#241#244#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
@ -23208,9 +23362,9 @@
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
ops : 3;
|
||||
optypes : (ot_kreg_m,ot_zmmrm,ot_immediate or ot_bits8,ot_none);
|
||||
optypes : (ot_kreg_m,ot_zmmreg,ot_immediate or ot_bits8,ot_none);
|
||||
code : #232#233#241#250#1#102#72#22;
|
||||
flags : [if_avx512,if_tfv]
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VFPCLASSPS;
|
||||
@ -28642,21 +28796,21 @@
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSB;
|
||||
@ -28684,21 +28838,21 @@
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#99#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPCOMPRESSW;
|
||||
@ -28892,85 +29046,85 @@
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none);
|
||||
code : #232#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s8]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#241#249#1#98#65;
|
||||
code : #232#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#241#244#249#1#98#65;
|
||||
code : #232#241#244#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDB;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#241#249#1#98#65;
|
||||
code : #232#233#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem128_m,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_xmmreg_mz,ot_memory or ot_bits128,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem256_m,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_ymmreg_mz,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_mem512_m,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#98#65;
|
||||
flags : [if_avx512,if_t1s]
|
||||
optypes : (ot_zmmreg_mz,ot_memory or ot_bits512,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#98#72;
|
||||
flags : [if_avx512,if_t1s16]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg_mz,ot_xmmreg,ot_none,ot_none);
|
||||
code : #232#234#241#249#1#98#65;
|
||||
code : #232#234#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg_mz,ot_ymmreg,ot_none,ot_none);
|
||||
code : #232#234#241#244#249#1#98#65;
|
||||
code : #232#234#241#244#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
opcode : A_VPEXPANDW;
|
||||
ops : 2;
|
||||
optypes : (ot_zmmreg_mz,ot_zmmreg,ot_none,ot_none);
|
||||
code : #232#233#234#241#249#1#98#65;
|
||||
code : #232#233#234#241#249#1#98#72;
|
||||
flags : [if_avx512]
|
||||
),
|
||||
(
|
||||
|
@ -210,6 +210,8 @@ type
|
||||
IF_T4, { disp8 - tuple - 4 }
|
||||
IF_T8, { disp8 - tuple - 8 }
|
||||
IF_T1S, { disp8 - tuple - 1 scalar }
|
||||
IF_T1S8,
|
||||
IF_T1S16,
|
||||
IF_T1F32,
|
||||
IF_T1F64,
|
||||
IF_TMDDUP,
|
||||
@ -565,11 +567,6 @@ begin
|
||||
;
|
||||
|
||||
|
||||
//TG TODO delete
|
||||
if aInst = 'vpmovw2m' then
|
||||
begin
|
||||
sSuffix := sSuffix;
|
||||
end;
|
||||
|
||||
for il_Op := 1 to 4 do
|
||||
begin
|
||||
@ -632,6 +629,15 @@ begin
|
||||
Item.Values.Add('XMM18' + sSuffix);
|
||||
Item.Values.Add('XMM27' + sSuffix);
|
||||
Item.Values.Add('XMM31' + sSuffix);
|
||||
|
||||
if sSuffix <> '' then
|
||||
begin
|
||||
Item.Values.Add('XMM0');
|
||||
Item.Values.Add('XMM9');
|
||||
Item.Values.Add('XMM18');
|
||||
Item.Values.Add('XMM27');
|
||||
Item.Values.Add('XMM31');
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -640,6 +646,15 @@ begin
|
||||
Item.Values.Add('XMM8' + sSuffix);
|
||||
Item.Values.Add('XMM12' + sSuffix);
|
||||
Item.Values.Add('XMM15' + sSuffix);
|
||||
|
||||
if sSuffix <> '' then
|
||||
begin
|
||||
Item.Values.Add('XMM0');
|
||||
Item.Values.Add('XMM4');
|
||||
Item.Values.Add('XMM8');
|
||||
Item.Values.Add('XMM12');
|
||||
Item.Values.Add('XMM15');
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
@ -677,17 +692,26 @@ begin
|
||||
if FAVX512 then
|
||||
begin
|
||||
Item.Values.Add('XMM0' + sSuffix);
|
||||
Item.Values.Add('XMM0');
|
||||
Item.Values.Add('XMM9' + sSuffix);
|
||||
Item.Values.Add('XMM9');
|
||||
Item.Values.Add('XMM18' + sSuffix);
|
||||
Item.Values.Add('XMM18');
|
||||
Item.Values.Add('XMM27' + sSuffix);
|
||||
Item.Values.Add('XMM27');
|
||||
Item.Values.Add('XMM31' + sSuffix);
|
||||
Item.Values.Add('XMM31');
|
||||
end
|
||||
else
|
||||
begin
|
||||
Item.Values.Add('XMM0' + sSuffix);
|
||||
Item.Values.Add('XMM0');
|
||||
Item.Values.Add('XMM4' + sSuffix);
|
||||
Item.Values.Add('XMM4');
|
||||
Item.Values.Add('XMM8' + sSuffix);
|
||||
Item.Values.Add('XMM8');
|
||||
Item.Values.Add('XMM12' + sSuffix);
|
||||
Item.Values.Add('XMM15');
|
||||
Item.Values.Add('XMM15' + sSuffix);
|
||||
end;
|
||||
|
||||
@ -733,18 +757,28 @@ begin
|
||||
if FAVX512 then
|
||||
begin
|
||||
Item.Values.Add('XMM0' + sSuffix);
|
||||
Item.Values.Add('XMM0');
|
||||
Item.Values.Add('XMM9' + sSuffix);
|
||||
Item.Values.Add('XMM9');
|
||||
Item.Values.Add('XMM18' + sSuffix);
|
||||
Item.Values.Add('XMM18');
|
||||
Item.Values.Add('XMM27' + sSuffix);
|
||||
Item.Values.Add('XMM27');
|
||||
Item.Values.Add('XMM31' + sSuffix);
|
||||
Item.Values.Add('XMM31');
|
||||
end
|
||||
else
|
||||
begin
|
||||
Item.Values.Add('XMM0' + sSuffix);
|
||||
Item.Values.Add('XMM0');
|
||||
Item.Values.Add('XMM4' + sSuffix);
|
||||
Item.Values.Add('XMM4');
|
||||
Item.Values.Add('XMM8' + sSuffix);
|
||||
Item.Values.Add('XMM8');
|
||||
Item.Values.Add('XMM12' + sSuffix);
|
||||
Item.Values.Add('XMM12');
|
||||
Item.Values.Add('XMM15' + sSuffix);
|
||||
Item.Values.Add('XMM15');
|
||||
end;
|
||||
|
||||
//Item.Values.Add('[RIP]');
|
||||
@ -793,18 +827,28 @@ begin
|
||||
if FAVX512 then
|
||||
begin
|
||||
Item.Values.Add('XMM0' + sSuffix);
|
||||
Item.Values.Add('XMM0');
|
||||
Item.Values.Add('XMM9' + sSuffix);
|
||||
Item.Values.Add('XMM9');
|
||||
Item.Values.Add('XMM18' + sSuffix);
|
||||
Item.Values.Add('XMM18');
|
||||
Item.Values.Add('XMM27' + sSuffix);
|
||||
Item.Values.Add('XMM27');
|
||||
Item.Values.Add('XMM31' + sSuffix);
|
||||
Item.Values.Add('XMM31');
|
||||
end
|
||||
else
|
||||
begin
|
||||
Item.Values.Add('XMM0' + sSuffix);
|
||||
Item.Values.Add('XMM0');
|
||||
Item.Values.Add('XMM4' + sSuffix);
|
||||
Item.Values.Add('XMM4');
|
||||
Item.Values.Add('XMM8' + sSuffix);
|
||||
Item.Values.Add('XMM8');
|
||||
Item.Values.Add('XMM12' + sSuffix);
|
||||
Item.Values.Add('XMM12');
|
||||
Item.Values.Add('XMM15' + sSuffix);
|
||||
Item.Values.Add('XMM15');
|
||||
end;
|
||||
|
||||
//Item.Values.Add('[RIP]');
|
||||
@ -855,6 +899,15 @@ begin
|
||||
Item.Values.Add('YMM18' + sSuffix);
|
||||
Item.Values.Add('YMM27' + sSuffix);
|
||||
Item.Values.Add('YMM31' + sSuffix);
|
||||
|
||||
if sSuffix <> '' then
|
||||
begin
|
||||
Item.Values.Add('YMM0');
|
||||
Item.Values.Add('YMM9');
|
||||
Item.Values.Add('YMM18');
|
||||
Item.Values.Add('YMM27');
|
||||
Item.Values.Add('YMM31');
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -863,6 +916,15 @@ begin
|
||||
Item.Values.Add('YMM8' + sSuffix);
|
||||
Item.Values.Add('YMM12' + sSuffix);
|
||||
Item.Values.Add('YMM15' + sSuffix);
|
||||
|
||||
if sSuffix <> '' then
|
||||
begin
|
||||
Item.Values.Add('YMM0');
|
||||
Item.Values.Add('YMM4');
|
||||
Item.Values.Add('YMM8');
|
||||
Item.Values.Add('YMM12');
|
||||
Item.Values.Add('YMM15');
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
@ -903,8 +965,17 @@ begin
|
||||
Item.Values.Add('YMM0' + sSuffix);
|
||||
Item.Values.Add('YMM9' + sSuffix);
|
||||
Item.Values.Add('YMM18' + sSuffix);
|
||||
Item.Values.Add('YMM27' + sSuffix);
|
||||
Item.Values.Add('YMM27' + sSuffix);
|
||||
Item.Values.Add('YMM31' + sSuffix);
|
||||
|
||||
if sSuffix <> '' then
|
||||
begin
|
||||
Item.Values.Add('YMM0');
|
||||
Item.Values.Add('YMM9');
|
||||
Item.Values.Add('YMM18');
|
||||
Item.Values.Add('YMM27');
|
||||
Item.Values.Add('YMM31');
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -913,6 +984,15 @@ begin
|
||||
Item.Values.Add('YMM8' + sSuffix);
|
||||
Item.Values.Add('YMM12' + sSuffix);
|
||||
Item.Values.Add('YMM15' + sSuffix);
|
||||
|
||||
if sSuffix <> '' then
|
||||
begin
|
||||
Item.Values.Add('YMM0');
|
||||
Item.Values.Add('YMM4');
|
||||
Item.Values.Add('YMM8');
|
||||
Item.Values.Add('YMM12');
|
||||
Item.Values.Add('YMM15');
|
||||
end;
|
||||
end;
|
||||
|
||||
MemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64Index, Item.Values);
|
||||
@ -960,6 +1040,15 @@ begin
|
||||
Item.Values.Add('ZMM18' + sSuffix);
|
||||
Item.Values.Add('ZMM27' + sSuffix);
|
||||
Item.Values.Add('ZMM31' + sSuffix);
|
||||
|
||||
if sSuffix <> '' then
|
||||
begin
|
||||
Item.Values.Add('ZMM0');
|
||||
Item.Values.Add('ZMM9');
|
||||
Item.Values.Add('ZMM18');
|
||||
Item.Values.Add('ZMM27');
|
||||
Item.Values.Add('ZMM31');
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -1010,6 +1099,15 @@ begin
|
||||
Item.Values.Add('ZMM18' + sSuffix);
|
||||
Item.Values.Add('ZMM27' + sSuffix);
|
||||
Item.Values.Add('ZMM31' + sSuffix);
|
||||
|
||||
if sSuffix <> '' then
|
||||
begin
|
||||
Item.Values.Add('ZMM0');
|
||||
Item.Values.Add('ZMM9');
|
||||
Item.Values.Add('ZMM18');
|
||||
Item.Values.Add('ZMM27');
|
||||
Item.Values.Add('ZMM31');
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -1280,11 +1378,15 @@ begin
|
||||
|
||||
if x64 then
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64XMMIndex, Item.Values);
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64XMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64XMMIndex, Item.Values);
|
||||
end
|
||||
else
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32XMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32XMMIndex, Item.Values);
|
||||
end;
|
||||
end
|
||||
else if AnsiSameText(sl_Operand, 'XMEM64') or
|
||||
@ -1311,10 +1413,14 @@ begin
|
||||
if x64 then
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64XMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64XMMIndex, Item.Values);
|
||||
end
|
||||
else
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32XMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32XMMIndex, Item.Values);
|
||||
end;
|
||||
|
||||
end
|
||||
@ -1342,10 +1448,14 @@ begin
|
||||
if x64 then
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64YMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64YMMIndex, Item.Values);
|
||||
end
|
||||
else
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32YMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32YMMIndex, Item.Values);
|
||||
end;
|
||||
|
||||
end
|
||||
@ -1373,10 +1483,14 @@ begin
|
||||
if x64 then
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64YMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64YMMIndex, Item.Values);
|
||||
end
|
||||
else
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32YMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32YMMIndex, Item.Values);
|
||||
end;
|
||||
|
||||
end
|
||||
@ -1404,10 +1518,14 @@ begin
|
||||
if x64 then
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64ZMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64ZMMIndex, Item.Values);
|
||||
end
|
||||
else
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32ZMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32ZMMIndex, Item.Values);
|
||||
end;
|
||||
|
||||
end
|
||||
@ -1435,10 +1553,14 @@ begin
|
||||
if x64 then
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg64Base, FReg64ZMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg64Base, FReg64ZMMIndex, Item.Values);
|
||||
end
|
||||
else
|
||||
begin
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32ZMMIndex, Item.Values);
|
||||
if sSuffix <> '' then
|
||||
VectorMemRegBaseIndexCombi(sl_prefix, '', FReg32Base, FReg32ZMMIndex, Item.Values);
|
||||
end;
|
||||
|
||||
end
|
||||
|
@ -34,12 +34,21 @@ 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;
|
||||
@ -423,7 +432,7 @@ begin
|
||||
FOpCodeList.Add('vcvtdq2pd,1,1,1,YMMREG_MZ,XMMREG,,');
|
||||
FOpCodeList.Add('vcvtdq2pd,1,1,1,YMMREG_MZ,4B32,,');
|
||||
FOpCodeList.Add('vcvtdq2pd,1,1,1,ZMMREG_MZ,MEM256,,');
|
||||
FOpCodeList.Add('vcvtdq2pd,1,1,1,ZMMREG_MZ,YMMREG_ER,,');
|
||||
FOpCodeList.Add('vcvtdq2pd,1,1,1,ZMMREG_MZ,YMMREG,,');
|
||||
FOpCodeList.Add('vcvtdq2pd,1,1,1,ZMMREG_MZ,8B32,,');
|
||||
|
||||
FOpCodeList.Add('vcvtdq2ps,1,1,1,XMMREG_MZ,XMMRM,,');
|
||||
@ -441,7 +450,7 @@ begin
|
||||
FOpCodeList.Add('vcvtpd2dq,1,1,1,XMMREG_MZ,YMMREG,,');
|
||||
FOpCodeList.Add('vcvtpd2dq,1,1,1,YMMREG_MZ,MEM512,,');
|
||||
FOpCodeList.Add('vcvtpd2dq,1,1,1,YMMREG_MZ,8B64,,');
|
||||
FOpCodeList.Add('vcvtpd2dq,1,1,1,YMMREG_MZ,ZMMREG_ER,,');
|
||||
FOpCodeList.Add('vcvtpd2dq,1,1,1,YMMREG_MZ,ZMMREG,,');
|
||||
FOpCodeList.Add('vcvtpd2ps,1,1,1,XMMREG_MZ,MEM128,,');
|
||||
FOpCodeList.Add('vcvtpd2ps,1,1,1,XMMREG_MZ,MEM256,,');
|
||||
FOpCodeList.Add('vcvtpd2ps,1,1,1,XMMREG_MZ,XMMREG,,');
|
||||
@ -487,9 +496,11 @@ begin
|
||||
FOpCodeList.Add('vcvtsd2si,1,1,1,REG64,XMMREG_ER,,');
|
||||
FOpCodeList.Add('vcvtsd2ss,1,1,1,XMMREG_MZ,XMMREG,MEM64,');
|
||||
FOpCodeList.Add('vcvtsd2ss,1,1,1,XMMREG_MZ,XMMREG,XMMREG_ER,');
|
||||
FOpCodeList.Add('vcvtsi2sd,1,1,1,XMMREG,XMMREG_ER,REG32,');
|
||||
FOpCodeList.Add('vcvtsi2sd,1,1,1,XMMREG,XMMREG,REG32,');
|
||||
FOpCodeList.Add('vcvtsi2sd,1,1,1,XMMREG,XMMREG,MEM32,');
|
||||
FOpCodeList.Add('vcvtsi2sd,0,1,1,XMMREG,XMMREG_ER,REG64,');
|
||||
FOpCodeList.Add('vcvtsi2ss,1,1,1,XMMREG,XMMREG_ER,REG32,');
|
||||
FOpCodeList.Add('vcvtsi2sd,0,1,1,XMMREG,XMMREG,MEM64,');
|
||||
FOpCodeList.Add('vcvtsi2ss,1,1,1,XMMREG,XMMREG,REG32,');
|
||||
FOpCodeList.Add('vcvtsi2ss,0,1,1,XMMREG,XMMREG_ER,REG64,');
|
||||
FOpCodeList.Add('vcvtss2sd,1,1,1,XMMREG_MZ,XMMREG,MEM32,');
|
||||
FOpCodeList.Add('vcvtss2sd,1,1,1,XMMREG_MZ,XMMREG,XMMREG_SAE,');
|
||||
@ -1389,18 +1400,18 @@ begin
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,REG8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,REG32,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,REG64,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,REG16,,');
|
||||
//FOpCodeList.Add('vpbroadcastb,1,1,1,XMMREG_MZ,REG16,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,MEM8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,XMMREG,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,REG8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,REG32,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,REG64,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,REG16,,');
|
||||
//FOpCodeList.Add('vpbroadcastb,1,1,1,YMMREG_MZ,REG16,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,MEM8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,REG8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,REG32,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,REG64,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,REG16,,');
|
||||
//FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,REG16,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ZMMREG_MZ,XMMREG,,');
|
||||
FOpCodeList.Add('vpbroadcastd,1,1,1,XMMREG_MZ,MEM32,,');
|
||||
FOpCodeList.Add('vpbroadcastd,1,1,1,XMMREG_MZ,XMMREG,,');
|
||||
@ -1547,8 +1558,8 @@ begin
|
||||
FOpCodeList.Add('vfmadd213pd,1,1,0,YMMREG,YMMREG,YMMRM,');
|
||||
FOpCodeList.Add('vfmadd231pd,1,1,0,XMMREG,XMMREG,XMMRM,');
|
||||
FOpCodeList.Add('vfmadd231pd,1,1,0,YMMREG,YMMREG,YMMRM,');
|
||||
FOpCodeList.Add('vfmaddpd,1,1,0,XMMREG,XMMREG,XMMRM,XMMREG');
|
||||
FOpCodeList.Add('vfmaddpd,1,1,0,XMMREG,XMMREG,XMMREG,XMMRM');
|
||||
//FOpCodeList.Add('vfmaddpd,1,1,0,XMMREG,XMMREG,XMMRM,XMMREG');
|
||||
//FOpCodeList.Add('vfmaddpd,1,1,0,XMMREG,XMMREG,XMMREG,XMMRM');
|
||||
FOpCodeList.Add('vfmadd132ps,1,1,0,XMMREG,XMMREG,XMMRM,');
|
||||
FOpCodeList.Add('vfmadd132ps,1,1,0,YMMREG,YMMREG,YMMRM,');
|
||||
FOpCodeList.Add('vfmadd213ps,1,1,0,XMMREG,XMMREG,XMMRM,');
|
||||
@ -1888,7 +1899,7 @@ begin
|
||||
FOpCodeList.Add('vcvtudq2pd,1,1,1,ymmreg_mz,4b32,,');
|
||||
FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,mem256,,');
|
||||
FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,8b32,,');
|
||||
FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,ymmreg_er,,');
|
||||
FOpCodeList.Add('vcvtudq2pd,1,1,1,zmmreg_mz,ymmreg,,');
|
||||
FOpCodeList.Add('vcvtudq2ps,1,1,1,xmmreg_mz,xmmrm,,');
|
||||
FOpCodeList.Add('vcvtudq2ps,1,1,1,xmmreg_mz,4b32,,');
|
||||
FOpCodeList.Add('vcvtudq2ps,1,1,1,ymmreg_mz,ymmrm,,');
|
||||
@ -2439,24 +2450,6 @@ begin
|
||||
FOpCodeList.Add('vpblendmw,1,1,1,xmmreg_mz,xmmreg,xmmrm,');
|
||||
FOpCodeList.Add('vpblendmw,1,1,1,ymmreg_mz,ymmreg,ymmrm,');
|
||||
FOpCodeList.Add('vpblendmw,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,mem8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg16,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg32,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg64,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,reg8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,xmmreg_mz,xmmreg,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,mem8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg16,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg32,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg64,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,reg8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,ymmreg_mz,xmmreg,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,mem8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg16,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg32,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg64,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,reg8,,');
|
||||
FOpCodeList.Add('vpbroadcastb,1,1,1,zmmreg_mz,xmmreg,,');
|
||||
FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,mem32,,');
|
||||
FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,reg32,,');
|
||||
FOpCodeList.Add('vpbroadcastd,1,1,1,xmmreg_mz,xmmreg,,');
|
||||
@ -2481,21 +2474,6 @@ begin
|
||||
FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,mem64,,');
|
||||
FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,reg64,,');
|
||||
FOpCodeList.Add('vpbroadcastq,1,1,1,zmmreg_mz,xmmreg,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,mem16,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg16,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg32,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,reg64,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,xmmreg_mz,xmmreg,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,mem16,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg16,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg32,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,reg64,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,ymmreg_mz,xmmreg,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,mem16,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg16,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg32,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,reg64,,');
|
||||
FOpCodeList.Add('vpbroadcastw,1,1,1,zmmreg_mz,xmmreg,,');
|
||||
FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,xmmreg,xmmrm,imm8');
|
||||
FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,ymmreg,ymmrm,imm8');
|
||||
FOpCodeList.Add('vpcmpb,1,1,1,kreg_m,zmmreg,zmmrm,imm8');
|
||||
@ -3182,15 +3160,15 @@ begin
|
||||
FOpCodeList.Add('VPDPWSSDS,1,1,1,ymmreg_mz,ymmreg,8B32,');
|
||||
FOpCodeList.Add('VPDPWSSDS,1,1,1,zmmreg_mz,zmmreg,zmmrm,');
|
||||
FOpCodeList.Add('VPDPWSSDS,1,1,1,zmmreg_mz,zmmreg,16B32,');
|
||||
FOpCodeList.Add('VPEXPANDB,1,1,1,mem128_m,xmmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDB,1,1,1,mem256_m,ymmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDB,1,1,1,mem512_m,zmmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDB,1,1,1,xmmreg_mz,mem128,,');
|
||||
FOpCodeList.Add('VPEXPANDB,1,1,1,ymmreg_mz,mem256,,');
|
||||
FOpCodeList.Add('VPEXPANDB,1,1,1,zmmreg_mz,mem512,,');
|
||||
FOpCodeList.Add('VPEXPANDB,1,1,1,xmmreg_mz,xmmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDB,1,1,1,ymmreg_mz,ymmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDB,1,1,1,zmmreg_mz,zmmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDW,1,1,1,mem128_m,xmmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDW,1,1,1,mem256_m,ymmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDW,1,1,1,mem512_m,zmmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDW,1,1,1,xmmreg_mz,mem128,,');
|
||||
FOpCodeList.Add('VPEXPANDW,1,1,1,ymmreg_mz,mem256,,');
|
||||
FOpCodeList.Add('VPEXPANDW,1,1,1,zmmreg_mz,mem512,,');
|
||||
FOpCodeList.Add('VPEXPANDW,1,1,1,xmmreg_mz,xmmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDW,1,1,1,ymmreg_mz,ymmreg,,');
|
||||
FOpCodeList.Add('VPEXPANDW,1,1,1,zmmreg_mz,zmmreg,,');
|
||||
@ -3276,6 +3254,7 @@ function TAVXTestGenerator.InternalMakeTestFiles(aX64, aAVX512, aSAE: boolean; a
|
||||
var
|
||||
i: integer;
|
||||
sData: string;
|
||||
sDestFile: string;
|
||||
sl: TStringList;
|
||||
slAsm: TStringList;
|
||||
LastOpCode: String;
|
||||
@ -3316,20 +3295,6 @@ begin
|
||||
NewOpCode := ansilowercase(sl[0]);
|
||||
if NewOpCode <> '' then
|
||||
begin
|
||||
if NewOpCode <> LastOpCode then
|
||||
begin
|
||||
if LastOpCode <> '' then
|
||||
begin
|
||||
SaveFile(slAsm, LastOpCode, aDestPath, aFileExt, aHeaderList, aFooterList);
|
||||
writeln(format('%s%s%s', [aDestPath, LastOpCode, aFileExt]));
|
||||
|
||||
slAsm.Clear;
|
||||
LastOpCode := NewOpCode;
|
||||
end
|
||||
else LastOpCode := NewOpCode;
|
||||
end;
|
||||
|
||||
|
||||
if (not(aX64) and (sl[1] = '1')) or // i386
|
||||
(aX64 and (sl[2] = '1')) then // x86_64
|
||||
begin
|
||||
@ -3341,16 +3306,17 @@ begin
|
||||
slAsm.Add(' ' + sl[0]);
|
||||
end
|
||||
else TAsmTestGenerator.CalcTestData(aX64, aAVX512 and (sl[3] = '1'), aSAE, sl[0], sl[4], sl[5], sl[6], sl[7], slAsm);
|
||||
|
||||
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))]);
|
||||
|
||||
|
||||
SaveFile(slAsm, sDestFile, aDestPath, aFileExt, aHeaderList, aFooterList);
|
||||
writeln(format('%s%s%s', [aDestPath, sDestFile, aFileExt]));
|
||||
|
||||
slAsm.Clear;
|
||||
end;
|
||||
end;
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user