On 11/08/2013 09:28 AM, Richard Henderson wrote:
> 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.
Blah, nevermind. That would be using separate add+mul in double-precision, not
using a double-precision fma primitive.
r~