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
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) {
>
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