Even Rouault via gdal-dev <[email protected]> writes: > we do have a CI configuration for i386 using clang in debug > mode. Maybe your use of gcc in -O2 yields to slightly different > results in some cases.
It makes sense that -O2 could differ. double when stored in memory is the standard IEEE754 width. When stored in fp registers it's 80, so with -O2 chained fp calculations use more precision before being stored, and can get slightly different results. With -ffloat-store, each register is store/loaded or something like that to aovid this. Without -O2, it would seem that store/load is more likely. Arguably the use of 80-bit intermediaries gets better results, but they are not the same bits one gets with an exact IEEE754 implementation. _______________________________________________ gdal-dev mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/gdal-dev
