blob: 470458098212562d5c8ed9adea6bd450c26274dc [file] [log] [blame]
Zoran Jovanovicbd28c372013-12-25 10:14:07 +00001; RUN: llc %s -march=mipsel -mattr=micromips -filetype=asm \
2; RUN: -relocation-model=pic -O3 -o - | FileCheck %s
3
4define i32 @sum(i32* %x, i32* %y) nounwind uwtable {
5entry:
6 %x.addr = alloca i32*, align 8
7 %y.addr = alloca i32*, align 8
8 store i32* %x, i32** %x.addr, align 8
9 store i32* %y, i32** %y.addr, align 8
David Blaikiea79ac142015-02-27 21:17:42 +000010 %0 = load i32*, i32** %x.addr, align 8
11 %1 = load i32, i32* %0, align 4
12 %2 = load i32*, i32** %y.addr, align 8
13 %3 = load i32, i32* %2, align 4
Zoran Jovanovicbd28c372013-12-25 10:14:07 +000014 %add = add nsw i32 %1, %3
15 ret i32 %add
16}
17
18define i32 @main() nounwind uwtable {
19entry:
20 %retval = alloca i32, align 4
21 %x = alloca i32, align 4
22 %y = alloca i32, align 4
23 store i32 0, i32* %retval
24 %call = call i32 @sum(i32* %x, i32* %y)
25 ret i32 %call
26}
27
28; CHECK: addiu ${{[0-9]+}}, $sp, {{[0-9]+}}
29; CHECK: addiu ${{[0-9]+}}, $sp, {{[0-9]+}}