1; RUN: opt -gvn <%s -S -o - | FileCheck %s 2 3define void @f() { 4entry: 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 13cond.true: 14 ret void 15 16cond.false: 17 ret void 18} 19 20define <7 x i1> @g(<7 x i1>* %a) { 21entry: 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 29cond.true: 30 ret <7 x i1> %vec 31 32cond.false: 33 ret <7 x i1> <i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false> 34} 35