[opaque pointer type] Add textual IR support for explicit type parameter to getelemen...
[oota-llvm.git] / test / Transforms / SLPVectorizer / X86 / intrinsic.ll
index 937252f4146bec06b2f1dd586b7c72d72f7639d3..974d7e64b7b6c355343006d893a2a145cfe2f922 100644 (file)
@@ -17,14 +17,14 @@ entry:
   %i1 = load double* %b, align 8
   %mul = fmul double %i0, %i1
   %call = tail call double @llvm.fabs.f64(double %mul) nounwind readnone
-  %arrayidx3 = getelementptr inbounds double* %a, i64 1
+  %arrayidx3 = getelementptr inbounds double, double* %a, i64 1
   %i3 = load double* %arrayidx3, align 8
-  %arrayidx4 = getelementptr inbounds double* %b, i64 1
+  %arrayidx4 = getelementptr inbounds double, double* %b, i64 1
   %i4 = load double* %arrayidx4, align 8
   %mul5 = fmul double %i3, %i4
   %call5 = tail call double @llvm.fabs.f64(double %mul5) nounwind readnone
   store double %call, double* %c, align 8
-  %arrayidx5 = getelementptr inbounds double* %c, i64 1
+  %arrayidx5 = getelementptr inbounds double, double* %c, i64 1
   store double %call5, double* %arrayidx5, align 8
   ret void
 }
@@ -44,28 +44,28 @@ entry:
   %call0 = tail call float @llvm.copysign.f32(float %0, float %1) nounwind readnone
   store float %call0, float* %c, align 4
 
-  %ix2 = getelementptr inbounds float* %a, i64 1
+  %ix2 = getelementptr inbounds float, float* %a, i64 1
   %2 = load float* %ix2, align 4
-  %ix3 = getelementptr inbounds float* %b, i64 1
+  %ix3 = getelementptr inbounds float, float* %b, i64 1
   %3 = load float* %ix3, align 4
   %call1 = tail call float @llvm.copysign.f32(float %2, float %3) nounwind readnone
-  %c1 = getelementptr inbounds float* %c, i64 1
+  %c1 = getelementptr inbounds float, float* %c, i64 1
   store float %call1, float* %c1, align 4
 
-  %ix4 = getelementptr inbounds float* %a, i64 2
+  %ix4 = getelementptr inbounds float, float* %a, i64 2
   %4 = load float* %ix4, align 4
-  %ix5 = getelementptr inbounds float* %b, i64 2
+  %ix5 = getelementptr inbounds float, float* %b, i64 2
   %5 = load float* %ix5, align 4
   %call2 = tail call float @llvm.copysign.f32(float %4, float %5) nounwind readnone
-  %c2 = getelementptr inbounds float* %c, i64 2
+  %c2 = getelementptr inbounds float, float* %c, i64 2
   store float %call2, float* %c2, align 4
 
-  %ix6 = getelementptr inbounds float* %a, i64 3
+  %ix6 = getelementptr inbounds float, float* %a, i64 3
   %6 = load float* %ix6, align 4
-  %ix7 = getelementptr inbounds float* %b, i64 3
+  %ix7 = getelementptr inbounds float, float* %b, i64 3
   %7 = load float* %ix7, align 4
   %call3 = tail call float @llvm.copysign.f32(float %6, float %7) nounwind readnone
-  %c3 = getelementptr inbounds float* %c, i64 3
+  %c3 = getelementptr inbounds float, float* %c, i64 3
   store float %call3, float* %c3, align 4
 
   ret void
@@ -80,33 +80,33 @@ entry:
   %add1 = add i32 %i0, %i1
   %call1 = tail call i32 @llvm.bswap.i32(i32 %add1) nounwind readnone
 
-  %arrayidx2 = getelementptr inbounds i32* %a, i32 1
+  %arrayidx2 = getelementptr inbounds i32, i32* %a, i32 1
   %i2 = load i32* %arrayidx2, align 4
-  %arrayidx3 = getelementptr inbounds i32* %b, i32 1
+  %arrayidx3 = getelementptr inbounds i32, i32* %b, i32 1
   %i3 = load i32* %arrayidx3, align 4
   %add2 = add i32 %i2, %i3
   %call2 = tail call i32 @llvm.bswap.i32(i32 %add2) nounwind readnone
 
-  %arrayidx4 = getelementptr inbounds i32* %a, i32 2
+  %arrayidx4 = getelementptr inbounds i32, i32* %a, i32 2
   %i4 = load i32* %arrayidx4, align 4
