1; RUN: llc -march=hexagon < %s | FileCheck %s
2
3; CHECK-LABEL: A2_combine_ll:
4; CHECK: combine(r1.l,r0.l)
5define i32 @A2_combine_ll(i32 %a0, i32 %a1) #0 {
6b2:
7  %v3 = and i32 %a0, 65535
8  %v4 = shl i32 %a1, 16
9  %v5 = or i32 %v3, %v4
10  ret i32 %v5
11}
12
13; CHECK-LABEL: A2_combine_lh:
14; CHECK: combine(r1.l,r0.h)
15define i32 @A2_combine_lh(i32 %a0, i32 %a1) #0 {
16b2:
17  %v3 = lshr i32 %a0, 16
18  %v4 = shl i32 %a1, 16
19  %v5 = or i32 %v4, %v3
20  ret i32 %v5
21}
22
23; CHECK-LABEL: A2_combine_hl:
24; CHECK: combine(r1.h,r0.l)
25define i32 @A2_combine_hl(i32 %a0, i32 %a1) #0 {
26b2:
27  %v3 = and i32 %a0, 65535
28  %v4 = and i32 %a1, 268431360
29  %v5 = or i32 %v3, %v4
30  ret i32 %v5
31}
32
33; CHECK-LABEL: A2_combine_hh:
34; CHECK: combine(r1.h,r0.h)
35define i32 @A2_combine_hh(i32 %a0, i32 %a1) #0 {
36b2:
37  %v3 = lshr i32 %a0, 16
38  %v4 = and i32 %a1, 268431360
39  %v5 = or i32 %v3, %v4
40  ret i32 %v5
41}
42
43attributes #0 = { noinline nounwind optnone readnone }
44