OSDN Git Service

add an obvious load folding missed optzn.
authorChris Lattner <sabre@nondot.org>
Tue, 18 Dec 2007 16:48:14 +0000 (16:48 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 18 Dec 2007 16:48:14 +0000 (16:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45161 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/README.txt

index 7705c1b..8effd47 100644 (file)
@@ -1552,3 +1552,24 @@ _foo:
         andl    $65535, %eax
         ret
 
+//===---------------------------------------------------------------------===//
+
+We're missing an obvious fold of a load into imul:
+
+int test(long a, long b) { return a * b; } 
+
+LLVM produces:
+_test:
+        movl    4(%esp), %ecx
+        movl    8(%esp), %eax
+        imull   %ecx, %eax
+        ret
+
+vs:
+_test:
+        movl    8(%esp), %eax
+        imull   4(%esp), %eax
+        ret
+
+//===---------------------------------------------------------------------===//
+