xref: /llvm-project/llvm/test/Transforms/GVN/pr28879.ll (revision 23abf931386002fb9d2c11d026846475c224c641)
1; RUN: opt -passes=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, ptr %a, align 2
7; CHECK: store <7 x i1> undef, ptr
8  %val = load i1, ptr %a, align 2
9; CHECK: load i1, ptr
10  br i1 %val, label %cond.true, label %cond.false
11
12cond.true:
13  ret void
14
15cond.false:
16  ret void
17}
18
19define <7 x i1> @g(ptr %a) {
20entry:
21  %vec = load <7 x i1>, ptr %a
22; CHECK: load <7 x i1>, ptr
23  %val = load i1, ptr %a, align 2
24; CHECK: load i1, ptr
25  br i1 %val, label %cond.true, label %cond.false
26
27cond.true:
28  ret <7 x i1> %vec
29
30cond.false:
31  ret <7 x i1> <i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false>
32}
33