https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107716

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
           Priority|P3                          |P4
                 CC|                            |kargl at gcc dot gnu.org
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2022-11-16

--- Comment #2 from kargl at gcc dot gnu.org ---
(In reply to urbanjost from comment #1)
> I am on a Linux mint box using KVM and
> running a virtual box that is
>    OpenBSD mo.my.domain 7.2 GENERIC#381 i386
>

It seems that you may have discovered a bug in OpenBSD.

% cat a.f90
function ibar(x) result(r)
   integer r
   real x
   r = nint(x)
end function

% cat a.f90.005t.original 
__attribute__((fn spec (". w ")))
integer(kind=4) ibar (real(kind=4) & restrict x)
{
  integer(kind=4) r;

  r = __builtin_iroundf (*x);
  return r;
}

% grep call a.s
        call    lroundf

So, at least on FreeBSD, nint() is mapped to lroundf() from libm.

Reply via email to