-  %arrayidx5 = getelementptr inbounds i32* %b, i32 2
+  %arrayidx5 = getelementptr inbounds i32, i32* %b, i32 2
   %i5 = load i32* %arrayidx5, align 4
   %add3 = add i32 %i4, %i5
   %call3 = tail call i32 @llvm.bswap.i32(i32 %add3) nounwind readnone
 
-  %arrayidx6 = getelementptr inbounds i32* %a, i32 3
+  %arrayidx6 = getelementptr inbounds i32, i32* %a, i32 3
   %i6 = load i32* %arrayidx6, align 4
-  %arrayidx7 = getelementptr inbounds i32* %b, i32 3
+  %arrayidx7 = getelementptr inbounds i32, i32* %b, i32 3
   %i7 = load i32* %arrayidx7, align 4
   %add4 = add i32 %i6, %i7
   %call4 = tail call i32 @llvm.bswap.i32(i32 %add4) nounwind readnone
 
   store i32 %call1, i32* %c, align 4
-  %arrayidx8 = getelementptr inbounds i32* %c, i32 1
+  %arrayidx8 = getelementptr inbounds i32, i32* %c, i32 1
   store i32 %call2, i32* %arrayidx8, align 4
-  %arrayidx9 = getelementptr inbounds i32* %c, i32 2
+  %arrayidx9 = getelementptr inbounds i32, i32* %c, i32 2
   store i32 %call3, i32* %arrayidx9, align 4
-  %arrayidx10 = getelementptr inbounds i32* %c, i32 3
+  %arrayidx10 = getelementptr inbounds i32, i32* %c, i32 3
   store i32 %call4, i32* %arrayidx10, align 4
   ret void
 
@@ -127,33 +127,33 @@ entry:
   %add1 = add i32 %i0, %i1
   %call1 = tail call i32 @llvm.ctlz.i32(i32 %add1,i1 true) nounwind readnone
 
-  %arrayidx2 = getelementptr inbounds i32* %a, i32 1
+  %arrayidx2 = getelementptr inbounds i32, i32* %a, i32 1
   %i2 = load i32* %arrayidx2, align 4
-  %arrayidx3 = getelementptr inbounds i32* %b, i32 1
+  %arrayidx3 = getelementptr inbounds i32, i32* %b, i32 1
   %i3 = load i32* %arrayidx3, align 4
   %add2 = add i32 %i2, %i3
   %call2 = tail call i32 @llvm.ctlz.i32(i32 %add2,i1 true) nounwind readnone
 
-  %arrayidx4 = getelementptr inbounds i32* %a, i32 2
+  %arrayidx4 = getelementptr inbounds i32, i32* %a, i32 2
   %i4 = load i32* %arrayidx4, align 4
-  %arrayidx5 = getelementptr inbounds i32* %b, i32 2
+  %arrayidx5 = getelementptr inbounds i32, i32* %b, i32 2
   %i5 = load i32* %arrayidx5, align 4
   %add3 = add i32 %i4, %i5
   %call3 = tail call i32 @llvm.ctlz.i32(i32 %add3,i1 true) nounwind readnone
 
-  %arrayidx6 = getelementptr inbounds i32* %a, i32 3
+  %arrayidx6 = getelementptr inbounds i32, i32* %a, i32 3
   %i6 = load i32* %arrayidx6, align 4
-  %arrayidx7 = getelementptr inbounds i32* %b, i32 3
+  %arrayidx7 = getelementptr inbounds i32, i32* %b, i32 3
   %i7 = load i32* %arrayidx7, align 4
   %add4 = add i32 %i6, %i7
   %call4 = tail call i32 @llvm.ctlz.i32(i32 %add4,i1 true) nounwind readnone
 
   store i32 %call1, i32* %c, align 4
-  %arrayidx8 = getelementptr inbounds i32* %c, i32 1
+  %arrayidx8 = getelementptr inbounds i32, i32* %c, i32 1
   store i32 %call2, i32* %arrayidx8, align 4
-  %arrayidx9 = getelementptr inbounds i32* %c, i32 2
+  %arrayidx9 = getelementptr inbounds i32, i32* %c, i32 2
   store i32 %call3, i32* %arrayidx9, align 4
-  %arrayidx10 = getelementptr inbounds i32* %c, i32 3
+  %arrayidx10 = getelementptr inbounds i32, i32* %c, i32 3
   store i32 %call4, i32* %arrayidx10, align 4
   ret void
 
