diff options
author | Chris Lattner <sabre@nondot.org> | 2007-12-18 16:48:14 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-12-18 16:48:14 +0000 |
commit | 4185b52183bd0269258ac5e28ad34f145609209d (patch) | |
tree | cf14a727a511fe0324328e6a6d2f20ada2b27430 | |
parent | 2b0e8990ab33ec2dad21286d3ce01dbb4bbe63c1 (diff) |
add an obvious load folding missed optzn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45161 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/README.txt | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 7705c1ba31..8effd47766 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -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 + +//===---------------------------------------------------------------------===// + |