diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-04-03 20:18:40 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-04-03 20:18:40 +0000 |
commit | 98cfe2b7a58408d6e6186f61bcebdd68e1995d68 (patch) | |
tree | ea5bf9febb18edd3b0827e3004408c2c19031ce6 /llvm/test/Transforms/InstCombine/vec_shuffle.ll | |
parent | a12eb15f1d488fef2235d91523b54e17b8135fdc (diff) | |
download | bcm5719-llvm-98cfe2b7a58408d6e6186f61bcebdd68e1995d68.tar.gz bcm5719-llvm-98cfe2b7a58408d6e6186f61bcebdd68e1995d68.zip |
[InstCombine] Use DataLayout to determine vector element width
InstCombine didn't realize that it needs to use DataLayout to determine
how wide pointers are. This lead to assertion failures.
This fixes PR23113.
llvm-svn: 234046
Diffstat (limited to 'llvm/test/Transforms/InstCombine/vec_shuffle.ll')
-rw-r--r-- | llvm/test/Transforms/InstCombine/vec_shuffle.ll | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/vec_shuffle.ll b/llvm/test/Transforms/InstCombine/vec_shuffle.ll index 164e315c46a..87b612b7fbc 100644 --- a/llvm/test/Transforms/InstCombine/vec_shuffle.ll +++ b/llvm/test/Transforms/InstCombine/vec_shuffle.ll @@ -414,3 +414,11 @@ define <4 x i32> @pr20114(<4 x i32> %__mask) { %masked_new.i.i.i = and <4 x i32> bitcast (<2 x i64> <i64 ptrtoint (<4 x i32> (<4 x i32>)* @pr20114 to i64), i64 ptrtoint (<4 x i32> (<4 x i32>)* @pr20114 to i64)> to <4 x i32>), %mask01.i ret <4 x i32> %masked_new.i.i.i } + +define <2 x i32*> @pr23113(<4 x i32*> %A) { +; CHECK-LABEL: @pr20114 +; CHECK: %[[V:.*]] = shufflevector <4 x i32*> %A, <4 x i32*> undef, <2 x i32> <i32 0, i32 1> +; CHECK-NEXT: ret <2 x i32*> %[[V]] + %1 = shufflevector <4 x i32*> %A, <4 x i32*> undef, <2 x i32> <i32 0, i32 1> + ret <2 x i32*> %1 +} |