@@ -172,33 +172,33 @@ entry:
   %add1 = add i32 %i0, %i1
   %call1 = tail call i32 @llvm.ctlz.i32(i32 %add1,i1 true) nounwind readnone
 
-  %arrayidx2 = getelementptr inbounds i32* %a, i32 1
+  %arrayidx2 = getelementptr inbounds i32, i32* %a, i32 1
   %i2 = load i32* %arrayidx2, align 4
-  %arrayidx3 = getelementptr inbounds i32* %b, i32 1
+  %arrayidx3 = getelementptr inbounds i32, i32* %b, i32 1
   %i3 = load i32* %arrayidx3, align 4
   %add2 = add i32 %i2, %i3
   %call2 = tail call i32 @llvm.ctlz.i32(i32 %add2,i1 false) nounwind readnone
 
-  %arrayidx4 = getelementptr inbounds i32* %a, i32 2
+  %arrayidx4 = getelementptr inbounds i32, i32* %a, i32 2
   %i4 = load i32* %arrayidx4, align 4
-  %arrayidx5 = getelementptr inbounds i32* %b, i32 2
+  %arrayidx5 = getelementptr inbounds i32, i32* %b, i32 2
   %i5 = load i32* %arrayidx5, align 4
   %add3 = add i32 %i4, %i5
   %call3 = tail call i32 @llvm.ctlz.i32(i32 %add3,i1 true) nounwind readnone
 
-  %arrayidx6 = getelementptr inbounds i32* %a, i32 3
+  %arrayidx6 = getelementptr inbounds i32, i32* %a, i32 3
   %i6 = load i32* %arrayidx6, align 4
-  %arrayidx7 = getelementptr inbounds i32* %b, i32 3
+  %arrayidx7 = getelementptr inbounds i32, i32* %b, i32 3
   %i7 = load i32* %arrayidx7, align 4
   %add4 = add i32 %i6, %i7
   %call4 = tail call i32 @llvm.ctlz.i32(i32 %add4,i1 false) nounwind readnone
 
   store i32 %call1, i32* %c, align 4
-  %arrayidx8 = getelementptr inbounds i32* %c, i32 1
+  %arrayidx8 = getelementptr inbounds i32, i32* %c, i32 1
   store i32 %call2, i32* %arrayidx8, align 4
-  %arrayidx9 = getelementptr inbounds i32* %c, i32 2
+  %arrayidx9 = getelementptr inbounds i32, i32* %c, i32 2
   store i32 %call3, i32* %arrayidx9, align 4
-  %arrayidx10 = getelementptr inbounds i32* %c, i32 3
+  %arrayidx10 = getelementptr inbounds i32, i32* %c, i32 3
   store i32 %call4, i32* %arrayidx10, align 4
   ret void
 
@@ -217,33 +217,33 @@ entry:
   %add1 = add i32 %i0, %i1
   %call1 = tail call i32 @llvm.cttz.i32(i32 %add1,i1 true) nounwind readnone
 
-  %arrayidx2 = getelementptr inbounds i32* %a, i32 1
+  %arrayidx2 = getelementptr inbounds i32, i32* %a, i32 1
   %i2 = load i32* %arrayidx2, align 4
-  %arrayidx3 = getelementptr inbounds i32* %b, i32 1
+  %arrayidx3 = getelementptr inbounds i32, i32* %b, i32 1
   %i3 = load i32* %arrayidx3, align 4
   %add2 = add i32 %i2, %i3
   %call2 = tail call i32 @llvm.cttz.i32(i32 %add2,i1 true) nounwind readnone
 
-  %arrayidx4 = getelementptr inbounds i32* %a, i32 2
+  %arrayidx4 = getelementptr inbounds i32, i32* %a, i32 2
   %i4 = load i32* %arrayidx4, align 4
-  %arrayidx5 = getelementptr inbounds i32* %b, i32 2
+  %arrayidx5 = getelementptr inbounds i32, i32* %b, i32 2
   %i5 = load i32* %arrayidx5, align 4
   %add3 = add i32 %i4, %i5
   %call3 = tail call i32 @llvm.cttz.i32(i32 %add3,i1 true) nounwind readnone
 
-  %arrayidx6 = getelementptr inbounds i32* %a, i32 3
+  %arrayidx6 = getelementptr inbounds i32, i32* %a, i32 3
   %i6 = load i32* %arrayidx6, align 4
