mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-30 11:20:23 +02:00
m68k: define cpurox and enabled the rotate-related optimizations on CPUs which support rotate instructionsoptions.pas
git-svn-id: trunk@36302 -
This commit is contained in:
parent
d5087df6fb
commit
3e8ee48458
@ -162,6 +162,7 @@
|
|||||||
{$define cpu32bitaddr}
|
{$define cpu32bitaddr}
|
||||||
{$define cpu32bitalu}
|
{$define cpu32bitalu}
|
||||||
{$define cpuflags}
|
{$define cpuflags}
|
||||||
|
{$define cpurox}
|
||||||
{$define cpufpemu}
|
{$define cpufpemu}
|
||||||
{$define cpurefshaveindexreg}
|
{$define cpurefshaveindexreg}
|
||||||
{$define cpucapabilities}
|
{$define cpucapabilities}
|
||||||
|
@ -1068,6 +1068,9 @@ implementation
|
|||||||
{$ifdef cpurox}
|
{$ifdef cpurox}
|
||||||
{ optimize (i shl x) or (i shr (bitsizeof(i)-x)) into rol(x,i) (and different flavours with shl/shr swapped etc.) }
|
{ optimize (i shl x) or (i shr (bitsizeof(i)-x)) into rol(x,i) (and different flavours with shl/shr swapped etc.) }
|
||||||
if (nodetype=orn)
|
if (nodetype=orn)
|
||||||
|
{$ifdef m68k}
|
||||||
|
and (CPUM68K_HAS_ROLROR in cpu_capabilities[current_settings.cputype])
|
||||||
|
{$endif m68k}
|
||||||
{$ifndef cpu64bitalu}
|
{$ifndef cpu64bitalu}
|
||||||
and (left.resultdef.typ=orddef) and
|
and (left.resultdef.typ=orddef) and
|
||||||
not(torddef(left.resultdef).ordtype in [s64bit,u64bit,scurrency])
|
not(torddef(left.resultdef).ordtype in [s64bit,u64bit,scurrency])
|
||||||
|
Loading…
Reference in New Issue
Block a user