Explorar o código

light modification

Nicolas Winkler %!s(int64=7) %!d(string=hai) anos
pai
achega
ff81669105
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      src/AssemblyGenerator.cpp

+ 5 - 1
src/AssemblyGenerator.cpp

@@ -167,7 +167,11 @@ void AssemblyGenerator::compileMult(Index index, Cell factor)
     }
     // check if factor is power of two
     else if ((factor & (factor - 1)) == 0) {
-        if (factor <= 8) {
+        if (factor == 2) {
+            write("leal (%rax,%rax), %ecx");
+            write("addb %cl, ", index, ptr());
+        }
+        else if (factor <= 8) {
             write("leal (,%eax,", int(factor), "), %ecx");
             write("addb %cl, ", index, ptr());
         }