1 ; RUN: opt -gvn <%s -S -o - | FileCheck %s 2 3 define void @f() { 4 entry: 5 %a = alloca <7 x i1>, align 2 6 store <7 x i1> undef, <7 x i1>* %a, align 2 7 ; CHECK: store <7 x i1> undef, <7 x i1>* 8 %0 = getelementptr inbounds <7 x i1>, <7 x i1>* %a, i64 0, i64 0 9 %val = load i1, i1* %0, align 2 10 ; CHECK: load i1, i1* 11 br i1 %val, label %cond.true, label %cond.false 12 13 cond.true: 14 ret void 15 16 cond.false: 17 ret void 18 } 19 20 define <7 x i1> @g(<7 x i1>* %a) { 21 entry: 22 %vec = load <7 x i1>, <7 x i1>* %a 23 ; CHECK: load <7 x i1>, <7 x i1>* 24 %0 = getelementptr inbounds <7 x i1>, <7 x i1>* %a, i64 0, i64 0 25 %val = load i1, i1* %0, align 2 26 ; CHECK: load i1, i1* 27 br i1 %val, label %cond.true, label %cond.false 28 29 cond.true: 30 ret <7 x i1> %vec 31 32 cond.false: 33 ret <7 x i1> <i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false> 34 } 35