mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-08 16:57:10 +01:00
* check register type to not mixup sse registers
git-svn-id: trunk@7505 -
This commit is contained in:
parent
a8062fafe7
commit
e1132f8fe1
@ -85,7 +85,8 @@ begin
|
||||
if p.oper[1]^.typ = top_ref then
|
||||
for regCounter := RS_EAX to RS_EDI do
|
||||
begin
|
||||
if p.oper[0]^.typ<>top_reg then
|
||||
if (p.oper[0]^.typ<>top_reg) or
|
||||
(getregtype(p.oper[0]^.reg) <> R_INTREGISTER) then
|
||||
break;
|
||||
if writeToMemDestroysContents(getsupreg(p.oper[0]^.reg),p.oper[1]^.ref^,
|
||||
regCounter,topsize2tcgsize[p.opsize],c[regCounter],dummy) then
|
||||
|
||||
@ -1901,6 +1901,7 @@ begin
|
||||
case op.typ of
|
||||
top_reg:
|
||||
writeDestroysContents :=
|
||||
(getregtype(op.reg) = R_INTREGISTER) and
|
||||
writeToRegDestroysContents(getsupreg(op.reg),supreg,c);
|
||||
top_ref:
|
||||
writeDestroysContents :=
|
||||
@ -2097,6 +2098,7 @@ begin
|
||||
labeltable^[tai_label(p).labsym.labelnr-lolab].taiobj := p;
|
||||
{$ifdef i386}
|
||||
ait_regalloc:
|
||||
if (getregtype(tai_regalloc(p).reg) = R_INTREGISTER) then
|
||||
begin
|
||||
supreg:=getsupreg(tai_regalloc(p).reg);
|
||||
case tai_regalloc(p).ratype of
|
||||
|
||||
Loading…
Reference in New Issue
Block a user