diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2017-11-28 20:48:24 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2017-11-28 20:48:24 +0000 |
commit | 4ff622660efe6f7b75bc4fcd67a484737d906ae6 (patch) | |
tree | a8296515a266d81618b04837ab27a76cd5594bff | |
parent | 7affb6d9e61055c03afdde894a6bb6f333ea449b (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.ll | 13 |
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 +} |