The issue of gcc implicitely generating floating point instructions (i.e., without 'double' or 'float' types being used in the source code) has come up a few times in the past (e.g., 2002/10: GCC floating point usage)
Miraculously, I found that gcc-4.0.2 (unlike 3.2 or 3.4) no longer generates a lfd/stfd pair for something like this: unsigned long long *px, *py; *px = *py; However, I was unable to find any documentation or recent discussion about the issue. Has this kind of optimization (using the FPU for data objects other than double/float) been deliberately abandoned or is it the side-effect of other changes? Thanks -- Till PS: Please CC me - I'm not on this list