mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 15:29:25 +02:00
+ several internalerrors in case things go wrong
+ support for OS_M64 in several places git-svn-id: trunk@15366 -
This commit is contained in:
parent
27f6376fd4
commit
9e785ea553
@ -196,6 +196,7 @@ unit cgx86;
|
||||
result:=rg[R_MMREGISTER].getregister(list,R_SUBMMD);
|
||||
OS_F32:
|
||||
result:=rg[R_MMREGISTER].getregister(list,R_SUBMMS);
|
||||
OS_M64,
|
||||
OS_M128:
|
||||
result:=rg[R_MMREGISTER].getregister(list,R_SUBMMWHOLE);
|
||||
else
|
||||
@ -1087,7 +1088,14 @@ unit cgx86;
|
||||
(A_NONE,A_NONE,A_NONE,A_MOVQ,A_NONE),
|
||||
(A_NONE,A_NONE,A_NONE,A_NONE,A_NONE));
|
||||
begin
|
||||
result:=convertop[fromsize,tosize];
|
||||
if (fromsize in [low(convertop)..high(convertop)]) and
|
||||
(tosize in [low(convertop)..high(convertop)]) then
|
||||
result:=convertop[fromsize,tosize]
|
||||
else if (fromsize=tosize) and
|
||||
(fromsize=OS_M64) then
|
||||
result:=A_MOVQ
|
||||
else
|
||||
internalerror(2010060104);
|
||||
if result=A_NONE then
|
||||
internalerror(200312205);
|
||||
end;
|
||||
@ -1106,6 +1114,8 @@ unit cgx86;
|
||||
instr:=taicpu.op_reg_reg(A_MOVAPS,S_NO,reg1,reg2);
|
||||
OS_F64:
|
||||
instr:=taicpu.op_reg_reg(A_MOVAPD,S_NO,reg1,reg2);
|
||||
OS_M64:
|
||||
instr:=taicpu.op_reg_reg(A_MOVQ,S_NO,reg1,reg2);
|
||||
else
|
||||
internalerror(2006091201);
|
||||
end
|
||||
@ -1246,6 +1256,7 @@ unit cgx86;
|
||||
//!!!
|
||||
if (shuffle<>nil) and not(shufflescalar(shuffle)) then
|
||||
begin
|
||||
internalerror(2010060101);
|
||||
end
|
||||
else if (shuffle=nil) then
|
||||
asmop:=opmm2asmop[1,size,op]
|
||||
@ -1256,7 +1267,7 @@ unit cgx86;
|
||||
if asmop=A_NOP then
|
||||
begin
|
||||
{ do vectorized and shuffle finally }
|
||||
//!!!
|
||||
internalerror(2010060102);
|
||||
end;
|
||||
end
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user