bugfix external gnu assembler - special handling for any vcvt..-opcodes (opsize S_XMM,S_YMM = prefix (x,y); S_ZMM = without prefix)

git-svn-id: branches/tg74/avx512-0037785@47149 -
This commit is contained in:
tg74 2020-10-21 12:41:32 +00:00
parent c3bb9a2954
commit c4d80b1694
8 changed files with 37 additions and 35 deletions

View File

@ -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,
@ -1194,17 +1194,17 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufNONE,
attsufNONE,
attsufNONE,
@ -1214,7 +1214,7 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufINT,
attsufINT,
attsufNONE,

View File

@ -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]
),
@ -22011,7 +22011,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]
),

View File

@ -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,
@ -1208,17 +1208,17 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufNONE,
attsufNONE,
attsufNONE,
@ -1228,7 +1228,7 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufINT,
attsufINT,
attsufNONE,

View File

@ -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]
),
@ -22235,7 +22235,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]
),

View File

@ -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;

View File

@ -4176,7 +4176,7 @@ zmmreg_mz,zmmreg_er \350\351\370\1\x5B\110
; VCVTPD2DQ xmmreg_mz,mem256 must come first - map MemRefSize 256bits correct
; map all other MemrefSize (without broasdcast MemRef) to xmmreg, xmmrm
[VCVTPD2DQ,vcvtpd2dqM]
[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
@ -4191,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
@ -4290,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
@ -7280,7 +7280,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, vcvtpd2udqX]
[VCVTPD2UDQ, vcvtpd2udqN]
(Ch_All)
xmmreg_mz,mem128 \350\352\370\1\x79\110 AVX512,TFV
xmmreg_mz,mem256 \350\352\364\370\1\x79\110 AVX512,TFV
@ -7344,7 +7344,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,vcvtqq2psX]
[VCVTQQ2PS,vcvtqq2psN]
(Ch_All)
xmmreg_mz,mem128 \350\352\370\1\x5B\110 AVX512,TFV
xmmreg_mz,mem256 \350\352\364\370\1\x5B\110 AVX512,TFV
@ -7380,7 +7380,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,vcvttpd2udqX]
[VCVTTPD2UDQ,vcvttpd2udqN]
(Ch_All)
xmmreg_mz,mem128 \350\352\370\1\x78\110 AVX512,TFV
xmmreg_mz,mem256 \350\352\364\370\1\x78\110 AVX512,TFV
@ -7457,7 +7457,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_All)
@ -7479,7 +7479,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,vcvtuqq2psX]
[VCVTUQQ2PS,vcvtuqq2psN]
(Ch_All)
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

View File

@ -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,
@ -1190,17 +1190,17 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufNONE,
attsufNONE,
attsufNONE,
@ -1210,7 +1210,7 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufMMX,
attsufINT,
attsufINT,
attsufNONE,

View File

@ -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]
),
@ -22459,7 +22459,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]
),