qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/4] ARM: fix Neon VRECPE and VRSQRTE instructions.
@ 2011-02-18 14:49 Christophe Lyon
  2011-02-18 14:49 ` [Qemu-devel] [PATCH 1/4] softfloat: move all default NaN definitions to softfloat.h Christophe Lyon
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Christophe Lyon @ 2011-02-18 14:49 UTC (permalink / raw)
  To: qemu-devel

These 4 patches fix the ARM Neon vrecpe and vrsqrte instructions by
matching the algorithms descibed in the ARM ARM.

With these patches, qemu passes my ARM/Neon tests.

Compared to v3, I have split patch #1 into 2 pieces (#1 and #2 here),
and fixed comments from Peter.

Patch #1 modifies softfloat by exporting floatXX_default_nan, i.e. moving all these definitions from softfloat-specialize.h to softfloat.h

Patch #2 introduces a new utility function float32_set_sign() to help
return the right special values (-0, -infinity), as well as new
constants: float32_infinity, float64_half, float64_256 and
float64_512.

Patch #3 uses these newly exported values and uses the VRECPE
algorithm described in the ARM ARM.

Patch #4 uses these newly exported values and uses the VRSQRTE
algorithm described in the ARM ARM.

Thanks to Peter for his careful reviews.

Christophe Lyon (4):
  softfloat: move all default NaN definitions to softfloat.h.
  softfloat: add float32_set_sign(), float32_infinity, float64_half,
    float64_256 and float64_512.
  target-arm: fix support for VRECPE.
  target-arm: fix support for VRSQRTE.

 fpu/softfloat-specialize.h |   68 ---------------
 fpu/softfloat.h            |   78 +++++++++++++++++
 target-arm/helper.c        |  204 +++++++++++++++++++++++++++++++++++++++-----
 3 files changed, 260 insertions(+), 90 deletions(-)

-- 
1.7.2.3

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-02-21 10:00 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-18 14:49 [Qemu-devel] [PATCH v4 0/4] ARM: fix Neon VRECPE and VRSQRTE instructions Christophe Lyon
2011-02-18 14:49 ` [Qemu-devel] [PATCH 1/4] softfloat: move all default NaN definitions to softfloat.h Christophe Lyon
2011-02-20 21:49   ` Aurelien Jarno
2011-02-18 14:49 ` [Qemu-devel] [PATCH 2/4] softfloat: add float32_set_sign(), float32_infinity, float64_half, float64_256 and float64_512 Christophe Lyon
2011-02-20 21:52   ` Aurelien Jarno
2011-02-20 22:09     ` Peter Maydell
2011-02-20 22:20       ` Aurelien Jarno
2011-02-21  9:59         ` Christophe Lyon
2011-02-18 14:49 ` [Qemu-devel] [PATCH 3/4] target-arm: fix support for VRECPE Christophe Lyon
2011-02-18 14:49 ` [Qemu-devel] [PATCH 4/4] target-arm: fix support for VRSQRTE Christophe Lyon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).