mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 23:09:24 +02:00
* Fixed random AVs when targeting the AVX FPU.
This commit is contained in:
parent
7b2cd0bcdc
commit
e9acd759a4
@ -1211,6 +1211,8 @@ unit rgobj;
|
|||||||
function trgobj.get_alias(n:Tsuperregister):Tsuperregister;
|
function trgobj.get_alias(n:Tsuperregister):Tsuperregister;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
if n>=maxreg then
|
||||||
|
internalerror(2021121201);
|
||||||
while ri_coalesced in reginfo[n].flags do
|
while ri_coalesced in reginfo[n].flags do
|
||||||
n:=reginfo[n].alias;
|
n:=reginfo[n].alias;
|
||||||
get_alias:=n;
|
get_alias:=n;
|
||||||
|
@ -200,6 +200,7 @@ implementation
|
|||||||
{ avx instructions allow only the first operand (at&t counting) to be a register operand
|
{ avx instructions allow only the first operand (at&t counting) to be a register operand
|
||||||
all operands must be registers ... }
|
all operands must be registers ... }
|
||||||
else if (oper[0]^.typ=top_reg) and
|
else if (oper[0]^.typ=top_reg) and
|
||||||
|
(getregtype(oper[0]^.reg)=regtype) and
|
||||||
(oper[1]^.typ=top_reg) and
|
(oper[1]^.typ=top_reg) and
|
||||||
(oper[2]^.typ=top_reg) and
|
(oper[2]^.typ=top_reg) and
|
||||||
{ but they must be different }
|
{ but they must be different }
|
||||||
|
Loading…
Reference in New Issue
Block a user