mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 09:26:15 +02:00
* x86-64: we can spill replace 32 bit operations if the operation does not modify a register
git-svn-id: trunk@49097 -
This commit is contained in:
parent
8ea95e9b95
commit
7811b915a9
@ -407,8 +407,10 @@ implementation
|
|||||||
{ 32 bit operations on 32 bit registers on x86_64 can result in
|
{ 32 bit operations on 32 bit registers on x86_64 can result in
|
||||||
zeroing the upper 32 bits of the register. This does not happen
|
zeroing the upper 32 bits of the register. This does not happen
|
||||||
with memory operations, so we have to perform these calculations
|
with memory operations, so we have to perform these calculations
|
||||||
in registers. }
|
in registers.
|
||||||
if (opsize=S_L) then
|
|
||||||
|
However, for instructions not modifying registers, this is not a problem }
|
||||||
|
if (opsize=S_L) and (opcode<>A_CMP) and (opcode<>A_TEST) and (opcode<>A_BT) then
|
||||||
replaceoper:=-1;
|
replaceoper:=-1;
|
||||||
{$endif x86_64}
|
{$endif x86_64}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user