Teach ComputeNumSignBits about signed divisions.
[oota-llvm.git] / test / Transforms / InstCombine / phi-merge-gep.ll
index 25c9cea9b7705a04431b337c8f0493ed532335c7..b548e51a56a05cf2047c6b4c3f8053970d0a3c12 100644 (file)
@@ -7,39 +7,39 @@
 
 define void @foo(float* %Ar, float* %Ai, i64 %As, float* %Cr, float* %Ci, i64 %Cs, i64 %n) nounwind {
 entry:
-  %0 = getelementptr inbounds float* %Ar, i64 0   ; <float*> [#uses=1]
-  %1 = getelementptr inbounds float* %Ai, i64 0   ; <float*> [#uses=1]
+  %0 = getelementptr inbounds float, float* %Ar, i64 0   ; <float*> [#uses=1]
+  %1 = getelementptr inbounds float, float* %Ai, i64 0   ; <float*> [#uses=1]
   %2 = mul i64 %n, %As                            ; <i64> [#uses=1]
-  %3 = getelementptr inbounds float* %Ar, i64 %2  ; <float*> [#uses=1]
+  %3 = getelementptr inbounds float, float* %Ar, i64 %2  ; <float*> [#uses=1]
   %4 = mul i64 %n, %As                            ; <i64> [#uses=1]
-  %5 = getelementptr inbounds float* %Ai, i64 %4  ; <float*> [#uses=1]
+  %5 = getelementptr inbounds float, float* %Ai, i64 %4  ; <float*> [#uses=1]
   %6 = mul i64 %n, 2                              ; <i64> [#uses=1]
   %7 = mul i64 %6, %As                            ; <i64> [#uses=1]
-  %8 = getelementptr inbounds float* %Ar, i64 %7  ; <float*> [#uses=1]
+  %8 = getelementptr inbounds float, float* %Ar, i64 %7  ; <float*> [#uses=1]
   %9 = mul i64 %n, 2                              ; <i64> [#uses=1]
   %10 = mul i64 %9, %As                           ; <i64> [#uses=1]
-  %11 = getelementptr inbounds float* %Ai, i64 %10 ; <float*> [#uses=1]
-  %12 = getelementptr inbounds float* %Cr, i64 0  ; <float*> [#uses=1]
-  %13 = getelementptr inbounds float* %Ci, i64 0  ; <float*> [#uses=1]
+  %11 = getelementptr inbounds float, float* %Ai, i64 %10 ; <float*> [#uses=1]
+  %12 = getelementptr inbounds float, float* %Cr, i64 0  ; <float*> [#uses=1]
+  %13 = getelementptr inbounds float, float* %Ci, i64 0  ; <float*> [#uses=1]
   %14 = mul i64 %n, %Cs                           ; <i64> [#uses=1]
-  %15 = getelementptr inbounds float* %Cr, i64 %14 ; <float*> [#uses=1]
+  %15 = getelementptr inbounds float, float* %Cr, i64 %14 ; <float*> [#uses=1]
   %16 = mul i64 %n, %Cs                           ; <i64> [#uses=1]
-  %17 = getelementptr inbounds float* %Ci, i64 %16 ; <float*> [#uses=1]
+  %17 = getelementptr inbounds float, float* %Ci, i64 %16 ; <float*> [#uses=1]
   %18 = mul i64 %n, 2                             ; <i64> [#uses=1]
   %19 = mul i64 %18, %Cs                          ; <i64> [#uses=1]
-  %20 = getelementptr inbounds float* %Cr, i64 %19 ; <float*> [#uses=1]
+  %20 = getelementptr inbounds float, float* %Cr, i64 %19 ; <float*> [#uses=1]
   %21 = mul i64 %n, 2                             ; <i64> [#uses=1]
   %22 = mul i64 %21, %Cs                          ; <i64> [#uses=1]
-  %23 = getelementptr inbounds float* %Ci, i64 %22 ; <float*> [#uses=1]
+  %23 = getelementptr inbounds float, float* %Ci, i64 %22 ; <float*> [#uses=1]
   br label %bb13
 
 bb:                                               ; preds = %bb13
-  %24 = load float* %A0r.0, align 4               ; <float> [#uses=1]
-  %25 = load float* %A0i.0, align 4               ; <float> [#uses=1]
-  %26 = load float* %A1r.0, align 4               ; <float> [#uses=2]
-  %27 = load float* %A1i.0, align 4               ; <float> [#uses=2]
-  %28 = load float* %A2r.0, align 4               ; <float> [#uses=2]
-  %29 = load float* %A2i.0, align 4               ; <float> [#uses=2]
+  %24 = load float, float* %A0r.0, align 4               ; <float> [#uses=1]
+  %25 = load float, float* %A0i.0, align 4               ; <float> [#uses=1]
+  %26 = load float, float* %A1r.0, align 4               ; <float> [#uses=2]
+  %27 = load float, float* %A1i.0, align 4               ; <float> [#uses=2]
+  %28 = load float, float* %A2r.0, align 4               ; <float> [#uses=2]
+  %29 = load float, float* %A2i.0, align 4               ; <float> [#uses=2]
   %30 = fadd float %26, %28                       ; <float> [#uses=2]
   %31 = fadd float %27, %29                       ; <float> [#uses=2]
   %32 = fsub float %26, %28                       ; <float> [#uses=1]
@@ -62,18 +62,18 @@ bb:                                               ; preds = %bb13
   store float %43, float* %C1i.0, align 4
   store float %44, float* %C2r.0, align 4
   store float %45, float* %C2i.0, align 4
-  %46 = getelementptr inbounds float* %A0r.0, i64 %As ; <float*> [#uses=1]
-  %47 = getelementptr inbounds float* %A0i.0, i64 %As ; <float*> [#uses=1]
-  %48 = getelementptr inbounds float* %A1r.0, i64 %As ; <float*> [#uses=1]
-  %49 = getelementptr inbounds float* %A1i.0, i64 %As ; <float*> [#uses=1]
-  %50 = getelementptr inbounds float* %A2r.0, i64 %As ; <float*> [#uses=1]
-  %51 = getelementptr inbounds float* %A2i.0, i64 %As ; <float*> [#uses=1]
-  %52 = getelementptr inbounds float* %C0r.0, i64 %Cs ; <float*> [#uses=1]
-  %53 = getelementptr inbounds float* %C0i.0, i64 %Cs ; <float*> [#uses=1]
-  %54 = getelementptr inbounds float* %C1r.0, i64 %Cs ; <float*> [#uses=1]
-  %55 = getelementptr inbounds float* %C1i.0, i64 %Cs ; <float*> [#uses=1]
-  %56 = getelementptr inbounds float* %C2r.0, i64 %Cs ; <float*> [#uses=1]
-  %57 = getelementptr inbounds float* %C2i.0, i64 %Cs ; <float*> [#uses=1]
+  %46 = getelementptr inbounds float, float* %A0r.0, i64 %As ; <float*> [#uses=1]
+  %47 = getelementptr inbounds float, float* %A0i.0, i64 %As ; <float*> [#uses=1]
+  %48 = getelementptr inbounds float, float* %A1r.0, i64 %As ; <float*> [#uses=1]
+  %49 = getelementptr inbounds float, float* %A1i.0, i64 %As ; <float*> [#uses=1]
+  %50 = getelementptr inbounds float, float* %A2r.0, i64 %As ; <float*> [#uses=1]
+  %51 = getelementptr inbounds float, float* %A2i.0, i64 %As ; <float*> [#uses=1]
+  %52 = getelementptr inbounds float, float* %C0r.0, i64 %Cs ; <float*> [#uses=1]
+  %53 = getelementptr inbounds float, float* %C0i.0, i64 %Cs ; <float*> [#uses=1]
+  %54 = getelementptr inbounds float, float* %C1r.0, i64 %Cs ; <float*> [#uses=1]
+  %55 = getelementptr inbounds float, float* %C1i.0, i64 %Cs ; <float*> [#uses=1]
+  %56 = getelementptr inbounds float, float* %C2r.0, i64 %Cs ; <float*> [#uses=1]
+  %57 = getelementptr inbounds float, float* %C2i.0, i64 %Cs ; <float*> [#uses=1]
   %58 = add nsw i64 %i.0, 1                       ; <i64> [#uses=1]
   br label %bb13