[opaque pointer type] Add textual IR support for explicit type parameter to getelemen...
[oota-llvm.git] / test / CodeGen / SystemZ / frame-15.ll
index b3c95e73c1af6036a64f62c83a9a2ea9f653996d..a88ca33f13b60874f61b7ed6d39e248d821860ab 100644 (file)
@@ -36,11 +36,11 @@ define void @f1(double *%dst) {
 ; CHECK-FP: br %r14
   %region1 = alloca [978 x float], align 8
   %region2 = alloca [978 x float], align 8
-  %start1 = getelementptr inbounds [978 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [978 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [978 x float], [978 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [978 x float], [978 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %ptr1 = getelementptr inbounds [978 x float]* %region1, i64 0, i64 1
-  %ptr2 = getelementptr inbounds [978 x float]* %region2, i64 0, i64 1
+  %ptr1 = getelementptr inbounds [978 x float], [978 x float]* %region1, i64 0, i64 1
+  %ptr2 = getelementptr inbounds [978 x float], [978 x float]* %region2, i64 0, i64 1
   %float1 = load float *%ptr1
   %float2 = load float *%ptr2
   %double1 = fpext float %float1 to double
@@ -63,11 +63,11 @@ define void @f2(double *%dst) {
 ; CHECK-FP: br %r14
   %region1 = alloca [978 x float], align 8
   %region2 = alloca [978 x float], align 8
-  %start1 = getelementptr inbounds [978 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [978 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [978 x float], [978 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [978 x float], [978 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %ptr1 = getelementptr inbounds [978 x float]* %region1, i64 0, i64 2
-  %ptr2 = getelementptr inbounds [978 x float]* %region2, i64 0, i64 2
+  %ptr1 = getelementptr inbounds [978 x float], [978 x float]* %region1, i64 0, i64 2
+  %ptr2 = getelementptr inbounds [978 x float], [978 x float]* %region2, i64 0, i64 2
   %float1 = load float *%ptr1
   %float2 = load float *%ptr2
   %double1 = fpext float %float1 to double
@@ -90,11 +90,11 @@ define void @f3(double *%dst) {
 ; CHECK-FP: br %r14
   %region1 = alloca [978 x float], align 8
   %region2 = alloca [978 x float], align 8
-  %start1 = getelementptr inbounds [978 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [978 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [978 x float], [978 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [978 x float], [978 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %ptr1 = getelementptr inbounds [978 x float]* %region1, i64 0, i64 3
-  %ptr2 = getelementptr inbounds [978 x float]* %region2, i64 0, i64 3
+  %ptr1 = getelementptr inbounds [978 x float], [978 x float]* %region1, i64 0, i64 3
+  %ptr2 = getelementptr inbounds [978 x float], [978 x float]* %region2, i64 0, i64 3
   %float1 = load float *%ptr1
   %float2 = load float *%ptr2
   %double1 = fpext float %float1 to double
@@ -117,11 +117,11 @@ define void @f4(double *%dst) {
 ; CHECK-FP: br %r14
   %region1 = alloca [2002 x float], align 8
   %region2 = alloca [2002 x float], align 8
-  %start1 = getelementptr inbounds [2002 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [2002 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [2002 x float], [2002 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [2002 x float], [2002 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %ptr1 = getelementptr inbounds [2002 x float]* %region1, i64 0, i64 1
-  %ptr2 = getelementptr inbounds [2002 x float]* %region2, i64 0, i64 1
+  %ptr1 = getelementptr inbounds [2002 x float], [2002 x float]* %region1, i64 0, i64 1
+  %ptr2 = getelementptr inbounds [2002 x float], [2002 x float]* %region2, i64 0, i64 1
   %float1 = load float *%ptr1
   %float2 = load float *%ptr2
   %double1 = fpext float %float1 to double
@@ -144,11 +144,11 @@ define void @f5(double *%dst) {
 ; CHECK-FP: br %r14
   %region1 = alloca [2002 x float], align 8
   %region2 = alloca [2002 x float], align 8
-  %start1 = getelementptr inbounds [2002 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [2002 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [2002 x float], [2002 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [2002 x float], [2002 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %ptr1 = getelementptr inbounds [2002 x float]* %region1, i64 0, i64 2
-  %ptr2 = getelementptr inbounds [2002 x float]* %region2, i64 0, i64 2
+  %ptr1 = getelementptr inbounds [2002 x float], [2002 x float]* %region1, i64 0, i64 2
+  %ptr2 = getelementptr inbounds [2002 x float], [2002 x float]* %region2, i64 0, i64 2
   %float1 = load float *%ptr1
   %float2 = load float *%ptr2
   %double1 = fpext float %float1 to double
@@ -171,11 +171,11 @@ define void @f6(double *%dst) {
 ; CHECK-FP: br %r14
   %region1 = alloca [2002 x float], align 8
   %region2 = alloca [2002 x float], align 8
-  %start1 = getelementptr inbounds [2002 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [2002 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [2002 x float], [2002 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [2002 x float], [2002 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %ptr1 = getelementptr inbounds [2002 x float]* %region1, i64 0, i64 3
-  %ptr2 = getelementptr inbounds [2002 x float]* %region2, i64 0, i64 3
+  %ptr1 = getelementptr inbounds [2002 x float], [2002 x float]* %region1, i64 0, i64 3
+  %ptr2 = getelementptr inbounds [2002 x float], [2002 x float]* %region2, i64 0, i64 3
   %float1 = load float *%ptr1
   %float2 = load float *%ptr2
   %double1 = fpext float %float1 to double
@@ -200,11 +200,11 @@ define void @f7(double *%dst) {
 ; CHECK-FP: br %r14
   %region1 = alloca [2004 x float], align 8
   %region2 = alloca [2004 x float], align 8
-  %start1 = getelementptr inbounds [2004 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [2004 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [2004 x float], [2004 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [2004 x float], [2004 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %ptr1 = getelementptr inbounds [2004 x float]* %region1, i64 0, i64 1023
-  %ptr2 = getelementptr inbounds [2004 x float]* %region2, i64 0, i64 1023
+  %ptr1 = getelementptr inbounds [2004 x float], [2004 x float]* %region1, i64 0, i64 1023
+  %ptr2 = getelementptr inbounds [2004 x float], [2004 x float]* %region2, i64 0, i64 1023
   %float1 = load float *%ptr1
   %float2 = load float *%ptr2
   %double1 = fpext float %float1 to double
@@ -228,11 +228,11 @@ define void @f8(double *%dst) {
 ; CHECK-FP: br %r14
   %region1 = alloca [2006 x float], align 8
   %region2 = alloca [2006 x float], align 8
-  %start1 = getelementptr inbounds [2006 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [2006 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [2006 x float], [2006 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [2006 x float], [2006 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %ptr1 = getelementptr inbounds [2006 x float]* %region1, i64 0, i64 1023
-  %ptr2 = getelementptr inbounds [2006 x float]* %region2, i64 0, i64 1023
+  %ptr1 = getelementptr inbounds [2006 x float], [2006 x float]* %region1, i64 0, i64 1023
+  %ptr2 = getelementptr inbounds [2006 x float], [2006 x float]* %region2, i64 0, i64 1023
   %float1 = load float *%ptr1
   %float2 = load float *%ptr2
   %double1 = fpext float %float1 to double
@@ -257,11 +257,11 @@ define void @f9(double *%dst) {
 ; CHECK-FP: br %r14
   %region1 = alloca [2006 x float], align 8
   %region2 = alloca [2006 x float], align 8
-  %start1 = getelementptr inbounds [2006 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [2006 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [2006 x float], [2006 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [2006 x float], [2006 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %ptr1 = getelementptr inbounds [2006 x float]* %region1, i64 0, i64 1024
-  %ptr2 = getelementptr inbounds [2006 x float]* %region2, i64 0, i64 1024
+  %ptr1 = getelementptr inbounds [2006 x float], [2006 x float]* %region1, i64 0, i64 1024
+  %ptr2 = getelementptr inbounds [2006 x float], [2006 x float]* %region2, i64 0, i64 1024
   %float1 = load float *%ptr1
   %float2 = load float *%ptr2
   %double1 = fpext float %float1 to double
@@ -291,11 +291,11 @@ define void @f10(i32 *%vptr, double *%dst) {
 ; CHECK-FP: br %r14
   %region1 = alloca [978 x float], align 8
   %region2 = alloca [978 x float], align 8
-  %start1 = getelementptr inbounds [978 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [978 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [978 x float], [978 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [978 x float], [978 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %ptr1 = getelementptr inbounds [978 x float]* %region1, i64 0, i64 2
-  %ptr2 = getelementptr inbounds [978 x float]* %region2, i64 0, i64 2
+  %ptr1 = getelementptr inbounds [978 x float], [978 x float]* %region1, i64 0, i64 2
+  %ptr2 = getelementptr inbounds [978 x float], [978 x float]* %region2, i64 0, i64 2
   %i0 = load volatile i32 *%vptr
   %i1 = load volatile i32 *%vptr
   %i2 = load volatile i32 *%vptr
@@ -334,11 +334,11 @@ define void @f11(double *%dst, i64 %index) {
 ; CHECK-FP: br %r14
   %region1 = alloca [978 x float], align 8
   %region2 = alloca [978 x float], align 8
-  %start1 = getelementptr inbounds [978 x float]* %region1, i64 0, i64 0
-  %start2 = getelementptr inbounds [978 x float]* %region2, i64 0, i64 0
+  %start1 = getelementptr inbounds [978 x float], [978 x float]* %region1, i64 0, i64 0
+  %start2 = getelementptr inbounds [978 x float], [978 x float]* %region2, i64 0, i64 0
   call void @foo(float *%start1, float *%start2)
-  %elem1 = getelementptr inbounds [978 x float]* %region1, i64 0, i64 2
-  %elem2 = getelementptr inbounds [978 x float]* %region2, i64 0, i64 2
+  %elem1 = getelementptr inbounds [978 x float], [978 x float]* %region1, i64 0, i64 2
+  %elem2 = getelementptr inbounds [978 x float], [978 x float]* %region2, i64 0, i64 2
   %base1 = ptrtoint float *%elem1 to i64
   %base2 = ptrtoint float *%elem2 to i64
   %addr1 = add i64 %base1, %index