mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 22:14:25 +02:00
* avoid stores to memory on x86_64 too when loading parameters
git-svn-id: trunk@4623 -
This commit is contained in:
parent
78d5ba9ff0
commit
b63721070b
@ -322,13 +322,13 @@ implementation
|
|||||||
newparaloc:=cgpara.add_location;
|
newparaloc:=cgpara.add_location;
|
||||||
newparaloc^.size:=paraloc^.size;
|
newparaloc^.size:=paraloc^.size;
|
||||||
{$warning maybe release this optimization for all targets?}
|
{$warning maybe release this optimization for all targets?}
|
||||||
{$if defined(sparc) or defined(powerpc) or defined(powerpc64)}
|
{$if defined(sparc) or defined(powerpc) or defined(powerpc64) or defined(x86_64)}
|
||||||
{ Does it fit a register? }
|
{ Does it fit a register? }
|
||||||
if (len<=sizeof(aint)) and
|
if (len<=sizeof(aint)) and
|
||||||
(cgpara.size in [OS_8,OS_16,OS_32,OS_64,OS_128,OS_S8,OS_S16,OS_S32,OS_S64,OS_S128]) then
|
(cgpara.size in [OS_8,OS_16,OS_32,OS_64,OS_128,OS_S8,OS_S16,OS_S32,OS_S64,OS_S128]) then
|
||||||
newparaloc^.loc:=LOC_REGISTER
|
newparaloc^.loc:=LOC_REGISTER
|
||||||
else
|
else
|
||||||
{$endif defined(sparc) or defined(powerpc) or defined(powerpc64) }
|
{$endif defined(sparc) or defined(powerpc) or defined(powerpc64) or defined(x86_64)}
|
||||||
newparaloc^.loc:=paraloc^.loc;
|
newparaloc^.loc:=paraloc^.loc;
|
||||||
case newparaloc^.loc of
|
case newparaloc^.loc of
|
||||||
LOC_REGISTER :
|
LOC_REGISTER :
|
||||||
|
Loading…
Reference in New Issue
Block a user