blob: be294098c9ebb60de492d803da2659c3b77881f3 [file] [log] [blame]
Duncan Sandse6beec62012-11-13 12:59:33 +00001; RUN: not llvm-as < %s >/dev/null 2> %t
2; RUN: FileCheck %s < %t
Elena Demikhovsky37a4da82015-07-09 07:42:48 +00003; Test that a vector pointer may be used with a scalar index.
4; Test that a vector pointer and vector index should have the same vector width
Duncan Sandse6beec62012-11-13 12:59:33 +00005
Elena Demikhovsky37a4da82015-07-09 07:42:48 +00006; This code is correct
7define <2 x i32*> @test2(<2 x i32*> %a) {
David Blaikie79e6c742015-02-27 19:29:02 +00008 %w = getelementptr i32, <2 x i32*> %a, i32 2
Elena Demikhovsky37a4da82015-07-09 07:42:48 +00009 ret <2 x i32*> %w
10}
11
12; This code is correct
13define <2 x i32*> @test3(i32* %a) {
14 %w = getelementptr i32, i32* %a, <2 x i32> <i32 2, i32 2>
15 ret <2 x i32*> %w
16}
17
18; CHECK: getelementptr vector index has a wrong number of elements
19
20define <2 x i32> @test1(<2 x i32*> %a) {
21 %w = getelementptr i32, <2 x i32*> %a, <4 x i32><i32 2, i32 2, i32 2, i32 2>
Duncan Sandse6beec62012-11-13 12:59:33 +000022 ret <2 x i32> %w
23}
Elena Demikhovsky37a4da82015-07-09 07:42:48 +000024