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~

Reply via email to