Hi, After calling __builtin_ia32_movntq, floating point operations do not seem to work anymore :
When compiling this with the msse flag : ------------------------------------------------------ #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main() { unsigned long long int a,b; a = 1ULL; b = 2ULL; __builtin_ia32_movntq(&a,b); printf("%f\n", ((float) (1*2))); return 0; } -------------------------------------------------------- It returns "nan" instead of 2 as we might have expected. Regards, Cédric -- Summary: Problem with floating point operations after calling __builtin_ia32_movntq Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: cedric dot augonnet at ens-lyon dot org GCC build triplet: i486-linux-gnu GCC host triplet: i486-linux-gnu GCC target triplet: i486-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28331