-  %arrayidx7 = getelementptr inbounds i32* %b, i32 3
+  %arrayidx7 = getelementptr inbounds i32, i32* %b, i32 3
   %i7 = load i32* %arrayidx7, align 4
   %add4 = add i32 %i6, %i7
   %call4 = tail call i32 @llvm.cttz.i32(i32 %add4,i1 true) nounwind readnone
 
   store i32 %call1, i32* %c, align 4
-  %arrayidx8 = getelementptr inbounds i32* %c, i32 1
+  %arrayidx8 = getelementptr inbounds i32, i32* %c, i32 1
   store i32 %call2, i32* %arrayidx8, align 4
-  %arrayidx9 = getelementptr inbounds i32* %c, i32 2
+  %arrayidx9 = getelementptr inbounds i32, i32* %c, i32 2
   store i32 %call3, i32* %arrayidx9, align 4
-  %arrayidx10 = getelementptr inbounds i32* %c, i32 3
+  %arrayidx10 = getelementptr inbounds i32, i32* %c, i32 3
   store i32 %call4, i32* %arrayidx10, align 4
   ret void
 
@@ -262,33 +262,33 @@ entry:
   %add1 = add i32 %i0, %i1
   %call1 = tail call i32 @llvm.cttz.i32(i32 %add1,i1 true) nounwind readnone
 
-  %arrayidx2 = getelementptr inbounds i32* %a, i32 1
+  %arrayidx2 = getelementptr inbounds i32, i32* %a, i32 1
   %i2 = load i32* %arrayidx2, align 4
-  %arrayidx3 = getelementptr inbounds i32* %b, i32 1
+  %arrayidx3 = getelementptr inbounds i32, i32* %b, i32 1
   %i3 = load i32* %arrayidx3, align 4
   %add2 = add i32 %i2, %i3
   %call2 = tail call i32 @llvm.cttz.i32(i32 %add2,i1 false) nounwind readnone
 
-  %arrayidx4 = getelementptr inbounds i32* %a, i32 2
+  %arrayidx4 = getelementptr inbounds i32, i32* %a, i32 2
   %i4 = load i32* %arrayidx4, align 4
-  %arrayidx5 = getelementptr inbounds i32* %b, i32 2
+  %arrayidx5 = getelementptr inbounds i32, i32* %b, i32 2
   %i5 = load i32* %arrayidx5, align 4
   %add3 = add i32 %i4, %i5
   %call3 = tail call i32 @llvm.cttz.i32(i32 %add3,i1 true) nounwind readnone
 
-  %arrayidx6 = getelementptr inbounds i32* %a, i32 3
+  %arrayidx6 = getelementptr inbounds i32, i32* %a, i32 3
   %i6 = load i32* %arrayidx6, align 4
-  %arrayidx7 = getelementptr inbounds i32* %b, i32 3
+  %arrayidx7 = getelementptr inbounds i32, i32* %b, i32 3
   %i7 = load i32* %arrayidx7, align 4
   %add4 = add i32 %i6, %i7
   %call4 = tail call i32 @llvm.cttz.i32(i32 %add4,i1 false) nounwind readnone
 
   store i32 %call1, i32* %c, align 4
-  %arrayidx8 = getelementptr inbounds i32* %c, i32 1
+  %arrayidx8 = getelementptr inbounds i32, i32* %c, i32 1
   store i32 %call2, i32* %arrayidx8, align 4
-  %arrayidx9 = getelementptr inbounds i32* %c, i32 2
+  %arrayidx9 = getelementptr inbounds i32, i32* %c, i32 2
   store i32 %call3, i32* %arrayidx9, align 4
-  %arrayidx10 = getelementptr inbounds i32* %c, i32 3
+  %arrayidx10 = getelementptr inbounds i32, i32* %c, i32 3
   store i32 %call4, i32* %arrayidx10, align 4
   ret void
 
@@ -305,33 +305,33 @@ entry:
   %add1 = fadd float %i0, %i1
   %call1 = tail call float @llvm.powi.f32(float %add1,i32 %P) nounwind readnone
 
-  %arrayidx2 = getelementptr inbounds float* %a, i32 1
+  %arrayidx2 = getelementptr inbounds float, float* %a, i32 1
   %i2 = load float* %arrayidx2, align 4
-  %arrayidx3 = getelementptr inbounds float* %b, i32 1
+  %arrayidx3 = getelementptr inbounds float, float* %b, i32 1
   %i3 = load float* %arrayidx3, align 4
   %add2 = fadd float %i2, %i3
   %call2 = tail call float @llvm.powi.f32(float %add2,i32 %P) nounwind readnone
 
