My assumption is wrong. There is a test program with results from gcc and tcc.
#include <stdio.h>
inline long lrint (double x)
{
long retval;
__asm__ __volatile__ ("fistpl %0" : "=m" (retval) : "t" (x) : "st");
return retval;
}
int main()
{
int I = 10;
long L = 20;
double D = 30.6;
long LD = lrint (D);
printf ("Result: I=%d L=%ld D=%lf LD=%ld\n", I, L, D, LD);
}
// gcc: "Result: I=10 L=20 D=30.600000 LD=31"
// tcc: "Result: I=10 L=20 D=30.600000 LD=-2147483648"
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel