Micro-optimization -- missed LICM opportunity.
authorBill Wendling <isanbard@gmail.com>
Tue, 2 Oct 2007 19:55:05 +0000 (19:55 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 2 Oct 2007 19:55:05 +0000 (19:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42542 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/README-SSE.txt

index 9d642910b73672a9475993df1e839d60d41e998b..20e5a91dc515f25dda5aae025e744da207d526ac 100644 (file)
@@ -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.
+
+//===---------------------------------------------------------------------===//
+