1 ; Test parameter passing and return values
2 ;RUN: llc --march=cellspu %s -o - | FileCheck %s
4 ; this fits into registers r3-r74
5 %paramstruct = type { i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,
6 i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,
7 i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,
8 i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,
9 i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,
10 i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32,i32}
11 define ccc i32 @test_regs( %paramstruct %prm )
15 %1 = extractvalue %paramstruct %prm, 71
19 define ccc i32 @test_regs_and_stack( %paramstruct %prm, i32 %stackprm )
21 ;CHECK-NOT: a $3, $74, $75
22 %1 = extractvalue %paramstruct %prm, 71
23 %2 = add i32 %1, %stackprm
27 define ccc %paramstruct @test_return( i32 %param, %paramstruct %prm )
29 ;CHECK: lqd $75, 80($sp)