101 lines
2.7 KiB
C
101 lines
2.7 KiB
C
/* { dg-do compile } */
|
|
/* { dg-additional-options "-Wno-pedantic -Wno-long-long -m64" } */
|
|
|
|
/* Scalar return types. In registers when <= 64 bit. */
|
|
|
|
typedef int __attribute__((mode(TI))) ti;
|
|
|
|
/* { dg-final { scan-assembler-times ".extern .func dcl_rv;" 1 } } */
|
|
void dcl_rv (void);
|
|
|
|
/* { dg-final { scan-assembler-times ".extern .func \\(.param.u32 %\[_a-z\]*\\) dcl_rc;" 1 } } */
|
|
char dcl_rc (void);
|
|
|
|
/* { dg-final { scan-assembler-times ".extern .func \\(.param.u32 %\[_a-z\]*\\) dcl_rs;" 1 } } */
|
|
short dcl_rs (void);
|
|
|
|
/* { dg-final { scan-assembler-times ".extern .func \\(.param.u32 %\[_a-z\]*\\) dcl_ri;" 1 } } */
|
|
int dcl_ri (void);
|
|
|
|
/* { dg-final { scan-assembler-times ".extern .func \\(.param.u64 %\[_a-z\]*\\) dcl_rll;" 1 } } */
|
|
long long dcl_rll (void);
|
|
|
|
/* { dg-final { scan-assembler-times ".extern .func dcl_rti \\(.param.u64 %\[_a-z0-9\]*\\);" 1 } } */
|
|
ti dcl_rti (void);
|
|
|
|
/* { dg-final { scan-assembler-times ".extern .func \\(.param.f32 %\[_a-z\]*\\) dcl_rf;" 1 } } */
|
|
float dcl_rf (void);
|
|
|
|
/* { dg-final { scan-assembler-times ".extern .func \\(.param.f64 %\[_a-z\]*\\) dcl_rd;" 1 } } */
|
|
double dcl_rd (void);
|
|
|
|
/* { dg-final { scan-assembler-times ".extern .func \\(.param.u64 %\[_a-z\]*\\) dcl_rp;" 1 } } */
|
|
void *dcl_rp (void);
|
|
|
|
void test_1 (void)
|
|
{
|
|
dcl_rv ();
|
|
dcl_rc ();
|
|
dcl_rs ();
|
|
dcl_ri ();
|
|
dcl_rll ();
|
|
dcl_rti ();
|
|
dcl_rf ();
|
|
dcl_rd ();
|
|
dcl_rp ();
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-times ".visible .func dfn_rv(?:;|\[\r\n\]+\{)" 2 } } */
|
|
void dfn_rv (void)
|
|
{
|
|
return;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-times ".visible .func \\(.param.u32 %\[_a-z0-9\]*\\) dfn_rc(?:;|\[\r\n\]+\{)" 2 } } */
|
|
char dfn_rc (void)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-times ".visible .func \\(.param.u32 %\[_a-z0-0\]*\\) dfn_rs(?:;|\[\r\n\]+\{)" 2 } } */
|
|
short dfn_rs (void)
|
|
{
|
|
return 2;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-times ".visible .func \\(.param.u32 %\[_a-z0-9\]*\\) dfn_ri(?:;|\[\r\n\]+\{)" 2 } } */
|
|
int dfn_ri (void)
|
|
{
|
|
return 3;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-times ".visible .func \\(.param.u64 %\[_a-z0-9\]*\\) dfn_rll(?:;|\[\r\n\]+\{)" 2 } } */
|
|
long long dfn_rll (void)
|
|
{
|
|
return 4;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-times ".visible .func dfn_rti \\(.param.u64 %\[_a-z0-9\]*\\)(?:;|\[\r\n\]+\{)" 2 } } */
|
|
ti dfn_rti (void)
|
|
{
|
|
return 5;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-times ".visible .func \\(.param.f32 %\[_a-z0-9\]*\\) dfn_rf(?:;|\[\r\n\]+\{)" 2 } } */
|
|
float dfn_rf (void)
|
|
{
|
|
return 6;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-times ".visible .func \\(.param.f64 %\[_a-z0-9\]*\\) dfn_rd(?:;|\[\r\n\]+\{)" 2 } } */
|
|
double dfn_rd (void)
|
|
{
|
|
return 7;
|
|
}
|
|
|
|
/* { dg-final { scan-assembler-times ".visible .func \\(.param.u64 %\[_a-z0-9\]*\\) dfn_rp(?:;|\[\r\n\]+\{)" 2 } } */
|
|
void *dfn_rp (void)
|
|
{
|
|
return 0;
|
|
}
|