On 11/07/2013 06:31 AM, Tom Musta wrote: > } > \ > + > \ > + if (r2sp) { > \ > + float32 tmp32 = float64_to_float32(xt_out.fld[i], > \ > + &env->fp_status); > \ > + xt_out.fld[i] = float32_to_float64(tmp32, &env->fp_status); > \ > + } > \ > + > \
You can't get correct results for a single-precision fma from a double-precision fma and merely rounding the results. See e.g. glibc's sysdeps/ieee754/dbl-64/s_fmaf.c. r~