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~