OSDN Git Service

[SLP] Additional test for PR35354, NFC.
authorAlexey Bataev <a.bataev@hotmail.com>
Tue, 28 Nov 2017 20:48:24 +0000 (20:48 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Tue, 28 Nov 2017 20:48:24 +0000 (20:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319224 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/load-bitcast-select.ll

index 1912b09..4fc5d8f 100644 (file)
@@ -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
+}