Fix a bug in the DAGCombiner's handling of multiple linked
[oota-llvm.git] / test / CodeGen / X86 / narrow_op-1.ll
1 ; RUN: llvm-as < %s | llc -march=x86-64 | grep orb | count 1
2 ; RUN: llvm-as < %s | llc -march=x86-64 | grep orb | grep 1
3 ; RUN: llvm-as < %s | llc -march=x86-64 | grep orl | count 1
4 ; RUN: llvm-as < %s | llc -march=x86-64 | grep orl | grep 16842752
5
6         %struct.bf = type { i64, i16, i16, i32 }
7 @bfi = common global %struct.bf zeroinitializer, align 16
8
9 define void @t1() nounwind optsize ssp {
10 entry:
11         %0 = load i32* bitcast (i16* getelementptr (%struct.bf* @bfi, i32 0, i32 1) to i32*), align 8
12         %1 = or i32 %0, 65536
13         store i32 %1, i32* bitcast (i16* getelementptr (%struct.bf* @bfi, i32 0, i32 1) to i32*), align 8
14         ret void
15 }
16
17 define void @t2() nounwind optsize ssp {
18 entry:
19         %0 = load i32* bitcast (i16* getelementptr (%struct.bf* @bfi, i32 0, i32 1) to i32*), align 8
20         %1 = or i32 %0, 16842752
21         store i32 %1, i32* bitcast (i16* getelementptr (%struct.bf* @bfi, i32 0, i32 1) to i32*), align 8
22         ret void
23 }