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