79 lines
1.5 KiB
C
79 lines
1.5 KiB
C
/* This is an autogenerated file. Do not edit. */
|
|
|
|
#include "defines.h"
|
|
#include "macros.h"
|
|
#include "args.h"
|
|
|
|
char
|
|
fun_test_returning_char (void)
|
|
{
|
|
volatile_var++;
|
|
return 64;
|
|
}
|
|
|
|
short
|
|
fun_test_returning_short (void)
|
|
{
|
|
volatile_var++;
|
|
return 65;
|
|
}
|
|
|
|
int
|
|
fun_test_returning_int (void)
|
|
{
|
|
volatile_var++;
|
|
return 66;
|
|
}
|
|
|
|
long
|
|
fun_test_returning_long (void)
|
|
{
|
|
volatile_var++;
|
|
return 67;
|
|
}
|
|
|
|
long long
|
|
fun_test_returning_long_long (void)
|
|
{
|
|
volatile_var++;
|
|
return 68;
|
|
}
|
|
|
|
float
|
|
fun_test_returning_float (void)
|
|
{
|
|
volatile_var++;
|
|
return 69;
|
|
}
|
|
|
|
double
|
|
fun_test_returning_double (void)
|
|
{
|
|
volatile_var++;
|
|
return 70;
|
|
}
|
|
|
|
long double
|
|
fun_test_returning_long_double (void)
|
|
{
|
|
volatile_var++;
|
|
return 71;
|
|
}
|
|
|
|
#define def_test_returning_type_xmm(fun, type, ret, reg) \
|
|
{ type var = WRAP_RET (fun) (); \
|
|
assert (ret == (type) reg && ret == var); }
|
|
int
|
|
main (void)
|
|
{
|
|
def_test_returning_type_xmm(fun_test_returning_char, char, 64, rax);
|
|
def_test_returning_type_xmm(fun_test_returning_short, short, 65, rax);
|
|
def_test_returning_type_xmm(fun_test_returning_int, int, 66, rax);
|
|
def_test_returning_type_xmm(fun_test_returning_long, long, 67, rax);
|
|
def_test_returning_type_xmm(fun_test_returning_long_long, long long, 68, rax);
|
|
def_test_returning_type_xmm(fun_test_returning_float, float, 69, xmm_regs[0]._float[0]);
|
|
def_test_returning_type_xmm(fun_test_returning_double, double, 70, xmm_regs[0]._double[0]);
|
|
def_test_returning_type_xmm(fun_test_returning_long_double, long double, 71, x87_regs[0]._ldouble);
|
|
return 0;
|
|
}
|