[PATCH v3 14/19] RISC-V: Fix llrint and llround missing exceptions on RV32

Alistair Francis alistair23@gmail.com
Wed Jul 22 16:30:48 GMT 2020


On Tue, Jul 14, 2020 at 3:13 PM Maciej W. Rozycki via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> On Sun, 12 Jul 2020, Alistair Francis via Libc-alpha wrote:
>
> > Similar to the fix for MIPS, ARM and S/390, RV32 is missing
> > correct exception on overflow from llrint and llround functions because
> > cast from floating-point types to long long do not result in correct
> > exceptions on overflow.
>
>  Odd grammar and formatting.
>
> > diff --git a/sysdeps/riscv/rv32/fix-fp-int-convert-overflow.h b/sysdeps/riscv/rv32/fix-fp-int-convert-overflow.h
> > new file mode 100644
> > index 0000000000..2ab1497587
> > --- /dev/null
> > +++ b/sysdeps/riscv/rv32/fix-fp-int-convert-overflow.h
> > @@ -0,0 +1,38 @@
> > +/* Fix for conversion of floating point to integer overflow. RISC-V version.
>
>  Two spaces after a sentence please.
>
> > +/* The generic libgcc2.c conversions from floating point
> > +   to long long may not raise the correct exceptions on overflow (and
> > +   may raise spurious "inexact" exceptions even in non-overflow cases,
> > +   see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59412>).  */
>
>  Odd formatting as well, how about:
>
> /* The generic libgcc2.c conversions from floating point to long long
>    may not raise the correct exceptions on overflow (and may raise
>    spurious "inexact" exceptions even in non-overflow cases, see
>    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59412>).  */
>
> ?

Fixed!

Alistair

>
>  Otherwise OK.
>
>   Maciej


More information about the Libc-alpha mailing list