From: Alexey Bataev Date: Tue, 28 Nov 2017 20:48:24 +0000 (+0000) Subject: [SLP] Additional test for PR35354, NFC. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4ff622660efe6f7b75bc4fcd67a484737d906ae6;p=llvm [SLP] Additional test for PR35354, NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319224 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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 +}