Home | History | Annotate | Download | only in Hexagon
      1 ; RUN: llc -march=hexagon < %s | FileCheck %s
      2 
      3 target triple = "hexagon"
      4 
      5 ; CHECK-LABEL: danny:
      6 ; CHECK: r{{[0-9]+}} = mpy(r0,r1)
      7 define i32 @danny(i32 %a0, i32 %a1) {
      8 b2:
      9   %v3 = sext i32 %a0 to i64
     10   %v4 = sext i32 %a1 to i64
     11   %v5 = mul nsw i64 %v3, %v4
     12   %v6 = ashr i64 %v5, 32
     13   %v7 = trunc i64 %v6 to i32
     14   ret i32 %v7
     15 }
     16 
     17 ; CHECK-LABEL: sammy:
     18 ; CHECK: r{{[0-9]+}} = mpy(r0,r1)
     19 define i32 @sammy(i32 %a0, i32 %a1) {
     20 b2:
     21   %v3 = sext i32 %a0 to i64
     22   %v4 = sext i32 %a1 to i64
     23   %v5 = mul nsw i64 %v3, %v4
     24   %v6 = lshr i64 %v5, 32
     25   %v7 = trunc i64 %v6 to i32
     26   ret i32 %v7
     27 }
     28