mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 02:48:04 +02:00
working on backport bugfix 0037785
git-svn-id: branches/tg74/fixes_3_2@48151 -
This commit is contained in:
parent
8ab84bbddd
commit
ea15ebdb91
@ -425,9 +425,9 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -539,11 +539,6 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
@ -607,6 +602,11 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86ins.dat }
|
||||
2117;
|
||||
2119;
|
||||
|
@ -9992,14 +9992,7 @@
|
||||
(
|
||||
opcode : A_VCVTDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
|
||||
code : #219#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none);
|
||||
optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
|
||||
code : #219#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
@ -10017,6 +10010,13 @@
|
||||
code : #242#244#248#1#91#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #220#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
@ -10027,10 +10027,17 @@
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg,ot_ymmreg,ot_none,ot_none);
|
||||
code : #220#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2PS;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#90#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2PS;
|
||||
ops : 2;
|
||||
@ -10041,7 +10048,7 @@
|
||||
(
|
||||
opcode : A_VCVTPD2PS;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg,ot_ymmreg,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#90#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
@ -10178,6 +10185,13 @@
|
||||
code : #219#242#243#248#1#45#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTTPD2DQ;
|
||||
ops : 2;
|
||||
@ -10188,7 +10202,7 @@
|
||||
(
|
||||
opcode : A_VCVTTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg,ot_ymmreg,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
|
@ -425,9 +425,9 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -539,11 +539,6 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
@ -607,6 +602,11 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86ins.dat }
|
||||
2149;
|
||||
2151;
|
||||
|
@ -10020,14 +10020,7 @@
|
||||
(
|
||||
opcode : A_VCVTDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
|
||||
code : #219#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none);
|
||||
optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
|
||||
code : #219#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
@ -10045,6 +10038,13 @@
|
||||
code : #242#244#248#1#91#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #220#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
@ -10055,10 +10055,17 @@
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg,ot_ymmreg,ot_none,ot_none);
|
||||
code : #220#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2PS;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#90#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2PS;
|
||||
ops : 2;
|
||||
@ -10069,7 +10076,7 @@
|
||||
(
|
||||
opcode : A_VCVTPD2PS;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg,ot_ymmreg,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#90#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
@ -10206,6 +10213,13 @@
|
||||
code : #219#242#243#248#1#45#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTTPD2DQ;
|
||||
ops : 2;
|
||||
@ -10216,7 +10230,7 @@
|
||||
(
|
||||
opcode : A_VCVTTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg,ot_ymmreg,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
|
@ -2343,7 +2343,7 @@ mmxreg,xmmreg \331\2\x0F\x2D\110 KATMAI,SSE,MMX
|
||||
xmmreg,rm32 \333\321\2\x0F\x2A\110 KATMAI,SSE
|
||||
xmmreg,rm64 \333\321\2\x0F\x2A\110 KATMAI,SSE,X86_64
|
||||
|
||||
[CVTSS2SI,cvtss2siX]
|
||||
[CVTSS2SI]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
reg32|64,mem32 \333\320\2\x0F\x2D\110 KATMAI,SSE
|
||||
reg32|64,xmmreg \333\320\2\x0F\x2D\110 KATMAI,SSE
|
||||
@ -2353,7 +2353,7 @@ reg32|64,xmmreg \333\320\2\x0F\x2D\110 KATMAI,SSE
|
||||
mmxreg,mem64 \331\2\x0F\x2C\110 KATMAI,SSE,MMX
|
||||
mmxreg,xmmreg \331\2\x0F\x2C\110 KATMAI,SSE,MMX
|
||||
|
||||
[CVTTSS2SI,cvttss2siX]
|
||||
[CVTTSS2SI]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
reg32|64,mem32 \333\320\2\x0F\x2C\110 KATMAI,SSE
|
||||
reg32|64,xmmreg \333\320\2\x0F\x2C\110 KATMAI,SSE
|
||||
@ -2865,7 +2865,7 @@ xmmreg,xmmrm \361\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
|
||||
xmmreg,xmmreg \2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SQ
|
||||
xmmreg,mem64 \2\x0F\x5A\110 WILLAMETTE,SSE2 ;,SQ
|
||||
|
||||
[CVTSD2SI,cvtsd2siX]
|
||||
[CVTSD2SI]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
reg32,xmmreg \334\2\x0F\x2D\110 WILLAMETTE,SSE2
|
||||
reg32,mem64 \334\2\x0F\x2D\110 WILLAMETTE,SSE2
|
||||
@ -2899,7 +2899,7 @@ xmmreg,xmmrm \361\2\x0F\xE6\110 WILLAMETTE,SSE2,SM
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg,xmmrm \333\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
|
||||
|
||||
[CVTTSD2SI,cvttsd2siX]
|
||||
[CVTTSD2SI]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
reg32|64,xmmreg \334\320\2\x0F\x2C\110 WILLAMETTE,SSE2
|
||||
reg32|64,mem64 \334\320\2\x0F\x2C\110 WILLAMETTE,SSE2
|
||||
@ -4057,23 +4057,28 @@ xmmreg,xmmreg \362\370\1\x2F\110 AVX,SA
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg,mem64 \333\362\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
xmmreg,xmmreg \333\362\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
ymmreg,xmmreg \333\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
ymmreg,mem128 \333\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
ymmreg,xmmrm \333\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
|
||||
[VCVTDQ2PS]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg,xmmrm \362\370\1\x5B\110 AVX,SANDYBRIDGE
|
||||
ymmreg,ymmrm \362\364\370\1\x5B\110 AVX,SANDYBRIDGE
|
||||
|
||||
; VCVTPD2DQ xmmreg_mz,mem256 must come first - map MemRefSize 256bits correct
|
||||
; map all other MemrefSize to xmmreg, xmmrm
|
||||
[VCVTPD2DQ,vcvtpd2dqM]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg,mem256 \334\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
xmmreg,xmmrm \334\362\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
xmmreg,ymmrm \334\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
xmmreg,ymmreg \334\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
|
||||
; VCVTPD2PS xmmreg_mz,mem256 must come first - map MemRefSize 256bits correct
|
||||
; map all other MemrefSize to xmmreg, xmmrm
|
||||
[VCVTPD2PS,vcvtpd2psM]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg,mem256 \361\362\364\370\1\x5A\110 AVX,SANDYBRIDGE
|
||||
xmmreg,xmmrm \361\362\370\1\x5A\110 AVX,SANDYBRIDGE
|
||||
xmmreg,ymmrm \361\362\364\370\1\x5A\110 AVX,SANDYBRIDGE
|
||||
xmmreg,ymmreg \361\362\364\370\1\x5A\110 AVX,SANDYBRIDGE
|
||||
|
||||
[VCVTPS2DQ]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
@ -4120,10 +4125,13 @@ reg32,xmmreg \333\362\370\1\x2D\110 AVX,SA
|
||||
reg64,mem32 \333\362\363\370\1\x2D\110 AVX,SANDYBRIDGE
|
||||
reg64,xmmreg \333\362\363\370\1\x2D\110 AVX,SANDYBRIDGE
|
||||
|
||||
; VCVTTPD2DQ xmmreg_mz,mem256 must come first - map MemRefSize 256bits correct
|
||||
; map all other MemrefSize to xmmreg, xmmrm
|
||||
[VCVTTPD2DQ,vcvttpd2dqM]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
xmmreg,mem256 \361\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
xmmreg,xmmrm \361\362\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
xmmreg,ymmrm \361\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
xmmreg,ymmreg \361\362\364\370\1\xE6\110 AVX,SANDYBRIDGE
|
||||
|
||||
[VCVTTPS2DQ]
|
||||
(Ch_Wop2, Ch_Rop1)
|
||||
|
@ -411,9 +411,9 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
@ -525,11 +525,6 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
@ -593,6 +588,11 @@ attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
attsufINT,
|
||||
attsufNONE,
|
||||
attsufNONE,
|
||||
|
@ -1,2 +1,2 @@
|
||||
{ don't edit, this file is generated from x86ins.dat }
|
||||
2170;
|
||||
2172;
|
||||
|
@ -10293,14 +10293,7 @@
|
||||
(
|
||||
opcode : A_VCVTDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg,ot_xmmreg,ot_none,ot_none);
|
||||
code : #219#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTDQ2PD;
|
||||
ops : 2;
|
||||
optypes : (ot_ymmreg,ot_memory or ot_bits128,ot_none,ot_none);
|
||||
optypes : (ot_ymmreg,ot_xmmrm,ot_none,ot_none);
|
||||
code : #219#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
@ -10318,6 +10311,13 @@
|
||||
code : #242#244#248#1#91#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #220#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
@ -10328,10 +10328,17 @@
|
||||
(
|
||||
opcode : A_VCVTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg,ot_ymmreg,ot_none,ot_none);
|
||||
code : #220#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2PS;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#90#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTPD2PS;
|
||||
ops : 2;
|
||||
@ -10342,7 +10349,7 @@
|
||||
(
|
||||
opcode : A_VCVTPD2PS;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg,ot_ymmreg,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#90#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
@ -10493,6 +10500,13 @@
|
||||
code : #219#242#243#248#1#45#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_memory or ot_bits256,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
(
|
||||
opcode : A_VCVTTPD2DQ;
|
||||
ops : 2;
|
||||
@ -10503,7 +10517,7 @@
|
||||
(
|
||||
opcode : A_VCVTTPD2DQ;
|
||||
ops : 2;
|
||||
optypes : (ot_xmmreg,ot_ymmrm,ot_none,ot_none);
|
||||
optypes : (ot_xmmreg,ot_ymmreg,ot_none,ot_none);
|
||||
code : #241#242#244#248#1#230#72;
|
||||
flags : [if_avx,if_sandybridge]
|
||||
),
|
||||
|
Loading…
Reference in New Issue
Block a user