[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / Hexagon / isel-combine-half.ll
blobc5cb5a9237a76d61424786423de6dc786f2349a6
1 ; RUN: llc -march=hexagon < %s | FileCheck %s
3 ; CHECK-LABEL: A2_combine_ll:
4 ; CHECK: combine(r1.l,r0.l)
5 define i32 @A2_combine_ll(i32 %a0, i32 %a1) #0 {
6 b2:
7   %v3 = and i32 %a0, 65535
8   %v4 = shl i32 %a1, 16
9   %v5 = or i32 %v3, %v4
10   ret i32 %v5
13 ; CHECK-LABEL: A2_combine_lh:
14 ; CHECK: combine(r1.l,r0.h)
15 define i32 @A2_combine_lh(i32 %a0, i32 %a1) #0 {
16 b2:
17   %v3 = lshr i32 %a0, 16
18   %v4 = shl i32 %a1, 16
19   %v5 = or i32 %v4, %v3
20   ret i32 %v5
23 ; CHECK-LABEL: A2_combine_hl:
24 ; CHECK: combine(r1.h,r0.l)
25 define i32 @A2_combine_hl(i32 %a0, i32 %a1) #0 {
26 b2:
27   %v3 = and i32 %a0, 65535
28   %v4 = and i32 %a1, 268431360
29   %v5 = or i32 %v3, %v4
30   ret i32 %v5
33 ; CHECK-LABEL: A2_combine_hh:
34 ; CHECK: combine(r1.h,r0.h)
35 define i32 @A2_combine_hh(i32 %a0, i32 %a1) #0 {
36 b2:
37   %v3 = lshr i32 %a0, 16
38   %v4 = and i32 %a1, 268431360
39   %v5 = or i32 %v3, %v4
40   ret i32 %v5
43 attributes #0 = { noinline nounwind optnone readnone }