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.