blob: 3ecf7d46ccb07a7fb82c51eb197d59ce34aa38b5 [file] [log] [blame]
Sirish Pande91856a12012-05-15 16:13:12 +00001; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
Tony Linthicum1213a7a2011-12-12 21:14:40 +00002; CHECK: += mpyi
3
4define void @foo(i32 %acc, i32 %num, i32 %num2) nounwind {
5entry:
6 %acc.addr = alloca i32, align 4
7 %num.addr = alloca i32, align 4
8 %num2.addr = alloca i32, align 4
9 store i32 %acc, i32* %acc.addr, align 4
10 store i32 %num, i32* %num.addr, align 4
11 store i32 %num2, i32* %num2.addr, align 4
David Blaikiea79ac142015-02-27 21:17:42 +000012 %0 = load i32, i32* %num.addr, align 4
13 %1 = load i32, i32* %acc.addr, align 4
Tony Linthicum1213a7a2011-12-12 21:14:40 +000014 %mul = mul nsw i32 %0, %1
David Blaikiea79ac142015-02-27 21:17:42 +000015 %2 = load i32, i32* %num2.addr, align 4
Tony Linthicum1213a7a2011-12-12 21:14:40 +000016 %add = add nsw i32 %mul, %2
17 store i32 %add, i32* %num.addr, align 4
18 ret void
19}