[Bug target/110796] builtin_iseqsig fails some tests in armv8l-linux-gnueabihf

fxcoudert at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jul 25 16:50:03 GMT 2023


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

--- Comment #5 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> ---
OK, so it signals FE_INVALID on the first test. Can you run this with the same
options, and see what happens?

-------
#include <fenv.h>
#include <stdio.h>

void
ftrue (float x, float y)
{
  if (!__builtin_iseqsig (x, y))
    __builtin_abort ();
}

int
main ()
{
  volatile float f1, f2;

  f1 = 0.f; f2 = 0.f;
  if (fetestexcept (FE_INVALID)) printf("Invalid 1\n");
  ftrue (f1, f2);
  if (fetestexcept (FE_INVALID)) printf("Invalid 2\n");

  return 0;
}
-------

One surprising thing is that the directive "dg-add-options ieee" in the test
did not apparently add any other option for IEEE conformance…


More information about the Gcc-bugs mailing list