aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2007-10-02 21:01:16 +0000
committerBill Wendling <isanbard@gmail.com>2007-10-02 21:01:16 +0000
commit6dbb1b59ae4e0d144b38ddfe22bef128e3e73522 (patch)
tree9432173877892c302416a6be4983595bd6a26cff
parent8d1c8ce3d85d006fb228bfe04aa2a8b53bb6bda2 (diff)
Now with source code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42548 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/README-SSE.txt16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/Target/X86/README-SSE.txt b/lib/Target/X86/README-SSE.txt
index 20e5a91dc5..653a35a7c1 100644
--- a/lib/Target/X86/README-SSE.txt
+++ b/lib/Target/X86/README-SSE.txt
@@ -673,6 +673,22 @@ beneficial because it prevents the load from being folded into the multiply.
In this loop:
+bb49: ; preds = %bb49, %bb49.preheader
+ %indvar = phi i32 [ 0, %bb49.preheader ], [ %indvar.next, %bb49 ] ; <i32> [#uses=2]
+ %dp.089.0.rec = shl i32 %indvar, 3 ; <i32> [#uses=2]
+ %dp.089.0 = getelementptr i32* %tmp89, i32 %dp.089.0.rec ; <i32*> [#uses=1]
+ %tmp5051 = bitcast i32* %dp.089.0 to <2 x i64>* ; <<2 x i64>*> [#uses=1]
+ store <2 x i64> zeroinitializer, <2 x i64>* %tmp5051, align 16
+ %dp.089.0.sum105 = or i32 %dp.089.0.rec, 4 ; <i32> [#uses=1]
+ %tmp56 = getelementptr i32* %tmp89, i32 %dp.089.0.sum105 ; <i32*> [#uses=1]
+ %tmp5657 = bitcast i32* %tmp56 to <2 x i64>* ; <<2 x i64>*> [#uses=1]
+ store <2 x i64> zeroinitializer, <2 x i64>* %tmp5657, align 16
+ %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=2]
+ %exitcond = icmp eq i32 %indvar.next, %tmp98 ; <i1> [#uses=1]
+ br i1 %exitcond, label %bb72, label %bb49
+
+we get:
+
LBB4_6: # bb47.preheader
shlw $2, %si
decw %si