qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 00/17] softfloat, hexagon: Cleanup fmaf
@ 2024-12-08 22:48 Richard Henderson
  2024-12-08 22:48 ` [PATCH 01/17] softfloat: Add float{16,32,64}_muladd_scalbn Richard Henderson
                   ` (16 more replies)
  0 siblings, 17 replies; 33+ messages in thread
From: Richard Henderson @ 2024-12-08 22:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: bcain, peter.maydell, mark.cave-ayland

While looking at some float_status usage, I got distracted by some
odd looking hexagon code.  With some minor additions to softfloat,
we can handle all of the special cases.

I have a feeling that dfmpyhh can also be simplified, but I don't
quite grok the accumulator in this case.  It appears to be integral
value, added into the middle of the floating-point partial product?


r~


Richard Henderson (17):
  softfloat: Add float{16,32,64}_muladd_scalbn
  target/arm: Use float*_muladd_scalbn
  target/sparc: Use float*_muladd_scalbn
  softfloat: Remove float_muladd_halve_result
  softfloat: Add float_round_nearest_even_max
  softfloat: Add float_muladd_suppress_add_product_zero
  target/hexagon: Use float32_mul in helper_sfmpy
  target/hexagon: Use float32_muladd for helper_sffma
  target/hexagon: Use float32_muladd for helper_sffms
  target/hexagon: Use float32_muladd_scalbn for helper_sffma_sc
  target/hexagon: Use float32_muladd for helper_sffm[as]_lib
  target/hexagon: Remove internal_fmafx
  target/hexagon: Expand GEN_XF_ROUND
  target/hexagon: Remove Float
  target/hexagon: Remove Double
  target/hexagon: Use mulu64 for int128_mul_6464
  target/hexagon: Simplify internal_mpyhh setup

 include/fpu/softfloat-types.h |   2 +
 include/fpu/softfloat.h       |  14 +-
 target/hexagon/fma_emu.h      |   3 -
 target/sparc/helper.h         |   4 +-
 fpu/softfloat.c               |  64 ++---
 target/arm/tcg/helper-a64.c   |   6 +-
 target/hexagon/fma_emu.c      | 494 +++++++++-------------------------
 target/hexagon/op_helper.c    | 125 +++------
 target/sparc/fop_helper.c     |   8 +-
 target/sparc/translate.c      |  80 +++---
 fpu/softfloat-parts.c.inc     |  16 +-
 11 files changed, 277 insertions(+), 539 deletions(-)

-- 
2.43.0



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

end of thread, other threads:[~2024-12-10 21:55 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-08 22:48 [RFC PATCH 00/17] softfloat, hexagon: Cleanup fmaf Richard Henderson
2024-12-08 22:48 ` [PATCH 01/17] softfloat: Add float{16,32,64}_muladd_scalbn Richard Henderson
2024-12-09 16:06   ` Philippe Mathieu-Daudé
2024-12-08 22:48 ` [PATCH 02/17] target/arm: Use float*_muladd_scalbn Richard Henderson
2024-12-09 16:08   ` Philippe Mathieu-Daudé
2024-12-08 22:48 ` [PATCH 03/17] target/sparc: " Richard Henderson
2024-12-09 16:06   ` Philippe Mathieu-Daudé
2024-12-08 22:48 ` [PATCH 04/17] softfloat: Remove float_muladd_halve_result Richard Henderson
2024-12-09 16:08   ` Philippe Mathieu-Daudé
2024-12-08 22:48 ` [PATCH 05/17] softfloat: Add float_round_nearest_even_max Richard Henderson
2024-12-08 22:48 ` [PATCH 06/17] softfloat: Add float_muladd_suppress_add_product_zero Richard Henderson
2024-12-08 22:48 ` [PATCH 07/17] target/hexagon: Use float32_mul in helper_sfmpy Richard Henderson
2024-12-10  1:45   ` Brian Cain
2024-12-08 22:48 ` [PATCH 08/17] target/hexagon: Use float32_muladd for helper_sffma Richard Henderson
2024-12-10  1:46   ` Brian Cain
2024-12-08 22:48 ` [PATCH 09/17] target/hexagon: Use float32_muladd for helper_sffms Richard Henderson
2024-12-10  1:48   ` Brian Cain
2024-12-08 22:48 ` [PATCH 10/17] target/hexagon: Use float32_muladd_scalbn for helper_sffma_sc Richard Henderson
2024-12-10  2:01   ` Brian Cain
2024-12-08 22:48 ` [PATCH 11/17] target/hexagon: Use float32_muladd for helper_sffm[as]_lib Richard Henderson
2024-12-10 15:29   ` Brian Cain
2024-12-08 22:48 ` [PATCH 12/17] target/hexagon: Remove internal_fmafx Richard Henderson
2024-12-10 21:52   ` Brian Cain
2024-12-08 22:48 ` [PATCH 13/17] target/hexagon: Expand GEN_XF_ROUND Richard Henderson
2024-12-10 21:53   ` Brian Cain
2024-12-08 22:48 ` [PATCH 14/17] target/hexagon: Remove Float Richard Henderson
2024-12-10 21:54   ` Brian Cain
2024-12-08 22:48 ` [PATCH 15/17] target/hexagon: Remove Double Richard Henderson
2024-12-10 21:54   ` Brian Cain
2024-12-08 22:48 ` [PATCH 16/17] target/hexagon: Use mulu64 for int128_mul_6464 Richard Henderson
2024-12-10  2:06   ` Brian Cain
2024-12-08 22:48 ` [PATCH 17/17] target/hexagon: Simplify internal_mpyhh setup Richard Henderson
2024-12-10  2:02   ` Brian Cain

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