summaryrefslogtreecommitdiffstats
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
commitab5f3f2b333cac07e9e3f645ef225ef63a562183 (patch)
tree2445f3c4f79d51d48a3b54275093e9733c9ad039
parente0173664e9a8830a3fec81e747307a1b889c4e8b (diff)
downloadbcm5719-llvm-ab5f3f2b333cac07e9e3f645ef225ef63a562183.tar.gz
bcm5719-llvm-ab5f3f2b333cac07e9e3f645ef225ef63a562183.zip
[SLP] Additional test for PR35354, NFC.
llvm-svn: 319224
-rw-r--r--llvm/test/Transforms/InstCombine/load-bitcast-select.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/load-bitcast-select.ll b/llvm/test/Transforms/InstCombine/load-bitcast-select.ll
index 1912b0948f1..4fc5d8ffa05 100644
--- a/llvm/test/Transforms/InstCombine/load-bitcast-select.ll
+++ b/llvm/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
+}
OpenPOWER on IntegriCloud