summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/vec_shuffle.ll
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-04-03 20:18:40 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-04-03 20:18:40 +0000
commit98cfe2b7a58408d6e6186f61bcebdd68e1995d68 (patch)
treeea5bf9febb18edd3b0827e3004408c2c19031ce6 /llvm/test/Transforms/InstCombine/vec_shuffle.ll
parenta12eb15f1d488fef2235d91523b54e17b8135fdc (diff)
downloadbcm5719-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.ll8
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
+}
OpenPOWER on IntegriCloud