summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2007-10-02 19:55:05 +0000
committerBill Wendling <isanbard@gmail.com>2007-10-02 19:55:05 +0000
commit88ea107fdb31f10a83967d5bb2296cebd5e47841 (patch)
tree1754a544dc2c968ba38ebb3f353764b10ea1c1aa
parenta3fc412d82e6f56b086b12fe9571c32d8ee335a3 (diff)
downloadbcm5719-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.txt24
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.
+
+//===---------------------------------------------------------------------===//
+
OpenPOWER on IntegriCloud