On 12/06/2013 04:45 AM, Tom Musta wrote:
> This patch adds the Single Precision VSX Scalar Fused Multiply-Add
> instructions: xsmaddasp, xsmaddmsp, xssubasp, xssubmsp, xsnmaddasp,
> xsnmaddmsp, xsnmsubasp, xsnmsubmsp.
> 
> The existing VSX_MADD() macro is modified to support rounding of the
> intermediate double precision result to single precision.
> 
> V2: Re-implemented per feedback from Richard Henderson.  In order to
> avoid double rounding and incorrect results, the operands must be
> converted to true single precision values and use the single precision
> fused multiply/add routine.
> 
> V3: Re-implemented per feedback from Richard Henderson (I did not
> fully understand his comment when I implemented V2).
> 
> V4: Changed to use helper_frsp (inadvertently re-injected when I used an
> earlier patch).  Thanks to Richard Henderson for catching this.
> 
> Signed-off-by: Tom Musta <tommu...@gmail.com>
> ---
>  target-ppc/fpu_helper.c |   82 ++++++++++++++++++++++++++++++----------------
>  target-ppc/helper.h     |    8 ++++
>  target-ppc/translate.c  |   16 +++++++++
>  3 files changed, 77 insertions(+), 29 deletions(-)

Reviewed-by: Richard Henderson <r...@twiddle.net>


r~

Reply via email to