Fix FMULX not squashing denormalized inputs when FZ is set.
commitdabf005808f0830313f313c76a492294ef3bce6a
authorXiangyu Hu <libhu.so@gmail.com>
Thu, 5 Feb 2015 13:37:22 +0000 (5 13:37 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 5 Feb 2015 13:37:22 +0000 (5 13:37 +0000)
tree639ae9ac42542b3983ca1b5e4a78f1598f82eba1
parent375421ccaeebae8212eb8f9a36835ad4d9dc60a8
Fix FMULX not squashing denormalized inputs when FZ is set.

While FMULX returns a 2.0f float when two operators are infinity and
zero, those operators should be unpacked from raw inputs first. Inconsistent
cases would occur when operators are denormalized floats in flush-to-zero
mode. A wrong codepath will be entered and 2.0f will not be returned
without this patch.
Fix by checking whether inputs need to be flushed before running into
different codepaths.

Signed-off-by: Xiangyu Hu <libhu.so@gmail.com>
Message-id: 1422459650-12490-1-git-send-email-libhu.so@gmail.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target-arm/helper-a64.c