diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Transforms/InstCombine/vector_gep2.ll | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/vector_gep2.ll b/llvm/test/Transforms/InstCombine/vector_gep2.ll index d76a7d56cc7..1b80ffd101c 100644 --- a/llvm/test/Transforms/InstCombine/vector_gep2.ll +++ b/llvm/test/Transforms/InstCombine/vector_gep2.ll @@ -9,3 +9,26 @@ define <2 x i8*> @testa(<2 x i8*> %a) { ; CHECK: getelementptr i8, <2 x i8*> %a, <2 x i64> <i64 0, i64 1> ret <2 x i8*> %g } + +define <8 x double*> @vgep_s_v8i64(double* %a, <8 x i64>%i) { +; CHECK-LABEL: @vgep_s_v8i64 +; CHECK: getelementptr double, double* %a, <8 x i64> %i + %VectorGep = getelementptr double, double* %a, <8 x i64> %i + ret <8 x double*> %VectorGep +} + +define <8 x double*> @vgep_s_v8i32(double* %a, <8 x i32>%i) { +; CHECK-LABEL: @vgep_s_v8i32 +; CHECK: %1 = sext <8 x i32> %i to <8 x i64> +; CHECK: getelementptr double, double* %a, <8 x i64> %1 + %VectorGep = getelementptr double, double* %a, <8 x i32> %i + ret <8 x double*> %VectorGep +} + +define <8 x i8*> @vgep_v8iPtr_i32(<8 x i8*> %a, i32 %i) { +; CHECK-LABEL: @vgep_v8iPtr_i32 +; CHECK: %1 = sext i32 %i to i64 +; CHECK: %VectorGep = getelementptr i8, <8 x i8*> %a, i64 %1 + %VectorGep = getelementptr i8, <8 x i8*> %a, i32 %i + ret <8 x i8*> %VectorGep +} |