Browse Source

m68k: enabled the mul to shift+sub/add optimizations for 68000

git-svn-id: trunk@34762 -
Károly Balogh 8 years ago
parent
commit
57e6cef18b
1 changed files with 6 additions and 7 deletions
  1. 6 7
      compiler/m68k/cgcpu.pas

+ 6 - 7
compiler/m68k/cgcpu.pas

@@ -1192,13 +1192,12 @@ unit cgcpu;
                       end
                     else
                       { Fallback branch, plain 68000 for now }
-                      { FIX ME: this is slow as hell, but original 68000 doesn't have 32x32 -> 32bit MUL (KB) }
-                      { TODO: verify mul to shift+sub/add results and enable this }
-                      // if not optimize_const_mul_to_shift_sub_add(list, 5, a, size, reg) then
-                      if op = OP_MUL then
-                        call_rtl_mul_const_reg(list, size, a, reg,'fpc_mul_dword')
-                      else
-                        call_rtl_mul_const_reg(list, size, a, reg,'fpc_mul_longint');
+                      if not optimize_const_mul_to_shift_sub_add(list, 5, a, size, reg) then
+                        { FIX ME: this is slow as hell, but original 68000 doesn't have 32x32 -> 32bit MUL (KB) }
+                        if op = OP_MUL then
+                          call_rtl_mul_const_reg(list, size, a, reg,'fpc_mul_dword')
+                        else
+                          call_rtl_mul_const_reg(list, size, a, reg,'fpc_mul_longint');
                   end;
               end;
           OP_ROL,