My powerpc64 box is getting a bit long in the tooth.
It's a "G5" box running Debian Wheezy, with gcc-4.6.3 and libc version 2.13.
If nvtype is "double", then I see pretty much the same as what I see on the Windows and Ubuntu boxes - perl's Atof frequently fails to assign floating point values correctly (wrong by up to 7 ULP), whereas Perl_strtod works flawlessly.
However, on this architecture, the "long double" nvtype is the
Double-Double and neither perl's Atof nor Perl_strtod produce acceptable results when assigning values.
About 60% of floating point assignments are incorrect - by up to thousands of ULP.
I'd be hopeful that with gcc-7.x and later, and with a current version of libc, that Perl_strtod would work significantly better on the Double-Double perl.
But, it probably doesn't matter all that much anyway - because no-one runs Double-Double builds.
Cheers,
Rob