On 5/15/23 05:49, juzhe.zh...@rivai.ai wrote:
From: Juzhe-Zhong <juzhe.zh...@rivai.ai>

This patch is adding rounding mode operand and FRM_REGNUM dependency
into floating-point instructions.

The floating-point instructions we added FRM and rounding mode operand:
1. vfadd/vfsub
2. vfwadd/vfwsub
3. vfmul
4. vfdiv
5. vfwmul
6. vfwmacc/vfwnmacc/vfwmsac/vfwnmsac
7. vfsqrt7/vfrec7
8. floating-point conversions.
9. floating-point reductions.

The floating-point instructions we did NOT add FRM and rounding mode operand:
1. vfsqrt/vfneg
Assuming vfsqrt is actually an estimator the best place to handle rounding modes is at the last step(s) after N-R or Goldschmidt refinement steps. I haven't paid too much attention to FP yet, but this is an area I've got fairly extensive experience.

Sadly RISC-V's estimator is fairly poor and the single instance FMACs are going to result in an implementation that may not actually be any better than what glibc can do.

Jeff

Reply via email to