blob: c5cb5a9237a76d61424786423de6dc786f2349a6 [file] [log] [blame]
Krzysztof Parzyszekb9f33b32017-11-22 20:55:41 +00001; 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 }