pelfy/tests/test.c

36 lines
802 B
C
Raw Normal View History

//Assebly x86-64 gcc 14.1 -O3
//dummy for heap variables
float read_float_ret = 1337;
//Dummy helper functions
int __attribute__ ((noinline)) result_float(float ret1){
asm ("");
return (int)ret1;
}
int __attribute__ ((noinline)) result_float_float(float ret1, float ret2){
asm ("");
return (int)ret1 + (int)ret2;
}
//Operations
void add_float_float(float arg1, float arg2){
result_float(arg1 + arg2);
//addss %xmm1, %xmm0
//jmp result_float
}
void mul_float_float(float arg1, float arg2){
result_float(arg1 * arg2);
//mulss %xmm1, %xmm0
//jmp result_float
}
//Read global variables from heap
void read_float(float arg1){
result_float_float(arg1, read_float_ret);
//movss read_float_ret(%rip), %xmm1
//jmp result_float_float
}