target-arm: Fix VMLA, VMLS, VNMLS, VNMLA handling of NaNs
commit605a6aed56963360b744355d0c25da9e26a9bb0a
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 5 May 2011 18:35:35 +0000 (5 19:35 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Sat, 14 May 2011 22:22:57 +0000 (15 00:22 +0200)
tree01eb1e9b1ef71d525971a77b57fe6069629b9154
parentde1db2a172074a9ed7756d21823a70181b9a1dfb
target-arm: Fix VMLA, VMLS, VNMLS, VNMLA handling of NaNs

Correct handling of NaNs for VFP VMLA, VMLS, VNMLS and VNMLA requires that
we implement the set of negations and additions specified by the ARM ARM;
plausible looking simplifications like turning (-A + B) into (B - A) or
computing (A + B) rather than (B + A) result in selecting the wrong NaN or
returning a NaN with the wrong sign bit.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-arm/translate.c