I have tested floats and doubles with avr-gcc for ATmega328P on my Duemilanove using the Arduino environment.
Floats and doubles are the same. Both have size 4 and both contain exactly the same bytes. Exactly. The bit patterns of a few numbers that I have tested seem to be the same as for floats in any of the other GNU compilers. I mean, I haven't tested all of the NaN and other out-of-range conditions, but the numerical byte values seem to be the same as I see for gcc on my Linux (and Windows/Cygwin) workstations.
Regards,
Dave