xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGen/mips-byval-arg.c (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1f4a2713aSLionel Sambuc // RUN: %clang -target mipsel-unknown-linux -O3 -S -o - -emit-llvm %s | FileCheck %s -check-prefix=O32
2f4a2713aSLionel Sambuc // RUN: %clang -target mips64el-unknown-linux -O3 -S -mabi=n64 -o - -emit-llvm %s | FileCheck %s -check-prefix=N64
3f4a2713aSLionel Sambuc 
4f4a2713aSLionel Sambuc typedef struct {
5f4a2713aSLionel Sambuc   float f[3];
6f4a2713aSLionel Sambuc } S0;
7f4a2713aSLionel Sambuc 
8f4a2713aSLionel Sambuc extern void foo2(S0);
9f4a2713aSLionel Sambuc 
10*0a6a1f1dSLionel Sambuc // O32-LABEL: define void @foo1(i32 inreg %a0.coerce0, i32 inreg %a0.coerce1, i32 inreg %a0.coerce2)
11*0a6a1f1dSLionel Sambuc // N64-LABEL: define void @foo1(i64 inreg %a0.coerce0, i32 inreg %a0.coerce1)
12f4a2713aSLionel Sambuc 
foo1(S0 a0)13f4a2713aSLionel Sambuc void foo1(S0 a0) {
14f4a2713aSLionel Sambuc   foo2(a0);
15f4a2713aSLionel Sambuc }
16