diff options
| author | Bill Wendling <isanbard@gmail.com> | 2007-10-02 19:55:05 +0000 |
|---|---|---|
| committer | Bill Wendling <isanbard@gmail.com> | 2007-10-02 19:55:05 +0000 |
| commit | 88ea107fdb31f10a83967d5bb2296cebd5e47841 (patch) | |
| tree | 1754a544dc2c968ba38ebb3f353764b10ea1c1aa | |
| parent | a3fc412d82e6f56b086b12fe9571c32d8ee335a3 (diff) | |
| download | bcm5719-llvm-88ea107fdb31f10a83967d5bb2296cebd5e47841.tar.gz bcm5719-llvm-88ea107fdb31f10a83967d5bb2296cebd5e47841.zip | |
Micro-optimization -- missed LICM opportunity.
llvm-svn: 42542
| -rw-r--r-- | llvm/lib/Target/X86/README-SSE.txt | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/README-SSE.txt b/llvm/lib/Target/X86/README-SSE.txt index 9d642910b73..20e5a91dc51 100644 --- a/llvm/lib/Target/X86/README-SSE.txt +++ b/llvm/lib/Target/X86/README-SSE.txt @@ -671,3 +671,27 @@ beneficial because it prevents the load from being folded into the multiply. //===---------------------------------------------------------------------===// +In this loop: + +LBB4_6: # bb47.preheader + shlw $2, %si + decw %si + movzwl %si, %eax + incl %eax + xorl %ecx, %ecx +LBB4_7: # bb47 + xorps %xmm0, %xmm0 # (1) + movaps %xmm0, (%edx) + movaps %xmm0, 16(%edx) + addl $32, %edx + incl %ecx + cmpl %eax, %ecx + jne LBB4_7 # bb47 +LBB4_8: # bb42.return_crit_edge + xorw %si, %si + jmp LBB4_12 # return + +The instruction at (1) can be moved out of the main body of the loop. + +//===---------------------------------------------------------------------===// + |

