ppc: add configure check for older compilers erroring on 'd' constraint

This commit is contained in:
rofl0r 2019-11-05 21:01:42 +00:00 committed by Rich Felker
parent 90251cf73d
commit 66d1e31292
3 changed files with 11 additions and 2 deletions

9
configure vendored
View File

@ -646,6 +646,15 @@ if test "$ARCH" = "powerpc" ; then
trycppif "__NO_FPRS__ && !_SOFT_FLOAT" "$t" && fail \
"$0: error: compiler's floating point configuration is unsupported"
trycppif _SOFT_FLOAT "$t" && SUBARCH=${SUBARCH}-sf
printf "checking whether compiler can use 'd' constraint in asm... "
echo 'double f(double x) { __asm__ ("fabs %0, %1" : "=d"(x) : "d"(x)); return x; }' > "$tmpc"
if $CC $CFLAGS_C99FSE $CPPFLAGS $CFLAGS -c -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
printf "yes\n"
else
printf "no\n"
CFLAGS_AUTO="$CFLAGS_AUTO -DBROKEN_PPC_D_ASM"
CFLAGS_AUTO="${CFLAGS_AUTO# }"
fi
fi
test "$ARCH" = "microblaze" && trycppif __MICROBLAZEEL__ "$t" \

View File

@ -1,6 +1,6 @@
#include <math.h>
#ifdef _SOFT_FLOAT
#if defined(_SOFT_FLOAT) || defined(BROKEN_PPC_D_ASM)
#include "../fabs.c"

View File

@ -1,6 +1,6 @@
#include <math.h>
#ifdef _SOFT_FLOAT
#if defined(_SOFT_FLOAT) || defined(BROKEN_PPC_D_ASM)
#include "../fma.c"