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:
Károly Balogh 2017-05-23 00:16:29 +00:00
parent d5087df6fb
commit 3e8ee48458
2 changed files with 4 additions and 0 deletions

View File

@ -162,6 +162,7 @@
{$define cpu32bitaddr}
{$define cpu32bitalu}
{$define cpuflags}
{$define cpurox}
{$define cpufpemu}
{$define cpurefshaveindexreg}
{$define cpucapabilities}

View File

@ -1068,6 +1068,9 @@ implementation
{$ifdef cpurox}
{ 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)
{$ifdef m68k}
and (CPUM68K_HAS_ROLROR in cpu_capabilities[current_settings.cputype])
{$endif m68k}
{$ifndef cpu64bitalu}
and (left.resultdef.typ=orddef) and
not(torddef(left.resultdef).ordtype in [s64bit,u64bit,scurrency])