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

--- Comment #16 from John David Anglin <danglin at gcc dot gnu.org> ---
Correct.  I recently did a couple of updates to the test ulps and now
only the fma tests fail when building glibc with PA 1.1 code.  Don't
know about PA 2.0.

I noticed that some RISCV processors have problems with underflow.  I
adapted fdiv test to test glibc fma function:

dave@atlas:~$ cat fma-repro.c
#include <math.h>
#include <fenv.h>
#include <stdio.h>

int main(void) {
  if (fesetround (FE_DOWNWARD)) {
    printf("ERROR: Failed to set rounding mode!\n");
    return 1;
  }
  fma(-0x7.ffffffffffffp-1024, 0x8.0000000000008p-4, -0x4p-1076);
  if(fetestexcept (FE_UNDERFLOW)) {
    printf("Failure: Exception Underflow is set!\n");
  } else {
    printf("Success: Exception Underflow is not set!!!\n");
  }
}

dave@atlas:~$ gcc fma-repro.c  -lm -std=c2x -o fma-repro -fno-builtin
dave@atlas:~$ ./fma-repro
Failure: Exception Underflow is set!

Option -fno-builtin is needed to ensure fma call isn't optimized away.
Test passes if it is optimized away.

Reply via email to