mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-02 03:45:56 +02:00
m68k: generate MUL helpers for CPUs without 32bit MUL already in pass 1
git-svn-id: trunk@36348 -
This commit is contained in:
parent
b755524c38
commit
b3157aa5ea
@ -166,6 +166,7 @@
|
|||||||
{$define cpufpemu}
|
{$define cpufpemu}
|
||||||
{$define cpurefshaveindexreg}
|
{$define cpurefshaveindexreg}
|
||||||
{$define cpucapabilities}
|
{$define cpucapabilities}
|
||||||
|
{$define cpuneedsmulhelper}
|
||||||
{$define cpuneedsdivhelper}
|
{$define cpuneedsdivhelper}
|
||||||
{$define cpu_uses_separate_address_registers}
|
{$define cpu_uses_separate_address_registers}
|
||||||
{$endif m68k}
|
{$endif m68k}
|
||||||
|
@ -38,6 +38,7 @@ interface
|
|||||||
protected
|
protected
|
||||||
function use_generic_mul64bit: boolean; override;
|
function use_generic_mul64bit: boolean; override;
|
||||||
function use_generic_mul32to64: boolean; override;
|
function use_generic_mul32to64: boolean; override;
|
||||||
|
function use_mul_helper: boolean; override;
|
||||||
procedure second_addfloat;override;
|
procedure second_addfloat;override;
|
||||||
procedure second_cmpfloat;override;
|
procedure second_cmpfloat;override;
|
||||||
procedure second_addordinal;override;
|
procedure second_addordinal;override;
|
||||||
@ -359,6 +360,11 @@ implementation
|
|||||||
Ordinals
|
Ordinals
|
||||||
*****************************************************************************}
|
*****************************************************************************}
|
||||||
|
|
||||||
|
function t68kaddnode.use_mul_helper: boolean;
|
||||||
|
begin
|
||||||
|
result:=(nodetype=muln) and not (CPUM68K_HAS_32BITMUL in cpu_capabilities[current_settings.cputype]);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure t68kaddnode.second_addordinal;
|
procedure t68kaddnode.second_addordinal;
|
||||||
const
|
const
|
||||||
mul_op_signed: array[boolean] of tasmop = ( A_MULU, A_MULS );
|
mul_op_signed: array[boolean] of tasmop = ( A_MULU, A_MULS );
|
||||||
|
Loading…
Reference in New Issue
Block a user