This overcomes the lack of fused multiply-add instruction on the x87 FPU by doing an iterated addition with exact error handling for the last digit taken into account for the mantissa. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * libgnat/s-valrea.adb (Fast2Sum): New function. (Integer_to_Real): Use it in an iterated addition with exact error handling for the case where an extra digit is needed. Move local variable now only used in the exponentiation case.