[Hexagon] Split double registers
[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, i32* %a, align 4
9   %1 = zext i32 %0 to i64
10   %add.ptr = getelementptr inbounds i32, i32* %a, i32 1
11   %2 = load i32, i32* %add.ptr, align 4
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)