Re: [Qemu-devel] [PATCH 7/8] softfloat: Support halving the result of muladd operation

2014-02-10 Thread Peter Maydell
On 10 February 2014 20:15, Richard Henderson wrote: > On 02/07/2014 01:49 PM, Peter Maydell wrote: >> /* Zero plus something non-zero : just return the something */ >> +if (flags & float_muladd_halve_result) { >> +if (cExp == 0) { >> +shift32RightJammin

Re: [Qemu-devel] [PATCH 7/8] softfloat: Support halving the result of muladd operation

2014-02-10 Thread Richard Henderson
On 02/07/2014 01:49 PM, Peter Maydell wrote: > /* Zero plus something non-zero : just return the something */ > +if (flags & float_muladd_halve_result) { > +if (cExp == 0) { > +shift32RightJamming(cSig, 1, &cSig); > +} else if (cExp == 1) { >

[Qemu-devel] [PATCH 7/8] softfloat: Support halving the result of muladd operation

2014-02-07 Thread Peter Maydell
The ARMv8 instruction set includes a fused floating point reciprocal square root step instruction which demands an "(x * y + z) / 2" fused operation. Support this by adding a flag to the softfloat muladd operations which requests that the result is halved before rounding. Signed-off-by: Peter Mayd