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~


Reply via email to