| ; RUN: opt -gvn <%s -S -o - | FileCheck %s |
| |
| define void @f() { |
| entry: |
| %a = alloca <7 x i1>, align 2 |
| store <7 x i1> undef, <7 x i1>* %a, align 2 |
| ; CHECK: store <7 x i1> undef, <7 x i1>* |
| %0 = getelementptr inbounds <7 x i1>, <7 x i1>* %a, i64 0, i64 0 |
| %val = load i1, i1* %0, align 2 |
| ; CHECK: load i1, i1* |
| br i1 %val, label %cond.true, label %cond.false |
| |
| cond.true: |
| ret void |
| |
| cond.false: |
| ret void |
| } |
| |
| define <7 x i1> @g(<7 x i1>* %a) { |
| entry: |
| %vec = load <7 x i1>, <7 x i1>* %a |
| ; CHECK: load <7 x i1>, <7 x i1>* |
| %0 = getelementptr inbounds <7 x i1>, <7 x i1>* %a, i64 0, i64 0 |
| %val = load i1, i1* %0, align 2 |
| ; CHECK: load i1, i1* |
| br i1 %val, label %cond.true, label %cond.false |
| |
| cond.true: |
| ret <7 x i1> %vec |
| |
| cond.false: |
| ret <7 x i1> <i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false> |
| } |