28 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3target triple = "hexagon"4 5; CHECK-LABEL: danny:6; CHECK: r{{[0-9]+}} = mpy(r0,r1)7define i32 @danny(i32 %a0, i32 %a1) {8b2:9 %v3 = sext i32 %a0 to i6410 %v4 = sext i32 %a1 to i6411 %v5 = mul nsw i64 %v3, %v412 %v6 = ashr i64 %v5, 3213 %v7 = trunc i64 %v6 to i3214 ret i32 %v715}16 17; CHECK-LABEL: sammy:18; CHECK: r{{[0-9]+}} = mpy(r0,r1)19define i32 @sammy(i32 %a0, i32 %a1) {20b2:21 %v3 = sext i32 %a0 to i6422 %v4 = sext i32 %a1 to i6423 %v5 = mul nsw i64 %v3, %v424 %v6 = lshr i64 %v5, 3225 %v7 = trunc i64 %v6 to i3226 ret i32 %v727}28