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 | ab5f3f2b333cac07e9e3f645ef225ef63a562183 (patch) | |
| tree | 2445f3c4f79d51d48a3b54275093e9733c9ad039 | |
| parent | e0173664e9a8830a3fec81e747307a1b889c4e8b (diff) | |
| download | bcm5719-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.ll | 13 |
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 +} |