-  %arrayidx4 = getelementptr inbounds float* %a, i32 2
+  %arrayidx4 = getelementptr inbounds float, float* %a, i32 2
   %i4 = load float* %arrayidx4, align 4
-  %arrayidx5 = getelementptr inbounds float* %b, i32 2
+  %arrayidx5 = getelementptr inbounds float, float* %b, i32 2
   %i5 = load float* %arrayidx5, align 4
   %add3 = fadd float %i4, %i5
   %call3 = tail call float @llvm.powi.f32(float %add3,i32 %P) nounwind readnone
 
-  %arrayidx6 = getelementptr inbounds float* %a, i32 3
+  %arrayidx6 = getelementptr inbounds float, float* %a, i32 3
   %i6 = load float* %arrayidx6, align 4
-  %arrayidx7 = getelementptr inbounds float* %b, i32 3
+  %arrayidx7 = getelementptr inbounds float, float* %b, i32 3
   %i7 = load float* %arrayidx7, align 4
   %add4 = fadd float %i6, %i7
   %call4 = tail call float @llvm.powi.f32(float %add4,i32 %P) nounwind readnone
 
   store float %call1, float* %c, align 4
-  %arrayidx8 = getelementptr inbounds float* %c, i32 1
+  %arrayidx8 = getelementptr inbounds float, float* %c, i32 1
   store float %call2, float* %arrayidx8, align 4
-  %arrayidx9 = getelementptr inbounds float* %c, i32 2
+  %arrayidx9 = getelementptr inbounds float, float* %c, i32 2
   store float %call3, float* %arrayidx9, align 4
-  %arrayidx10 = getelementptr inbounds float* %c, i32 3
+  %arrayidx10 = getelementptr inbounds float, float* %c, i32 3
   store float %call4, float* %arrayidx10, align 4
   ret void
 
@@ -351,33 +351,33 @@ entry:
   %add1 = fadd float %i0, %i1
   %call1 = tail call float @llvm.powi.f32(float %add1,i32 %P) nounwind readnone
 
-  %arrayidx2 = getelementptr inbounds float* %a, i32 1
+  %arrayidx2 = getelementptr inbounds float, float* %a, i32 1
   %i2 = load float* %arrayidx2, align 4
-  %arrayidx3 = getelementptr inbounds float* %b, i32 1
+  %arrayidx3 = getelementptr inbounds float, float* %b, i32 1
   %i3 = load float* %arrayidx3, align 4
   %add2 = fadd float %i2, %i3
   %call2 = tail call float @llvm.powi.f32(float %add2,i32 %Q) nounwind readnone
 
-  %arrayidx4 = getelementptr inbounds float* %a, i32 2
+  %arrayidx4 = getelementptr inbounds float, float* %a, i32 2
   %i4 = load float* %arrayidx4, align 4
-  %arrayidx5 = getelementptr inbounds float* %b, i32 2
+  %arrayidx5 = getelementptr inbounds float, float* %b, i32 2
   %i5 = load float* %arrayidx5, align 4
   %add3 = fadd float %i4, %i5
   %call3 = tail call float @llvm.powi.f32(float %add3,i32 %P) nounwind readnone
 
-  %arrayidx6 = getelementptr inbounds float* %a, i32 3
+  %arrayidx6 = getelementptr inbounds float, float* %a, i32 3
   %i6 = load float* %arrayidx6, align 4
-  %arrayidx7 = getelementptr inbounds float* %b, i32 3
+  %arrayidx7 = getelementptr inbounds float, float* %b, i32 3
   %i7 = load float* %arrayidx7, align 4
   %add4 = fadd float %i6, %i7
   %call4 = tail call float @llvm.powi.f32(float %add4,i32 %Q) nounwind readnone
 
   store float %call1, float* %c, align 4
-  %arrayidx8 = getelementptr inbounds float* %c, i32 1
+  %arrayidx8 = getelementptr inbounds float, float* %c, i32 1
   store float %call2, float* %arrayidx8, align 4
-  %arrayidx9 = getelementptr inbounds float* %c, i32 2
+  %arrayidx9 = getelementptr inbounds float, float* %c, i32 2
   store float %call3, float* %arrayidx9, align 4
-  %arrayidx10 = getelementptr inbounds float* %c, i32 3
+  %arrayidx10 = getelementptr inbounds float, float* %c, i32 3
   store float %call4, float* %arrayidx10, align 4
   ret void