Hexagon - Add peephole optimizations for zero extends.
[oota-llvm.git] / test / CodeGen / Hexagon / union-1.ll
1 ; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
2 ; CHECK: word
3 ; CHECK-NOT: combine(#0
4 ; CHECK: jump bar
5
6 define void @word(i32* nocapture %a) nounwind {
7 entry:
8   %0 = load i32* %a, align 4, !tbaa !0
9   %1 = zext i32 %0 to i64
10   %add.ptr = getelementptr inbounds i32* %a, i32 1
11   %2 = load i32* %add.ptr, align 4, !tbaa !0
12   %3 = zext i32 %2 to i64
13   %4 = shl nuw i64 %3, 32
14   %ins = or i64 %4, %1
15   tail call void @bar(i64 %ins) nounwind
16   ret void
17 }
18
19 declare void @bar(i64)
20
21 !0 = metadata !{metadata !"int", metadata !1}
22 !1 = metadata !{metadata !"omnipotent char", metadata !2}
23 !2 = metadata !{metadata !"Simple C/C++ TBAA"}