[MIParser] Set RegClassOrRegBank during instruction parsing
[llvm-complete.git] / test / CodeGen / Hexagon / combine_ir.ll
blob00fce0a05de6556b8cef760c861341768e5001a7
1 ; RUN: llc -march=hexagon -disable-hsdr < %s | FileCheck %s
3 declare void @bar(i64)
5 ; CHECK-LABEL: halfword:
6 ; CHECK: combine(#0
8 define void @halfword(i16* nocapture %a) nounwind {
9 entry:
10   %0 = load i16, i16* %a, align 2
11   %1 = zext i16 %0 to i64
12   %add.ptr = getelementptr inbounds i16, i16* %a, i32 1
13   %2 = load i16, i16* %add.ptr, align 2
14   %3 = zext i16 %2 to i64
15   %4 = shl nuw nsw i64 %3, 16
16   %ins = or i64 %4, %1
17   tail call void @bar(i64 %ins) nounwind
18   ret void
21 ; CHECK-LABEL: byte:
22 ; CHECK: combine(#0
24 define void @byte(i8* nocapture %a) nounwind {
25 entry:
26   %0 = load i8, i8* %a, align 1
27   %1 = zext i8 %0 to i64
28   %add.ptr = getelementptr inbounds i8, i8* %a, i32 1
29   %2 = load i8, i8* %add.ptr, align 1
30   %3 = zext i8 %2 to i64
31   %4 = shl nuw nsw i64 %3, 8
32   %ins = or i64 %4, %1
33   tail call void @bar(i64 %ins) nounwind
34   ret void