Home | History | Annotate | Download | only in Hexagon
      1 ; RUN: llc -march=hexagon < %s | FileCheck %s
      2 
      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
     11 }
     12 
     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
     21 }
     22 
     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
     31 }
     32 
     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
     41 }
     42 
     43 attributes #0 = { noinline nounwind optnone readnone }
     44