diff options
author | Kewen Lin <linkw@linux.ibm.com> | 2021-06-22 23:09:30 -0500 |
---|---|---|
committer | Kewen Lin <linkw@linux.ibm.com> | 2021-06-22 23:09:30 -0500 |
commit | 47749c43acb460ac8f410ee599616d1860ee5a35 (patch) | |
tree | ffe0cb68fe12b660369896b5ff9f8f73a799a663 /libgcc/configure | |
parent | 419af06a35933fb1bb7c87fe9c7306755afce9a0 (diff) |
rs6000: Fix typos in float128 ISA3.1 support
The recent float128 ISA3.1 support (r12-1340) has some typos,
it makes the libgcc build fail if it's with one binutils
(assembler) which doesn't support Power10 insns. The error
looks like:
Error: invalid switch -mpower10
Error: unrecognized option -mpower10
... [...libgcc/shared-object.mk:14: float128-p10.o] Error 1
What this patch does are:
- fix test target typo libgcc_cv_powerpc_3_1_float128_hw
(written wrongly as libgcc_cv_powerpc_float128_hw, so it's
going to build ISA3.1 stuffs just when detecting ISA3.0).
- fix test used for libgcc_cv_powerpc_3_1_float128_hw check.
- fix test option used for libgcc_cv_powerpc_3_1_float128_hw
check.
- remove the ISA3.1 related contents from t-float128-hw.
- add new macro FLOAT128_HW_INSNS_ISA3_1 to differentiate
ISA3.1 content from ISA3.0 part in ifunc support.
Bootstrapped/regtested on:
- powerpc64le-linux-gnu P10
- powerpc64le-linux-gnu P9 (w/i and w/o p10 supported as)
- powerpc64-linux-gnu P8 (w/i and w/o p10 supported as)
libgcc/ChangeLog:
* configure: Regenerate.
* configure.ac (test for libgcc_cv_powerpc_3_1_float128_hw): Fix
typos among the name, CFLAGS and the test.
* config/rs6000/t-float128-hw (fp128_3_1_hw_funcs, fp128_3_1_hw_src,
fp128_3_1_hw_static_obj, fp128_3_1_hw_shared_obj, fp128_3_1_hw_obj):
Remove.
* config/rs6000/t-float128-p10-hw (FLOAT128_HW_INSNS): Append
macro FLOAT128_HW_INSNS_ISA3_1.
(FP128_3_1_CFLAGS_HW): Fix option typo.
* config/rs6000/float128-ifunc.c (SW_OR_HW_ISA3_1): Guard this with
FLOAT128_HW_INSNS_ISA3_1.
(__floattikf_resolve): Likewise.
(__floatuntikf_resolve): Likewise.
(__fixkfti_resolve): Likewise.
(__fixunskfti_resolve): Likewise.
(__floattikf): Likewise.
(__floatuntikf): Likewise.
(__fixkfti): Likewise.
(__fixunskfti): Likewise.
Diffstat (limited to 'libgcc/configure')
-rwxr-xr-x | libgcc/configure | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/libgcc/configure b/libgcc/configure index ce05e0dd48b..4919a56f518 100755 --- a/libgcc/configure +++ b/libgcc/configure @@ -5265,10 +5265,10 @@ $as_echo "$libgcc_cv_powerpc_float128_hw" >&6; } CFLAGS="$saved_CFLAGS" saved_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -mpower10 -mfloat128-hardware" + CFLAGS="$CFLAGS -mcpu=power10 -mfloat128-hardware" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PowerPC ISA 3.1 to build hardware __float128 libraries" >&5 $as_echo_n "checking for PowerPC ISA 3.1 to build hardware __float128 libraries... " >&6; } -if ${libgcc_cv_powerpc_float128_hw+:} false; then : +if ${libgcc_cv_powerpc_3_1_float128_hw+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -5280,15 +5280,15 @@ else #ifndef __BUILTIN_CPU_SUPPORTS__ #error "__builtin_cpu_supports is not available" #endif - vector unsigned char add (vector unsigned char a, vector unsigned char b) + vector unsigned char conv (vector unsigned char qs) { vector unsigned char ret; - __asm__ ("xscvsqqp %0,%1,%2" : "=v" (ret) : "v" (a), "v" (b)); + __asm__ ("xscvsqqp %0,%1" : "=v" (ret) : "v" (qs)); return ret; } - void *add_resolver (void) { return (void *) add; } - __float128 add_ifunc (__float128, __float128) - __attribute__ ((__ifunc__ ("add_resolver"))); + void *conv_resolver (void) { return (void *) conv; } + __float128 conv_ifunc (__float128) + __attribute__ ((__ifunc__ ("conv_resolver"))); _ACEOF if ac_fn_c_try_compile "$LINENO"; then : libgcc_cv_powerpc_3_1_float128_hw=yes @@ -5297,8 +5297,8 @@ else fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_powerpc_float128_hw" >&5 - $as_echo "$libgcc_cv_powerpc_float128_hw" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_powerpc_3_1_float128_hw" >&5 +$as_echo "$libgcc_cv_powerpc_3_1_float128_hw" >&6; } CFLAGS="$saved_CFLAGS" esac |