|
@@ -509,6 +509,7 @@ interface
|
|
if (not(cs_check_overflow in current_settings.localswitches)) and
|
|
if (not(cs_check_overflow in current_settings.localswitches)) and
|
|
(nodetype in [muln]) and
|
|
(nodetype in [muln]) and
|
|
(is_64bitint(left.resultdef)) and
|
|
(is_64bitint(left.resultdef)) and
|
|
|
|
+ not(GenerateThumbCode) and
|
|
(CPUARM_HAS_UMULL in cpu_capabilities[current_settings.cputype]) then
|
|
(CPUARM_HAS_UMULL in cpu_capabilities[current_settings.cputype]) then
|
|
begin
|
|
begin
|
|
result := nil;
|
|
result := nil;
|
|
@@ -649,7 +650,9 @@ interface
|
|
var
|
|
var
|
|
unsigned: boolean;
|
|
unsigned: boolean;
|
|
begin
|
|
begin
|
|
- if (nodetype=muln) and is_64bit(resultdef) and
|
|
|
|
|
|
+ if (nodetype=muln) and
|
|
|
|
+ is_64bit(resultdef) and
|
|
|
|
+ not(GenerateThumbCode) and
|
|
(CPUARM_HAS_UMULL in cpu_capabilities[current_settings.cputype]) then
|
|
(CPUARM_HAS_UMULL in cpu_capabilities[current_settings.cputype]) then
|
|
begin
|
|
begin
|
|
pass_left_right;
|
|
pass_left_right;
|