mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-26 22:50:59 +02:00
AVX512 support for MMRegister xmm16..31 and ymm16..31, zmm0..31, vpaddsb support AVX512
git-svn-id: branches/tg74/avx512@39196 -
This commit is contained in:
parent
a014ddf3f0
commit
31e4d4ef5e
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86ins.dat }
|
||||
2117;
|
||||
2118;
|
||||
|
@ -11358,14 +11358,21 @@
|
||||
opcode : A_VPADDSB;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
|
||||
code : #241#242#248#1#236#61#80;
|
||||
code : #232#241#242#248#1#236#61#80;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPADDSB;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
|
||||
code : #241#242#244#248#1#236#61#80;
|
||||
code : #232#241#242#244#248#1#236#61#80;
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPADDSB;
|
||||
ops : 3;
|
||||
optypes : (ot_zmmreg,ot_zmmreg,ot_zmmrm,ot_none);
|
||||
code : #232#233#241#248#1#236#61#80;
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
|
@ -88,4 +88,12 @@
|
||||
88,
|
||||
89,
|
||||
36,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97,
|
||||
0
|
||||
|
@ -88,4 +88,12 @@
|
||||
'%ymm4',
|
||||
'%ymm5',
|
||||
'%ymm6',
|
||||
'%ymm7'
|
||||
'%ymm7',
|
||||
'%zmm0',
|
||||
'%zmm1',
|
||||
'%zmm2',
|
||||
'%zmm3',
|
||||
'%zmm4',
|
||||
'%zmm5',
|
||||
'%zmm6',
|
||||
'%zmm7'
|
||||
|
@ -89,3 +89,11 @@ NR_YMM4 = tregister($040D0004);
|
||||
NR_YMM5 = tregister($040D0005);
|
||||
NR_YMM6 = tregister($040D0006);
|
||||
NR_YMM7 = tregister($040D0007);
|
||||
NR_ZMM0 = tregister($040E0000);
|
||||
NR_ZMM1 = tregister($040E0001);
|
||||
NR_ZMM2 = tregister($040E0002);
|
||||
NR_ZMM3 = tregister($040E0003);
|
||||
NR_ZMM4 = tregister($040E0004);
|
||||
NR_ZMM5 = tregister($040E0005);
|
||||
NR_ZMM6 = tregister($040E0006);
|
||||
NR_ZMM7 = tregister($040E0007);
|
||||
|
@ -88,4 +88,12 @@
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28
|
||||
|
@ -88,4 +88,12 @@
|
||||
'ymm4',
|
||||
'ymm5',
|
||||
'ymm6',
|
||||
'ymm7'
|
||||
'ymm7',
|
||||
'zmm0',
|
||||
'zmm1',
|
||||
'zmm2',
|
||||
'zmm3',
|
||||
'zmm4',
|
||||
'zmm5',
|
||||
'zmm6',
|
||||
'zmm7'
|
||||
|
@ -88,4 +88,12 @@
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
36
|
||||
36,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97
|
||||
|
@ -88,4 +88,12 @@
|
||||
'ymm4',
|
||||
'ymm5',
|
||||
'ymm6',
|
||||
'ymm7'
|
||||
'ymm7',
|
||||
'zmm0',
|
||||
'zmm1',
|
||||
'zmm2',
|
||||
'zmm3',
|
||||
'zmm4',
|
||||
'zmm5',
|
||||
'zmm6',
|
||||
'zmm7'
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86reg.dat }
|
||||
90
|
||||
98
|
||||
|
@ -88,4 +88,12 @@
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
36
|
||||
36,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97
|
||||
|
@ -88,4 +88,12 @@ tregister($040D0003),
|
||||
tregister($040D0004),
|
||||
tregister($040D0005),
|
||||
tregister($040D0006),
|
||||
tregister($040D0007)
|
||||
tregister($040D0007),
|
||||
tregister($040E0000),
|
||||
tregister($040E0001),
|
||||
tregister($040E0002),
|
||||
tregister($040E0003),
|
||||
tregister($040E0004),
|
||||
tregister($040E0005),
|
||||
tregister($040E0006),
|
||||
tregister($040E0007)
|
||||
|
@ -88,4 +88,12 @@ OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG
|
||||
OT_YMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG
|
||||
|
@ -57,6 +57,14 @@
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
|
@ -88,4 +88,12 @@
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
36
|
||||
36,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97
|
||||
|
@ -88,4 +88,12 @@
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28
|
||||
|
@ -88,4 +88,12 @@
|
||||
'ymm4',
|
||||
'ymm5',
|
||||
'ymm6',
|
||||
'ymm7'
|
||||
'ymm7',
|
||||
'zmm0',
|
||||
'zmm1',
|
||||
'zmm2',
|
||||
'zmm3',
|
||||
'zmm4',
|
||||
'zmm5',
|
||||
'zmm6',
|
||||
'zmm7'
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86ins.dat }
|
||||
2149;
|
||||
2150;
|
||||
|
@ -11386,14 +11386,21 @@
|
||||
opcode : A_VPADDSB;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
|
||||
code : #241#242#248#1#236#61#80;
|
||||
code : #232#241#242#248#1#236#61#80;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPADDSB;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
|
||||
code : #241#242#244#248#1#236#61#80;
|
||||
code : #232#241#242#244#248#1#236#61#80;
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPADDSB;
|
||||
ops : 3;
|
||||
optypes : (ot_zmmreg,ot_zmmreg,ot_zmmrm,ot_none);
|
||||
code : #232#233#241#248#1#236#61#80;
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
|
@ -88,4 +88,12 @@
|
||||
88,
|
||||
89,
|
||||
36,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97,
|
||||
0
|
||||
|
@ -88,4 +88,12 @@
|
||||
'%ymm4',
|
||||
'%ymm5',
|
||||
'%ymm6',
|
||||
'%ymm7'
|
||||
'%ymm7',
|
||||
'%zmm0',
|
||||
'%zmm1',
|
||||
'%zmm2',
|
||||
'%zmm3',
|
||||
'%zmm4',
|
||||
'%zmm5',
|
||||
'%zmm6',
|
||||
'%zmm7'
|
||||
|
@ -89,3 +89,11 @@ NR_YMM4 = tregister($040D0004);
|
||||
NR_YMM5 = tregister($040D0005);
|
||||
NR_YMM6 = tregister($040D0006);
|
||||
NR_YMM7 = tregister($040D0007);
|
||||
NR_ZMM0 = tregister($040E0000);
|
||||
NR_ZMM1 = tregister($040E0001);
|
||||
NR_ZMM2 = tregister($040E0002);
|
||||
NR_ZMM3 = tregister($040E0003);
|
||||
NR_ZMM4 = tregister($040E0004);
|
||||
NR_ZMM5 = tregister($040E0005);
|
||||
NR_ZMM6 = tregister($040E0006);
|
||||
NR_ZMM7 = tregister($040E0007);
|
||||
|
@ -88,4 +88,12 @@
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28
|
||||
|
@ -88,4 +88,12 @@
|
||||
'ymm4',
|
||||
'ymm5',
|
||||
'ymm6',
|
||||
'ymm7'
|
||||
'ymm7',
|
||||
'zmm0',
|
||||
'zmm1',
|
||||
'zmm2',
|
||||
'zmm3',
|
||||
'zmm4',
|
||||
'zmm5',
|
||||
'zmm6',
|
||||
'zmm7'
|
||||
|
@ -88,4 +88,12 @@
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
36
|
||||
36,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97
|
||||
|
@ -88,4 +88,12 @@
|
||||
'ymm4',
|
||||
'ymm5',
|
||||
'ymm6',
|
||||
'ymm7'
|
||||
'ymm7',
|
||||
'zmm0',
|
||||
'zmm1',
|
||||
'zmm2',
|
||||
'zmm3',
|
||||
'zmm4',
|
||||
'zmm5',
|
||||
'zmm6',
|
||||
'zmm7'
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86reg.dat }
|
||||
90
|
||||
98
|
||||
|
@ -88,4 +88,12 @@
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
36
|
||||
36,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97
|
||||
|
@ -88,4 +88,12 @@ tregister($040D0003),
|
||||
tregister($040D0004),
|
||||
tregister($040D0005),
|
||||
tregister($040D0006),
|
||||
tregister($040D0007)
|
||||
tregister($040D0007),
|
||||
tregister($040E0000),
|
||||
tregister($040E0001),
|
||||
tregister($040E0002),
|
||||
tregister($040E0003),
|
||||
tregister($040E0004),
|
||||
tregister($040E0005),
|
||||
tregister($040E0006),
|
||||
tregister($040E0007)
|
||||
|
@ -88,4 +88,12 @@ OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG
|
||||
OT_YMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG
|
||||
|
@ -57,6 +57,14 @@
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
|
@ -88,4 +88,12 @@
|
||||
87,
|
||||
88,
|
||||
89,
|
||||
36
|
||||
36,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
93,
|
||||
94,
|
||||
95,
|
||||
96,
|
||||
97
|
||||
|
@ -88,4 +88,12 @@
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28
|
||||
|
@ -88,4 +88,12 @@
|
||||
'ymm4',
|
||||
'ymm5',
|
||||
'ymm6',
|
||||
'ymm7'
|
||||
'ymm7',
|
||||
'zmm0',
|
||||
'zmm1',
|
||||
'zmm2',
|
||||
'zmm3',
|
||||
'zmm4',
|
||||
'zmm5',
|
||||
'zmm6',
|
||||
'zmm7'
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0"?>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="9"/>
|
||||
@ -19,14 +19,14 @@
|
||||
</BuildModes>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<DestinationDirectory Value="$(TestDir)\publishedproject\"/>
|
||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
<CommandLineParams Value="\home\torsten\tmp\test.pp"/>
|
||||
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<Units Count="2">
|
||||
|
@ -57,7 +57,7 @@ var
|
||||
|
||||
function formatop(s:string;allowsizeonly:boolean):string;
|
||||
const
|
||||
replaces=28;
|
||||
replaces=29;
|
||||
replacetab : array[1..replaces,1..2] of string[32]=(
|
||||
(':',' or ot_colon'),
|
||||
('reg','regnorm'),
|
||||
@ -73,6 +73,7 @@ function formatop(s:string;allowsizeonly:boolean):string;
|
||||
('mem64','memory or ot_bits64'),
|
||||
('mem128','memory or ot_bits128'),
|
||||
('mem256','memory or ot_bits256'),
|
||||
('mem512','memory or ot_bits512'),
|
||||
('mem80','memory or ot_bits80'),
|
||||
('mem','memory'),
|
||||
('memory_offs','mem_offs'),
|
||||
@ -282,6 +283,7 @@ begin
|
||||
begin
|
||||
{ handle comment }
|
||||
readln(infile,s);
|
||||
|
||||
while (s[1]=' ') do
|
||||
delete(s,1,1);
|
||||
if (s='') or (s[1]=';') then
|
||||
|
@ -17,7 +17,7 @@
|
||||
program mkx86reg;
|
||||
|
||||
const Version = '1.00';
|
||||
max_regcount = 200;
|
||||
max_regcount = 255;
|
||||
|
||||
var s : string;
|
||||
i : longint;
|
||||
@ -246,7 +246,7 @@ var infile:text;
|
||||
|
||||
begin
|
||||
{ open dat file }
|
||||
assign(infile,'x86reg.dat');
|
||||
assign(infile,'../x86/x86reg.dat');
|
||||
reset(infile);
|
||||
while not(eof(infile)) do
|
||||
begin
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -386,6 +386,7 @@ implementation
|
||||
writer.AsmWrite('word ptr ');
|
||||
S_XMM: writer.AsmWrite('xmmword ptr ');
|
||||
S_YMM: writer.AsmWrite('ymmword ptr ');
|
||||
S_ZMM: writer.AsmWrite('zmmword ptr ');
|
||||
{$ifdef x86_64}
|
||||
S_BQ : if dest then
|
||||
writer.AsmWrite('qword ptr ')
|
||||
|
@ -589,8 +589,18 @@ implementation
|
||||
{ for the name the sub reg doesn't matter }
|
||||
hr:=r;
|
||||
if (getregtype(hr)=R_MMREGISTER) and
|
||||
(getsubreg(hr)<>R_SUBMMY) then
|
||||
(getsubreg(hr)<>R_SUBMMY) and
|
||||
(getsubreg(hr)<>R_SUBMMZ) then
|
||||
setsubreg(hr,R_SUBMMX);
|
||||
|
||||
//// TG TODO check
|
||||
//if (getregtype(hr)=R_MMREGISTER) then
|
||||
// case getsubreg(hr) of
|
||||
// R_SUBMMX: setsubreg(hr,R_SUBMMX);
|
||||
// R_SUBMMY: setsubreg(hr,R_SUBMMY);
|
||||
// R_SUBMMZ: setsubreg(hr,R_SUBMMZ);
|
||||
// else setsubreg(hr,R_SUBMMX);
|
||||
// end;
|
||||
result:=findreg_by_number_table(hr,regnumber_index);
|
||||
end;
|
||||
|
||||
|
@ -195,6 +195,7 @@ begin
|
||||
case _size of
|
||||
16: size := OS_M128;
|
||||
32: size := OS_M256;
|
||||
64: size := OS_M512;
|
||||
end;
|
||||
|
||||
{$ifdef i8086}
|
||||
@ -420,6 +421,7 @@ begin
|
||||
S_Q : memrefsize := 64;
|
||||
S_XMM : memrefsize := 128;
|
||||
S_YMM : memrefsize := 256;
|
||||
S_ZMM : memrefsize := 512;
|
||||
else Internalerror(777200);
|
||||
end;
|
||||
break;
|
||||
@ -579,6 +581,21 @@ begin
|
||||
|
||||
Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"256 bit memory operand"');
|
||||
end;
|
||||
msiMem512:
|
||||
begin
|
||||
tx86operand(operands[i]).opsize := S_ZMM;
|
||||
tx86operand(operands[i]).size := OS_M512;
|
||||
opsize := S_ZMM;
|
||||
end;
|
||||
msiMultiple512:
|
||||
begin
|
||||
tx86operand(operands[i]).opsize := S_ZMM;
|
||||
tx86operand(operands[i]).size := OS_M512;
|
||||
opsize := S_ZMM;
|
||||
|
||||
Message2(asmr_w_check_mem_operand_automap_multiple_size, std_op2str[opcode], '"512 bit memory operand"');
|
||||
end;
|
||||
|
||||
msiMemRegSize:
|
||||
begin
|
||||
// mem-ref-size = register size
|
||||
@ -750,7 +767,9 @@ begin
|
||||
// in this case is we need the old handling ("S_NO")
|
||||
// =>> ignore
|
||||
if (tx86operand(operands[operand2]).opsize <> S_XMM) and
|
||||
(tx86operand(operands[operand2]).opsize <> S_YMM) then
|
||||
(tx86operand(operands[operand2]).opsize <> S_YMM) and
|
||||
(tx86operand(operands[operand2]).opsize <> S_ZMM) then
|
||||
|
||||
tx86operand(operands[i]).opsize:=tx86operand(operands[operand2]).opsize
|
||||
else tx86operand(operands[operand2]).opsize := S_NO;
|
||||
end;
|
||||
|
@ -43,7 +43,7 @@ Unit Rax86int;
|
||||
{------------------ Assembler directives --------------------}
|
||||
AS_ALIGN,AS_DB,AS_DW,AS_DD,AS_DQ,AS_PUBLIC,AS_END,
|
||||
{------------------ Assembler Operators --------------------}
|
||||
AS_BYTE,AS_WORD,AS_DWORD,AS_QWORD,AS_TBYTE,AS_DQWORD,AS_OWORD,AS_XMMWORD,AS_YWORD,AS_YMMWORD,AS_NEAR,AS_FAR,
|
||||
AS_BYTE,AS_WORD,AS_DWORD,AS_QWORD,AS_TBYTE,AS_DQWORD,AS_OWORD,AS_XMMWORD,AS_YWORD,AS_YMMWORD,AS_ZWORD,AS_ZMMWORD,AS_NEAR,AS_FAR,
|
||||
AS_HIGH,AS_LOW,AS_OFFSET,AS_SIZEOF,AS_VMTOFFSET,AS_SEG,AS_TYPE,AS_PTR,AS_MOD,AS_SHL,AS_SHR,AS_NOT,
|
||||
AS_AND,AS_OR,AS_XOR,AS_WRT,AS___GOTPCREL,AS_TARGET_DIRECTIVE);
|
||||
|
||||
@ -143,7 +143,7 @@ Unit Rax86int;
|
||||
{ problems with shl,shr,not,and,or and xor, they are }
|
||||
{ context sensitive. }
|
||||
_asmoperators : array[firstoperator..lastoperator] of tasmkeyword = (
|
||||
'BYTE','WORD','DWORD','QWORD','TBYTE','DQWORD','OWORD','XMMWORD','YWORD','YMMWORD','NEAR','FAR','HIGH',
|
||||
'BYTE','WORD','DWORD','QWORD','TBYTE','DQWORD','OWORD','XMMWORD','YWORD','YMMWORD','ZWORD','ZMMWORD','NEAR','FAR','HIGH',
|
||||
'LOW','OFFSET','SIZEOF','VMTOFFSET','SEG','TYPE','PTR','MOD','SHL','SHR','NOT','AND',
|
||||
'OR','XOR','WRT','GOTPCREL');
|
||||
|
||||
@ -153,11 +153,12 @@ Unit Rax86int;
|
||||
')',':','.','+','-','*',
|
||||
';','identifier','register','opcode','/',
|
||||
'','','','','','','END',
|
||||
'','','','','','','','','','','','',
|
||||
'','','','','','','','','','','','','','',
|
||||
'','','','sizeof','vmtoffset','','type','ptr','mod','shl','shr','not',
|
||||
'and','or','xor','wrt','..gotpcrel',''
|
||||
);
|
||||
|
||||
|
||||
constructor tx86intreader.create;
|
||||
var
|
||||
i : tasmop;
|
||||
@ -261,6 +262,15 @@ Unit Rax86int;
|
||||
begin
|
||||
is_register:=true;
|
||||
actasmtoken:=AS_REGISTER;
|
||||
|
||||
//TG TODO CHECK
|
||||
if getregtype(actasmregister) = R_MMREGISTER then
|
||||
begin
|
||||
// actasmpattern:=actasmpattern + c;
|
||||
// c:=current_scanner.asmgetchar;
|
||||
end;
|
||||
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -1012,7 +1022,7 @@ Unit Rax86int;
|
||||
while (actasmtoken=AS_DOT) do
|
||||
begin
|
||||
Consume(AS_DOT);
|
||||
if actasmtoken in [AS_BYTE,AS_ID,AS_WORD,AS_DWORD,AS_QWORD,AS_OWORD,AS_XMMWORD,AS_YWORD,AS_YMMWORD,AS_REGISTER] then
|
||||
if actasmtoken in [AS_BYTE,AS_ID,AS_WORD,AS_DWORD,AS_QWORD,AS_OWORD,AS_XMMWORD,AS_YWORD,AS_YMMWORD,AS_ZWORD,AS_ZMMWORD,AS_REGISTER] then
|
||||
begin
|
||||
s:=s+'.'+actasmpattern;
|
||||
consume(actasmtoken);
|
||||
@ -2363,7 +2373,10 @@ Unit Rax86int;
|
||||
AS_OWORD,
|
||||
AS_XMMWORD,
|
||||
AS_YWORD,
|
||||
AS_YMMWORD:
|
||||
AS_YMMWORD,
|
||||
AS_ZWORD,
|
||||
AS_ZMMWORD
|
||||
:
|
||||
begin
|
||||
{ Type specifier }
|
||||
oper.hastype:=true;
|
||||
@ -2379,6 +2392,8 @@ Unit Rax86int;
|
||||
AS_XMMWORD: oper.typesize:=16;
|
||||
AS_YWORD,
|
||||
AS_YMMWORD: oper.typesize:=32;
|
||||
AS_ZWORD,
|
||||
AS_ZMMWORD: oper.typesize:=64;
|
||||
else
|
||||
internalerror(2010061101);
|
||||
end;
|
||||
|
@ -4513,8 +4513,9 @@ ymmreg,ymmreg,ymmrm \361\362\364\370\1\xD4\75\120 AVX2
|
||||
|
||||
[VPADDSB]
|
||||
(Ch_Rop1, Ch_Rop2, Ch_Wop3)
|
||||
xmmreg,xmmreg,xmmrm \361\362\370\1\xEC\75\120 AVX,SANDYBRIDGE
|
||||
ymmreg,ymmreg,ymmrm \361\362\364\370\1\xEC\75\120 AVX2
|
||||
xmmreg,xmmreg,xmmrm \350\361\362\370\1\xEC\75\120 AVX,SANDYBRIDGE
|
||||
ymmreg,ymmreg,ymmrm \350\361\362\364\370\1\xEC\75\120 AVX2
|
||||
zmmreg,zmmreg,zmmrm \350\351\361\370\1\xEC\75\120 AVX2
|
||||
|
||||
[VPADDSW]
|
||||
(Ch_Rop1, Ch_Rop2, Ch_Wop3)
|
||||
|
@ -159,6 +159,23 @@ NR_XMM12,$040C000c,xmm12,%xmm12,xmm12,xmm12,-1,-1,29,OT_XMMREG,4,64
|
||||
NR_XMM13,$040C000d,xmm13,%xmm13,xmm13,xmm13,-1,-1,30,OT_XMMREG,5,64
|
||||
NR_XMM14,$040C000e,xmm14,%xmm14,xmm14,xmm14,-1,-1,31,OT_XMMREG,6,64
|
||||
NR_XMM15,$040C000f,xmm15,%xmm15,xmm15,xmm15,-1,-1,32,OT_XMMREG,7,64
|
||||
NR_XMM16,$040C0010,xmm16,%xmm16,xmm16,xmm16,-1,-1,33,OT_XMMREG,0,64
|
||||
NR_XMM17,$040C0011,xmm17,%xmm17,xmm17,xmm17,-1,-1,34,OT_XMMREG,1,64
|
||||
NR_XMM18,$040C0012,xmm18,%xmm18,xmm18,xmm18,-1,-1,35,OT_XMMREG,2,64
|
||||
NR_XMM19,$040C0013,xmm19,%xmm19,xmm19,xmm19,-1,-1,36,OT_XMMREG,3,64
|
||||
NR_XMM20,$040C0014,xmm20,%xmm20,xmm20,xmm20,-1,-1,37,OT_XMMREG,4,64
|
||||
NR_XMM21,$040C0015,xmm21,%xmm21,xmm21,xmm21,-1,-1,38,OT_XMMREG,5,64
|
||||
NR_XMM22,$040C0016,xmm22,%xmm22,xmm22,xmm22,-1,-1,39,OT_XMMREG,6,64
|
||||
NR_XMM23,$040C0017,xmm23,%xmm23,xmm23,xmm23,-1,-1,40,OT_XMMREG,7,64
|
||||
NR_XMM24,$040C0018,xmm24,%xmm24,xmm24,xmm24,-1,-1,41,OT_XMMREG,0,64
|
||||
NR_XMM25,$040C0019,xmm25,%xmm25,xmm25,xmm25,-1,-1,42,OT_XMMREG,1,64
|
||||
NR_XMM26,$040C001A,xmm26,%xmm26,xmm26,xmm26,-1,-1,43,OT_XMMREG,2,64
|
||||
NR_XMM27,$040C001B,xmm27,%xmm27,xmm27,xmm27,-1,-1,44,OT_XMMREG,3,64
|
||||
NR_XMM28,$040C001C,xmm28,%xmm28,xmm28,xmm28,-1,-1,45,OT_XMMREG,4,64
|
||||
NR_XMM29,$040C001D,xmm29,%xmm29,xmm29,xmm29,-1,-1,46,OT_XMMREG,5,64
|
||||
NR_XMM30,$040C001E,xmm30,%xmm30,xmm30,xmm30,-1,-1,47,OT_XMMREG,6,64
|
||||
NR_XMM31,$040C001F,xmm31,%xmm31,xmm31,xmm31,-1,-1,48,OT_XMMREG,7,64
|
||||
|
||||
|
||||
NR_YMM0,$040D0000,ymm0,%ymm0,ymm0,ymm0,21,21,17,OT_YMMREG,0
|
||||
NR_YMM1,$040D0001,ymm1,%ymm1,ymm1,ymm1,22,22,18,OT_YMMREG,1
|
||||
@ -176,3 +193,54 @@ NR_YMM12,$040D000c,ymm12,%ymm12,ymm12,ymm12,-1,-1,29,OT_YMMREG,4,64
|
||||
NR_YMM13,$040D000d,ymm13,%ymm13,ymm13,ymm13,-1,-1,30,OT_YMMREG,5,64
|
||||
NR_YMM14,$040D000e,ymm14,%ymm14,ymm14,ymm14,-1,-1,31,OT_YMMREG,6,64
|
||||
NR_YMM15,$040D000f,ymm15,%ymm15,ymm15,ymm15,-1,-1,32,OT_YMMREG,7,64
|
||||
NR_YMM16,$040D0010,ymm16,%ymm16,ymm16,ymm16,-1,-1,33,OT_YMMREG,0,64
|
||||
NR_YMM17,$040D0011,ymm17,%ymm17,ymm17,ymm17,-1,-1,34,OT_YMMREG,1,64
|
||||
NR_YMM18,$040D0012,ymm18,%ymm18,ymm18,ymm18,-1,-1,35,OT_YMMREG,2,64
|
||||
NR_YMM19,$040D0013,ymm19,%ymm19,ymm19,ymm19,-1,-1,36,OT_YMMREG,3,64
|
||||
NR_YMM20,$040D0014,ymm20,%ymm20,ymm20,ymm20,-1,-1,37,OT_YMMREG,4,64
|
||||
NR_YMM21,$040D0015,ymm21,%ymm21,ymm21,ymm21,-1,-1,38,OT_YMMREG,5,64
|
||||
NR_YMM22,$040D0016,ymm22,%ymm22,ymm22,ymm22,-1,-1,39,OT_YMMREG,6,64
|
||||
NR_YMM23,$040D0017,ymm23,%ymm23,ymm23,ymm23,-1,-1,40,OT_YMMREG,7,64
|
||||
NR_YMM24,$040D0018,ymm24,%ymm24,ymm24,ymm24,-1,-1,41,OT_YMMREG,0,64
|
||||
NR_YMM25,$040D0019,ymm25,%ymm25,ymm25,ymm25,-1,-1,42,OT_YMMREG,1,64
|
||||
NR_YMM26,$040D001a,ymm26,%ymm26,ymm26,ymm26,-1,-1,43,OT_YMMREG,2,64
|
||||
NR_YMM27,$040D001b,ymm27,%ymm27,ymm27,ymm27,-1,-1,44,OT_YMMREG,3,64
|
||||
NR_YMM28,$040D001c,ymm28,%ymm28,ymm28,ymm28,-1,-1,45,OT_YMMREG,4,64
|
||||
NR_YMM29,$040D001d,ymm29,%ymm29,ymm29,ymm29,-1,-1,46,OT_YMMREG,5,64
|
||||
NR_YMM30,$040D001e,ymm30,%ymm30,ymm30,ymm30,-1,-1,47,OT_YMMREG,6,64
|
||||
NR_YMM31,$040D001f,ymm31,%ymm31,ymm31,ymm31,-1,-1,48,OT_YMMREG,7,64
|
||||
|
||||
|
||||
NR_ZMM0,$040E0000,zmm0,%zmm0,zmm0,zmm0,21,21,17,OT_ZMMREG,0
|
||||
NR_ZMM1,$040E0001,zmm1,%zmm1,zmm1,zmm1,22,22,18,OT_ZMMREG,1
|
||||
NR_ZMM2,$040E0002,zmm2,%zmm2,zmm2,zmm2,23,23,19,OT_ZMMREG,2
|
||||
NR_ZMM3,$040E0003,zmm3,%zmm3,zmm3,zmm3,24,24,20,OT_ZMMREG,3
|
||||
NR_ZMM4,$040E0004,zmm4,%zmm4,zmm4,zmm4,25,25,21,OT_ZMMREG,4
|
||||
NR_ZMM5,$040E0005,zmm5,%zmm5,zmm5,zmm5,26,26,22,OT_ZMMREG,5
|
||||
NR_ZMM6,$040E0006,zmm6,%zmm6,zmm6,zmm6,27,27,23,OT_ZMMREG,6
|
||||
NR_ZMM7,$040E0007,zmm7,%zmm7,zmm7,zmm7,28,28,24,OT_ZMMREG,7
|
||||
NR_ZMM8,$040E0008,zmm8,%zmm8,zmm8,zmm8,-1,-1,25,OT_ZMMREG,0,64
|
||||
NR_ZMM9,$040E0009,zmm9,%zmm9,zmm9,zmm9,-1,-1,26,OT_ZMMREG,1,64
|
||||
NR_ZMM10,$040E000A,zmm10,%zmm10,zmm10,zmm10,-1,-1,27,OT_ZMMREG,2,64
|
||||
NR_ZMM11,$040E000B,zmm11,%zmm11,zmm11,zmm11,-1,-1,28,OT_ZMMREG,3,64
|
||||
NR_ZMM12,$040E000C,zmm12,%zmm12,zmm12,zmm12,-1,-1,29,OT_ZMMREG,4,64
|
||||
NR_ZMM13,$040E000D,zmm13,%zmm13,zmm13,zmm13,-1,-1,30,OT_ZMMREG,5,64
|
||||
NR_ZMM14,$040E000E,zmm14,%zmm14,zmm14,zmm14,-1,-1,31,OT_ZMMREG,6.64
|
||||
NR_ZMM15,$040E000F,zmm15,%zmm15,zmm15,zmm15,-1,-1,32,OT_ZMMREG,7,64
|
||||
NR_ZMM16,$040E0010,zmm16,%zmm16,zmm16,zmm16,-1,-1,33,OT_ZMMREG,0,64
|
||||
NR_ZMM17,$040E0011,zmm17,%zmm17,zmm17,zmm17,-1,-1,34,OT_ZMMREG,1,64
|
||||
NR_ZMM18,$040E0012,zmm18,%zmm18,zmm18,zmm18,-1,-1,35,OT_ZMMREG,2,64
|
||||
NR_ZMM19,$040E0013,zmm19,%zmm19,zmm19,zmm19,-1,-1,36,OT_ZMMREG,3,64
|
||||
NR_ZMM20,$040E0014,zmm20,%zmm20,zmm20,zmm20,-1,-1,37,OT_ZMMREG,4,64
|
||||
NR_ZMM21,$040E0015,zmm21,%zmm21,zmm21,zmm21,-1,-1,38,OT_ZMMREG,5,64
|
||||
NR_ZMM22,$040E0016,zmm22,%zmm22,zmm22,zmm22,-1,-1,39,OT_ZMMREG,6,64
|
||||
NR_ZMM23,$040E0017,zmm23,%zmm23,zmm23,zmm23,-1,-1,40,OT_ZMMREG,7,64
|
||||
NR_ZMM24,$040E0018,zmm24,%zmm24,zmm24,zmm24,-1,-1,41,OT_ZMMREG,0,64
|
||||
NR_ZMM25,$040E0019,zmm25,%zmm25,zmm25,zmm25,-1,-1,42,OT_ZMMREG,1,64
|
||||
NR_ZMM26,$040E001A,zmm26,%zmm26,zmm26,zmm26,-1,-1,43,OT_ZMMREG,2,64
|
||||
NR_ZMM27,$040E001B,zmm27,%zmm27,zmm27,zmm27,-1,-1,44,OT_ZMMREG,3,64
|
||||
NR_ZMM28,$040E001C,zmm28,%zmm28,zmm28,zmm28,-1,-1,45,OT_ZMMREG,4,64
|
||||
NR_ZMM29,$040E001D,zmm29,%zmm29,zmm29,zmm29,-1,-1,46,OT_ZMMREG,5,64
|
||||
NR_ZMM30,$040E001E,zmm30,%zmm30,zmm30,zmm30,-1,-1,47,OT_ZMMREG,6,64
|
||||
NR_ZMM31,$040E001F,zmm31,%zmm31,zmm31,zmm31,-1,-1,48,OT_ZMMREG,7,64
|
||||
|
||||
|
@ -125,29 +125,93 @@
|
||||
133,
|
||||
134,
|
||||
135,
|
||||
122,
|
||||
123,
|
||||
124,
|
||||
125,
|
||||
126,
|
||||
127,
|
||||
128,
|
||||
129,
|
||||
136,
|
||||
137,
|
||||
146,
|
||||
147,
|
||||
148,
|
||||
149,
|
||||
150,
|
||||
151,
|
||||
138,
|
||||
139,
|
||||
122,
|
||||
140,
|
||||
141,
|
||||
142,
|
||||
143,
|
||||
144,
|
||||
145,
|
||||
146,
|
||||
147,
|
||||
148,
|
||||
149,
|
||||
123,
|
||||
150,
|
||||
151,
|
||||
124,
|
||||
125,
|
||||
126,
|
||||
127,
|
||||
128,
|
||||
129,
|
||||
152,
|
||||
153,
|
||||
162,
|
||||
163,
|
||||
164,
|
||||
165,
|
||||
166,
|
||||
167,
|
||||
168,
|
||||
169,
|
||||
170,
|
||||
171,
|
||||
154,
|
||||
172,
|
||||
173,
|
||||
174,
|
||||
175,
|
||||
176,
|
||||
177,
|
||||
178,
|
||||
179,
|
||||
180,
|
||||
181,
|
||||
155,
|
||||
182,
|
||||
183,
|
||||
156,
|
||||
157,
|
||||
158,
|
||||
159,
|
||||
160,
|
||||
161,
|
||||
81,
|
||||
184,
|
||||
185,
|
||||
194,
|
||||
195,
|
||||
196,
|
||||
197,
|
||||
198,
|
||||
199,
|
||||
200,
|
||||
201,
|
||||
202,
|
||||
203,
|
||||
186,
|
||||
204,
|
||||
205,
|
||||
206,
|
||||
207,
|
||||
208,
|
||||
209,
|
||||
210,
|
||||
211,
|
||||
212,
|
||||
213,
|
||||
187,
|
||||
214,
|
||||
215,
|
||||
188,
|
||||
189,
|
||||
190,
|
||||
191,
|
||||
192,
|
||||
193,
|
||||
0
|
||||
|
@ -135,6 +135,22 @@
|
||||
'%xmm13',
|
||||
'%xmm14',
|
||||
'%xmm15',
|
||||
'%xmm16',
|
||||
'%xmm17',
|
||||
'%xmm18',
|
||||
'%xmm19',
|
||||
'%xmm20',
|
||||
'%xmm21',
|
||||
'%xmm22',
|
||||
'%xmm23',
|
||||
'%xmm24',
|
||||
'%xmm25',
|
||||
'%xmm26',
|
||||
'%xmm27',
|
||||
'%xmm28',
|
||||
'%xmm29',
|
||||
'%xmm30',
|
||||
'%xmm31',
|
||||
'%ymm0',
|
||||
'%ymm1',
|
||||
'%ymm2',
|
||||
@ -150,4 +166,52 @@
|
||||
'%ymm12',
|
||||
'%ymm13',
|
||||
'%ymm14',
|
||||
'%ymm15'
|
||||
'%ymm15',
|
||||
'%ymm16',
|
||||
'%ymm17',
|
||||
'%ymm18',
|
||||
'%ymm19',
|
||||
'%ymm20',
|
||||
'%ymm21',
|
||||
'%ymm22',
|
||||
'%ymm23',
|
||||
'%ymm24',
|
||||
'%ymm25',
|
||||
'%ymm26',
|
||||
'%ymm27',
|
||||
'%ymm28',
|
||||
'%ymm29',
|
||||
'%ymm30',
|
||||
'%ymm31',
|
||||
'%zmm0',
|
||||
'%zmm1',
|
||||
'%zmm2',
|
||||
'%zmm3',
|
||||
'%zmm4',
|
||||
'%zmm5',
|
||||
'%zmm6',
|
||||
'%zmm7',
|
||||
'%zmm8',
|
||||
'%zmm9',
|
||||
'%zmm10',
|
||||
'%zmm11',
|
||||
'%zmm12',
|
||||
'%zmm13',
|
||||
'%zmm14',
|
||||
'%zmm15',
|
||||
'%zmm16',
|
||||
'%zmm17',
|
||||
'%zmm18',
|
||||
'%zmm19',
|
||||
'%zmm20',
|
||||
'%zmm21',
|
||||
'%zmm22',
|
||||
'%zmm23',
|
||||
'%zmm24',
|
||||
'%zmm25',
|
||||
'%zmm26',
|
||||
'%zmm27',
|
||||
'%zmm28',
|
||||
'%zmm29',
|
||||
'%zmm30',
|
||||
'%zmm31'
|
||||
|
@ -135,6 +135,22 @@ NR_XMM12 = tregister($040C000c);
|
||||
NR_XMM13 = tregister($040C000d);
|
||||
NR_XMM14 = tregister($040C000e);
|
||||
NR_XMM15 = tregister($040C000f);
|
||||
NR_XMM16 = tregister($040C0010);
|
||||
NR_XMM17 = tregister($040C0011);
|
||||
NR_XMM18 = tregister($040C0012);
|
||||
NR_XMM19 = tregister($040C0013);
|
||||
NR_XMM20 = tregister($040C0014);
|
||||
NR_XMM21 = tregister($040C0015);
|
||||
NR_XMM22 = tregister($040C0016);
|
||||
NR_XMM23 = tregister($040C0017);
|
||||
NR_XMM24 = tregister($040C0018);
|
||||
NR_XMM25 = tregister($040C0019);
|
||||
NR_XMM26 = tregister($040C001A);
|
||||
NR_XMM27 = tregister($040C001B);
|
||||
NR_XMM28 = tregister($040C001C);
|
||||
NR_XMM29 = tregister($040C001D);
|
||||
NR_XMM30 = tregister($040C001E);
|
||||
NR_XMM31 = tregister($040C001F);
|
||||
NR_YMM0 = tregister($040D0000);
|
||||
NR_YMM1 = tregister($040D0001);
|
||||
NR_YMM2 = tregister($040D0002);
|
||||
@ -151,3 +167,51 @@ NR_YMM12 = tregister($040D000c);
|
||||
NR_YMM13 = tregister($040D000d);
|
||||
NR_YMM14 = tregister($040D000e);
|
||||
NR_YMM15 = tregister($040D000f);
|
||||
NR_YMM16 = tregister($040D0010);
|
||||
NR_YMM17 = tregister($040D0011);
|
||||
NR_YMM18 = tregister($040D0012);
|
||||
NR_YMM19 = tregister($040D0013);
|
||||
NR_YMM20 = tregister($040D0014);
|
||||
NR_YMM21 = tregister($040D0015);
|
||||
NR_YMM22 = tregister($040D0016);
|
||||
NR_YMM23 = tregister($040D0017);
|
||||
NR_YMM24 = tregister($040D0018);
|
||||
NR_YMM25 = tregister($040D0019);
|
||||
NR_YMM26 = tregister($040D001a);
|
||||
NR_YMM27 = tregister($040D001b);
|
||||
NR_YMM28 = tregister($040D001c);
|
||||
NR_YMM29 = tregister($040D001d);
|
||||
NR_YMM30 = tregister($040D001e);
|
||||
NR_YMM31 = tregister($040D001f);
|
||||
NR_ZMM0 = tregister($040E0000);
|
||||
NR_ZMM1 = tregister($040E0001);
|
||||
NR_ZMM2 = tregister($040E0002);
|
||||
NR_ZMM3 = tregister($040E0003);
|
||||
NR_ZMM4 = tregister($040E0004);
|
||||
NR_ZMM5 = tregister($040E0005);
|
||||
NR_ZMM6 = tregister($040E0006);
|
||||
NR_ZMM7 = tregister($040E0007);
|
||||
NR_ZMM8 = tregister($040E0008);
|
||||
NR_ZMM9 = tregister($040E0009);
|
||||
NR_ZMM10 = tregister($040E000A);
|
||||
NR_ZMM11 = tregister($040E000B);
|
||||
NR_ZMM12 = tregister($040E000C);
|
||||
NR_ZMM13 = tregister($040E000D);
|
||||
NR_ZMM14 = tregister($040E000E);
|
||||
NR_ZMM15 = tregister($040E000F);
|
||||
NR_ZMM16 = tregister($040E0010);
|
||||
NR_ZMM17 = tregister($040E0011);
|
||||
NR_ZMM18 = tregister($040E0012);
|
||||
NR_ZMM19 = tregister($040E0013);
|
||||
NR_ZMM20 = tregister($040E0014);
|
||||
NR_ZMM21 = tregister($040E0015);
|
||||
NR_ZMM22 = tregister($040E0016);
|
||||
NR_ZMM23 = tregister($040E0017);
|
||||
NR_ZMM24 = tregister($040E0018);
|
||||
NR_ZMM25 = tregister($040E0019);
|
||||
NR_ZMM26 = tregister($040E001A);
|
||||
NR_ZMM27 = tregister($040E001B);
|
||||
NR_ZMM28 = tregister($040E001C);
|
||||
NR_ZMM29 = tregister($040E001D);
|
||||
NR_ZMM30 = tregister($040E001E);
|
||||
NR_ZMM31 = tregister($040E001F);
|
||||
|
@ -135,6 +135,22 @@
|
||||
30,
|
||||
31,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
43,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
@ -150,4 +166,52 @@
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
32
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
43,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
43,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48
|
||||
|
@ -135,6 +135,22 @@
|
||||
'xmm13',
|
||||
'xmm14',
|
||||
'xmm15',
|
||||
'xmm16',
|
||||
'xmm17',
|
||||
'xmm18',
|
||||
'xmm19',
|
||||
'xmm20',
|
||||
'xmm21',
|
||||
'xmm22',
|
||||
'xmm23',
|
||||
'xmm24',
|
||||
'xmm25',
|
||||
'xmm26',
|
||||
'xmm27',
|
||||
'xmm28',
|
||||
'xmm29',
|
||||
'xmm30',
|
||||
'xmm31',
|
||||
'ymm0',
|
||||
'ymm1',
|
||||
'ymm2',
|
||||
@ -150,4 +166,52 @@
|
||||
'ymm12',
|
||||
'ymm13',
|
||||
'ymm14',
|
||||
'ymm15'
|
||||
'ymm15',
|
||||
'ymm16',
|
||||
'ymm17',
|
||||
'ymm18',
|
||||
'ymm19',
|
||||
'ymm20',
|
||||
'ymm21',
|
||||
'ymm22',
|
||||
'ymm23',
|
||||
'ymm24',
|
||||
'ymm25',
|
||||
'ymm26',
|
||||
'ymm27',
|
||||
'ymm28',
|
||||
'ymm29',
|
||||
'ymm30',
|
||||
'ymm31',
|
||||
'zmm0',
|
||||
'zmm1',
|
||||
'zmm2',
|
||||
'zmm3',
|
||||
'zmm4',
|
||||
'zmm5',
|
||||
'zmm6',
|
||||
'zmm7',
|
||||
'zmm8',
|
||||
'zmm9',
|
||||
'zmm10',
|
||||
'zmm11',
|
||||
'zmm12',
|
||||
'zmm13',
|
||||
'zmm14',
|
||||
'zmm15',
|
||||
'zmm16',
|
||||
'zmm17',
|
||||
'zmm18',
|
||||
'zmm19',
|
||||
'zmm20',
|
||||
'zmm21',
|
||||
'zmm22',
|
||||
'zmm23',
|
||||
'zmm24',
|
||||
'zmm25',
|
||||
'zmm26',
|
||||
'zmm27',
|
||||
'zmm28',
|
||||
'zmm29',
|
||||
'zmm30',
|
||||
'zmm31'
|
||||
|
@ -126,28 +126,92 @@
|
||||
133,
|
||||
134,
|
||||
135,
|
||||
122,
|
||||
123,
|
||||
124,
|
||||
125,
|
||||
126,
|
||||
127,
|
||||
128,
|
||||
129,
|
||||
136,
|
||||
137,
|
||||
146,
|
||||
147,
|
||||
148,
|
||||
149,
|
||||
150,
|
||||
151,
|
||||
138,
|
||||
139,
|
||||
122,
|
||||
140,
|
||||
141,
|
||||
142,
|
||||
143,
|
||||
144,
|
||||
145,
|
||||
81
|
||||
146,
|
||||
147,
|
||||
148,
|
||||
149,
|
||||
123,
|
||||
150,
|
||||
151,
|
||||
124,
|
||||
125,
|
||||
126,
|
||||
127,
|
||||
128,
|
||||
129,
|
||||
152,
|
||||
153,
|
||||
162,
|
||||
163,
|
||||
164,
|
||||
165,
|
||||
166,
|
||||
167,
|
||||
168,
|
||||
169,
|
||||
170,
|
||||
171,
|
||||
154,
|
||||
172,
|
||||
173,
|
||||
174,
|
||||
175,
|
||||
176,
|
||||
177,
|
||||
178,
|
||||
179,
|
||||
180,
|
||||
181,
|
||||
155,
|
||||
182,
|
||||
183,
|
||||
156,
|
||||
157,
|
||||
158,
|
||||
159,
|
||||
160,
|
||||
161,
|
||||
81,
|
||||
184,
|
||||
185,
|
||||
194,
|
||||
195,
|
||||
196,
|
||||
197,
|
||||
198,
|
||||
199,
|
||||
200,
|
||||
201,
|
||||
202,
|
||||
203,
|
||||
186,
|
||||
204,
|
||||
205,
|
||||
206,
|
||||
207,
|
||||
208,
|
||||
209,
|
||||
210,
|
||||
211,
|
||||
212,
|
||||
213,
|
||||
187,
|
||||
214,
|
||||
215,
|
||||
188,
|
||||
189,
|
||||
190,
|
||||
191,
|
||||
192,
|
||||
193
|
||||
|
@ -135,6 +135,22 @@
|
||||
'xmm13',
|
||||
'xmm14',
|
||||
'xmm15',
|
||||
'xmm16',
|
||||
'xmm17',
|
||||
'xmm18',
|
||||
'xmm19',
|
||||
'xmm20',
|
||||
'xmm21',
|
||||
'xmm22',
|
||||
'xmm23',
|
||||
'xmm24',
|
||||
'xmm25',
|
||||
'xmm26',
|
||||
'xmm27',
|
||||
'xmm28',
|
||||
'xmm29',
|
||||
'xmm30',
|
||||
'xmm31',
|
||||
'ymm0',
|
||||
'ymm1',
|
||||
'ymm2',
|
||||
@ -150,4 +166,52 @@
|
||||
'ymm12',
|
||||
'ymm13',
|
||||
'ymm14',
|
||||
'ymm15'
|
||||
'ymm15',
|
||||
'ymm16',
|
||||
'ymm17',
|
||||
'ymm18',
|
||||
'ymm19',
|
||||
'ymm20',
|
||||
'ymm21',
|
||||
'ymm22',
|
||||
'ymm23',
|
||||
'ymm24',
|
||||
'ymm25',
|
||||
'ymm26',
|
||||
'ymm27',
|
||||
'ymm28',
|
||||
'ymm29',
|
||||
'ymm30',
|
||||
'ymm31',
|
||||
'zmm0',
|
||||
'zmm1',
|
||||
'zmm2',
|
||||
'zmm3',
|
||||
'zmm4',
|
||||
'zmm5',
|
||||
'zmm6',
|
||||
'zmm7',
|
||||
'zmm8',
|
||||
'zmm9',
|
||||
'zmm10',
|
||||
'zmm11',
|
||||
'zmm12',
|
||||
'zmm13',
|
||||
'zmm14',
|
||||
'zmm15',
|
||||
'zmm16',
|
||||
'zmm17',
|
||||
'zmm18',
|
||||
'zmm19',
|
||||
'zmm20',
|
||||
'zmm21',
|
||||
'zmm22',
|
||||
'zmm23',
|
||||
'zmm24',
|
||||
'zmm25',
|
||||
'zmm26',
|
||||
'zmm27',
|
||||
'zmm28',
|
||||
'zmm29',
|
||||
'zmm30',
|
||||
'zmm31'
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86reg.dat }
|
||||
152
|
||||
216
|
||||
|
@ -135,6 +135,22 @@ tregister($040C000c),
|
||||
tregister($040C000d),
|
||||
tregister($040C000e),
|
||||
tregister($040C000f),
|
||||
tregister($040C0010),
|
||||
tregister($040C0011),
|
||||
tregister($040C0012),
|
||||
tregister($040C0013),
|
||||
tregister($040C0014),
|
||||
tregister($040C0015),
|
||||
tregister($040C0016),
|
||||
tregister($040C0017),
|
||||
tregister($040C0018),
|
||||
tregister($040C0019),
|
||||
tregister($040C001A),
|
||||
tregister($040C001B),
|
||||
tregister($040C001C),
|
||||
tregister($040C001D),
|
||||
tregister($040C001E),
|
||||
tregister($040C001F),
|
||||
tregister($040D0000),
|
||||
tregister($040D0001),
|
||||
tregister($040D0002),
|
||||
@ -150,4 +166,52 @@ tregister($040D000b),
|
||||
tregister($040D000c),
|
||||
tregister($040D000d),
|
||||
tregister($040D000e),
|
||||
tregister($040D000f)
|
||||
tregister($040D000f),
|
||||
tregister($040D0010),
|
||||
tregister($040D0011),
|
||||
tregister($040D0012),
|
||||
tregister($040D0013),
|
||||
tregister($040D0014),
|
||||
tregister($040D0015),
|
||||
tregister($040D0016),
|
||||
tregister($040D0017),
|
||||
tregister($040D0018),
|
||||
tregister($040D0019),
|
||||
tregister($040D001a),
|
||||
tregister($040D001b),
|
||||
tregister($040D001c),
|
||||
tregister($040D001d),
|
||||
tregister($040D001e),
|
||||
tregister($040D001f),
|
||||
tregister($040E0000),
|
||||
tregister($040E0001),
|
||||
tregister($040E0002),
|
||||
tregister($040E0003),
|
||||
tregister($040E0004),
|
||||
tregister($040E0005),
|
||||
tregister($040E0006),
|
||||
tregister($040E0007),
|
||||
tregister($040E0008),
|
||||
tregister($040E0009),
|
||||
tregister($040E000A),
|
||||
tregister($040E000B),
|
||||
tregister($040E000C),
|
||||
tregister($040E000D),
|
||||
tregister($040E000E),
|
||||
tregister($040E000F),
|
||||
tregister($040E0010),
|
||||
tregister($040E0011),
|
||||
tregister($040E0012),
|
||||
tregister($040E0013),
|
||||
tregister($040E0014),
|
||||
tregister($040E0015),
|
||||
tregister($040E0016),
|
||||
tregister($040E0017),
|
||||
tregister($040E0018),
|
||||
tregister($040E0019),
|
||||
tregister($040E001A),
|
||||
tregister($040E001B),
|
||||
tregister($040E001C),
|
||||
tregister($040E001D),
|
||||
tregister($040E001E),
|
||||
tregister($040E001F)
|
||||
|
@ -135,6 +135,22 @@ OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_XMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
@ -150,4 +166,52 @@ OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_YMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG,
|
||||
OT_ZMMREG
|
||||
|
@ -117,6 +117,70 @@
|
||||
149,
|
||||
150,
|
||||
151,
|
||||
152,
|
||||
153,
|
||||
154,
|
||||
155,
|
||||
156,
|
||||
157,
|
||||
158,
|
||||
159,
|
||||
160,
|
||||
161,
|
||||
162,
|
||||
163,
|
||||
164,
|
||||
165,
|
||||
166,
|
||||
167,
|
||||
168,
|
||||
169,
|
||||
170,
|
||||
171,
|
||||
172,
|
||||
173,
|
||||
174,
|
||||
175,
|
||||
176,
|
||||
177,
|
||||
178,
|
||||
179,
|
||||
180,
|
||||
181,
|
||||
182,
|
||||
183,
|
||||
184,
|
||||
185,
|
||||
186,
|
||||
187,
|
||||
188,
|
||||
189,
|
||||
190,
|
||||
191,
|
||||
192,
|
||||
193,
|
||||
194,
|
||||
195,
|
||||
196,
|
||||
197,
|
||||
198,
|
||||
199,
|
||||
200,
|
||||
201,
|
||||
202,
|
||||
203,
|
||||
204,
|
||||
205,
|
||||
206,
|
||||
207,
|
||||
208,
|
||||
209,
|
||||
210,
|
||||
211,
|
||||
212,
|
||||
213,
|
||||
214,
|
||||
215,
|
||||
69,
|
||||
70,
|
||||
71,
|
||||
|
@ -126,28 +126,92 @@
|
||||
133,
|
||||
134,
|
||||
135,
|
||||
122,
|
||||
123,
|
||||
124,
|
||||
125,
|
||||
126,
|
||||
127,
|
||||
128,
|
||||
129,
|
||||
136,
|
||||
137,
|
||||
146,
|
||||
147,
|
||||
148,
|
||||
149,
|
||||
150,
|
||||
151,
|
||||
138,
|
||||
139,
|
||||
122,
|
||||
140,
|
||||
141,
|
||||
142,
|
||||
143,
|
||||
144,
|
||||
145,
|
||||
81
|
||||
146,
|
||||
147,
|
||||
148,
|
||||
149,
|
||||
123,
|
||||
150,
|
||||
151,
|
||||
124,
|
||||
125,
|
||||
126,
|
||||
127,
|
||||
128,
|
||||
129,
|
||||
152,
|
||||
153,
|
||||
162,
|
||||
163,
|
||||
164,
|
||||
165,
|
||||
166,
|
||||
167,
|
||||
168,
|
||||
169,
|
||||
170,
|
||||
171,
|
||||
154,
|
||||
172,
|
||||
173,
|
||||
174,
|
||||
175,
|
||||
176,
|
||||
177,
|
||||
178,
|
||||
179,
|
||||
180,
|
||||
181,
|
||||
155,
|
||||
182,
|
||||
183,
|
||||
156,
|
||||
157,
|
||||
158,
|
||||
159,
|
||||
160,
|
||||
161,
|
||||
81,
|
||||
184,
|
||||
185,
|
||||
194,
|
||||
195,
|
||||
196,
|
||||
197,
|
||||
198,
|
||||
199,
|
||||
200,
|
||||
201,
|
||||
202,
|
||||
203,
|
||||
186,
|
||||
204,
|
||||
205,
|
||||
206,
|
||||
207,
|
||||
208,
|
||||
209,
|
||||
210,
|
||||
211,
|
||||
212,
|
||||
213,
|
||||
187,
|
||||
214,
|
||||
215,
|
||||
188,
|
||||
189,
|
||||
190,
|
||||
191,
|
||||
192,
|
||||
193
|
||||
|
@ -135,6 +135,22 @@
|
||||
30,
|
||||
31,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
43,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
@ -150,4 +166,52 @@
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
32
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
43,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
31,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
37,
|
||||
38,
|
||||
39,
|
||||
40,
|
||||
41,
|
||||
42,
|
||||
43,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
47,
|
||||
48
|
||||
|
@ -135,6 +135,22 @@
|
||||
'xmm13',
|
||||
'xmm14',
|
||||
'xmm15',
|
||||
'xmm16',
|
||||
'xmm17',
|
||||
'xmm18',
|
||||
'xmm19',
|
||||
'xmm20',
|
||||
'xmm21',
|
||||
'xmm22',
|
||||
'xmm23',
|
||||
'xmm24',
|
||||
'xmm25',
|
||||
'xmm26',
|
||||
'xmm27',
|
||||
'xmm28',
|
||||
'xmm29',
|
||||
'xmm30',
|
||||
'xmm31',
|
||||
'ymm0',
|
||||
'ymm1',
|
||||
'ymm2',
|
||||
@ -150,4 +166,52 @@
|
||||
'ymm12',
|
||||
'ymm13',
|
||||
'ymm14',
|
||||
'ymm15'
|
||||
'ymm15',
|
||||
'ymm16',
|
||||
'ymm17',
|
||||
'ymm18',
|
||||
'ymm19',
|
||||
'ymm20',
|
||||
'ymm21',
|
||||
'ymm22',
|
||||
'ymm23',
|
||||
'ymm24',
|
||||
'ymm25',
|
||||
'ymm26',
|
||||
'ymm27',
|
||||
'ymm28',
|
||||
'ymm29',
|
||||
'ymm30',
|
||||
'ymm31',
|
||||
'zmm0',
|
||||
'zmm1',
|
||||
'zmm2',
|
||||
'zmm3',
|
||||
'zmm4',
|
||||
'zmm5',
|
||||
'zmm6',
|
||||
'zmm7',
|
||||
'zmm8',
|
||||
'zmm9',
|
||||
'zmm10',
|
||||
'zmm11',
|
||||
'zmm12',
|
||||
'zmm13',
|
||||
'zmm14',
|
||||
'zmm15',
|
||||
'zmm16',
|
||||
'zmm17',
|
||||
'zmm18',
|
||||
'zmm19',
|
||||
'zmm20',
|
||||
'zmm21',
|
||||
'zmm22',
|
||||
'zmm23',
|
||||
'zmm24',
|
||||
'zmm25',
|
||||
'zmm26',
|
||||
'zmm27',
|
||||
'zmm28',
|
||||
'zmm29',
|
||||
'zmm30',
|
||||
'zmm31'
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86ins.dat }
|
||||
2170;
|
||||
2171;
|
||||
|
@ -11687,14 +11687,21 @@
|
||||
opcode : A_VPADDSB;
|
||||
ops : 3;
|
||||
optypes : (ot_xmmreg,ot_xmmreg,ot_xmmrm,ot_none);
|
||||
code : #241#242#248#1#236#61#80;
|
||||
code : #232#241#242#248#1#236#61#80;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VPADDSB;
|
||||
ops : 3;
|
||||
optypes : (ot_ymmreg,ot_ymmreg,ot_ymmrm,ot_none);
|
||||
code : #241#242#244#248#1#236#61#80;
|
||||
code : #232#241#242#244#248#1#236#61#80;
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
opcode : A_VPADDSB;
|
||||
ops : 3;
|
||||
optypes : (ot_zmmreg,ot_zmmreg,ot_zmmrm,ot_none);
|
||||
code : #232#233#241#248#1#236#61#80;
|
||||
flags : [if_avx2]
|
||||
),
|
||||
(
|
||||
|
Loading…
Reference in New Issue
Block a user