2
0
Эх сурвалжийг харах

Disable generation of UMULL when generating thumb1 code

git-svn-id: trunk@26355 -
masta 11 жил өмнө
parent
commit
bcec29f1b4

+ 4 - 1
compiler/arm/narmadd.pas

@@ -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;