[opaque pointer type] Add textual IR support for explicit type parameter to getelemen...
[oota-llvm.git] / test / CodeGen / ARM / vector-store.ll
index 55cb8f2665830cdc9f2c234f7377bfb9e214df15..b5ac5bb9bac190721cbaf1fbb28f113316d929c4 100644 (file)
@@ -16,7 +16,7 @@ define void @store_v8i8_update(<8 x i8>** %ptr, <8 x i8> %val) {
 ;CHECK: vst1.8 {{{d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <8 x i8>** %ptr
        store  <8 x i8> %val, <8 x i8>* %A, align 1
-       %inc = getelementptr <8 x i8>* %A, i38 1
+       %inc = getelementptr <8 x i8>, <8 x i8>* %A, i38 1
         store <8 x i8>* %inc, <8 x i8>** %ptr
        ret void
 }
@@ -34,7 +34,7 @@ define void @store_v4i16_update(<4 x i16>** %ptr, <4 x i16> %val) {
 ;CHECK: vst1.8 {{{d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <4 x i16>** %ptr
        store  <4 x i16> %val, <4 x i16>* %A, align 1
-       %inc = getelementptr <4 x i16>* %A, i34 1
+       %inc = getelementptr <4 x i16>, <4 x i16>* %A, i34 1
         store <4 x i16>* %inc, <4 x i16>** %ptr
        ret void
 }
@@ -52,7 +52,7 @@ define void @store_v2i32_update(<2 x i32>** %ptr, <2 x i32> %val) {
 ;CHECK: vst1.8 {{{d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <2 x i32>** %ptr
        store  <2 x i32> %val, <2 x i32>* %A, align 1
-       %inc = getelementptr <2 x i32>* %A, i32 1
+       %inc = getelementptr <2 x i32>, <2 x i32>* %A, i32 1
         store <2 x i32>* %inc, <2 x i32>** %ptr
        ret void
 }
@@ -70,7 +70,7 @@ define void @store_v2f32_update(<2 x float>** %ptr, <2 x float> %val) {
 ;CHECK: vst1.8 {{{d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <2 x float>** %ptr
        store  <2 x float> %val, <2 x float>* %A, align 1
-       %inc = getelementptr <2 x float>* %A, i32 1
+       %inc = getelementptr <2 x float>, <2 x float>* %A, i32 1
         store <2 x float>* %inc, <2 x float>** %ptr
        ret void
 }
@@ -88,7 +88,7 @@ define void @store_v1i64_update(<1 x i64>** %ptr, <1 x i64> %val) {
 ;CHECK: vst1.8 {{{d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <1 x i64>** %ptr
        store  <1 x i64> %val, <1 x i64>* %A, align 1
-       %inc = getelementptr <1 x i64>* %A, i31 1
+       %inc = getelementptr <1 x i64>, <1 x i64>* %A, i31 1
         store <1 x i64>* %inc, <1 x i64>** %ptr
        ret void
 }
@@ -106,7 +106,7 @@ define void @store_v16i8_update(<16 x i8>** %ptr, <16 x i8> %val) {
 ;CHECK: vst1.8 {{{d[0-9]+, d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <16 x i8>** %ptr
        store  <16 x i8> %val, <16 x i8>* %A, align 1
-       %inc = getelementptr <16 x i8>* %A, i316 1
+       %inc = getelementptr <16 x i8>, <16 x i8>* %A, i316 1
         store <16 x i8>* %inc, <16 x i8>** %ptr
        ret void
 }
@@ -124,7 +124,7 @@ define void @store_v8i16_update(<8 x i16>** %ptr, <8 x i16> %val) {
 ;CHECK: vst1.8 {{{d[0-9]+, d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <8 x i16>** %ptr
        store  <8 x i16> %val, <8 x i16>* %A, align 1
-       %inc = getelementptr <8 x i16>* %A, i38 1
+       %inc = getelementptr <8 x i16>, <8 x i16>* %A, i38 1
         store <8 x i16>* %inc, <8 x i16>** %ptr
        ret void
 }
@@ -142,7 +142,7 @@ define void @store_v4i32_update(<4 x i32>** %ptr, <4 x i32> %val) {
 ;CHECK: vst1.8 {{{d[0-9]+, d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <4 x i32>** %ptr
        store  <4 x i32> %val, <4 x i32>* %A, align 1
-       %inc = getelementptr <4 x i32>* %A, i34 1
+       %inc = getelementptr <4 x i32>, <4 x i32>* %A, i34 1
         store <4 x i32>* %inc, <4 x i32>** %ptr
        ret void
 }
@@ -160,7 +160,7 @@ define void @store_v4f32_update(<4 x float>** %ptr, <4 x float> %val) {
 ;CHECK: vst1.8 {{{d[0-9]+, d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <4 x float>** %ptr
        store  <4 x float> %val, <4 x float>* %A, align 1
-       %inc = getelementptr <4 x float>* %A, i34 1
+       %inc = getelementptr <4 x float>, <4 x float>* %A, i34 1
         store <4 x float>* %inc, <4 x float>** %ptr
        ret void
 }
@@ -178,7 +178,7 @@ define void @store_v2i64_update(<2 x i64>** %ptr, <2 x i64> %val) {
 ;CHECK: vst1.8 {{{d[0-9]+, d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <2 x i64>** %ptr
        store  <2 x i64> %val, <2 x i64>* %A, align 1
-       %inc = getelementptr <2 x i64>* %A, i32 1
+       %inc = getelementptr <2 x i64>, <2 x i64>* %A, i32 1
         store <2 x i64>* %inc, <2 x i64>** %ptr
        ret void
 }
@@ -188,7 +188,7 @@ define void @store_v2i64_update_aligned2(<2 x i64>** %ptr, <2 x i64> %val) {
 ;CHECK: vst1.16 {{{d[0-9]+, d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <2 x i64>** %ptr
        store  <2 x i64> %val, <2 x i64>* %A, align 2
-       %inc = getelementptr <2 x i64>* %A, i32 1
+       %inc = getelementptr <2 x i64>, <2 x i64>* %A, i32 1
         store <2 x i64>* %inc, <2 x i64>** %ptr
        ret void
 }
@@ -198,7 +198,7 @@ define void @store_v2i64_update_aligned4(<2 x i64>** %ptr, <2 x i64> %val) {
 ;CHECK: vst1.32 {{{d[0-9]+, d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <2 x i64>** %ptr
        store  <2 x i64> %val, <2 x i64>* %A, align 4
-       %inc = getelementptr <2 x i64>* %A, i32 1
+       %inc = getelementptr <2 x i64>, <2 x i64>* %A, i32 1
         store <2 x i64>* %inc, <2 x i64>** %ptr
        ret void
 }
@@ -208,7 +208,7 @@ define void @store_v2i64_update_aligned8(<2 x i64>** %ptr, <2 x i64> %val) {
 ;CHECK: vst1.64 {{{d[0-9]+, d[0-9]+}}}, [{{r[0-9]+}}]!
        %A = load <2 x i64>** %ptr
        store  <2 x i64> %val, <2 x i64>* %A, align 8
-       %inc = getelementptr <2 x i64>* %A, i32 1
+       %inc = getelementptr <2 x i64>, <2 x i64>* %A, i32 1
         store <2 x i64>* %inc, <2 x i64>** %ptr
        ret void
 }
@@ -218,7 +218,7 @@ define void @store_v2i64_update_aligned16(<2 x i64>** %ptr, <2 x i64> %val) {
 ;CHECK: vst1.64 {{{d[0-9]+, d[0-9]+}}}, [{{r[0-9]+}}:128]!
        %A = load <2 x i64>** %ptr
        store  <2 x i64> %val, <2 x i64>* %A, align 16
-       %inc = getelementptr <2 x i64>* %A, i32 1
+       %inc = getelementptr <2 x i64>, <2 x i64>* %A, i32 1
         store <2 x i64>* %inc, <2 x i64>** %ptr
        ret void
 }
@@ -252,7 +252,7 @@ define void @truncstore_v4i32tov4i8_fake_update(<4 x i8>** %ptr, <4 x i32> %val)
        %A = load <4 x i8>** %ptr
         %trunc = trunc <4 x i32> %val to <4 x i8>
        store  <4 x i8> %trunc, <4 x i8>* %A, align 4
-       %inc = getelementptr <4 x i8>* %A, i38 4
+       %inc = getelementptr <4 x i8>, <4 x i8>* %A, i38 4
         store <4 x i8>* %inc, <4 x i8>** %ptr
        ret void
 }