summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2017-11-28 20:48:24 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2017-11-28 20:48:24 +0000
commit4ff622660efe6f7b75bc4fcd67a484737d906ae6 (patch)
treea8296515a266d81618b04837ab27a76cd5594bff
parent7affb6d9e61055c03afdde894a6bb6f333ea449b (diff)
[SLP] Additional test for PR35354, NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319224 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/InstCombine/load-bitcast-select.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/load-bitcast-select.ll b/test/Transforms/InstCombine/load-bitcast-select.ll
index 1912b0948f1..4fc5d8ffa05 100644
--- a/test/Transforms/InstCombine/load-bitcast-select.ll
+++ b/test/Transforms/InstCombine/load-bitcast-select.ll
@@ -55,3 +55,16 @@ for.body: ; preds = %for.cond
%inc = add nuw nsw i32 %i.0, 1
br label %for.cond
}
+
+define i32 @store_bitcasted_load(i1 %cond, float* dereferenceable(4) %addr1, float* dereferenceable(4) %addr2) {
+; CHECK-LABEL: @store_bitcasted_load(
+; CHECK-NEXT: [[SEL:%.*]] = select i1 [[COND:%.*]], float* [[ADDR1:%.*]], float* [[ADDR2:%.*]]
+; CHECK-NEXT: [[BC1:%.*]] = bitcast float* [[SEL]] to i32*
+; CHECK-NEXT: [[LD:%.*]] = load i32, i32* [[BC1]], align 4
+; CHECK-NEXT: ret i32 [[LD]]
+;
+ %sel = select i1 %cond, float* %addr1, float* %addr2
+ %bc1 = bitcast float* %sel to i32*
+ %ld = load i32, i32* %bc1
+ ret i32 %ld
+}