public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/meissner/heads/work025)] Revert patch.
@ 2020-11-11 19:59 Michael Meissner
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Meissner @ 2020-11-11 19:59 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:6eb0ee9a77b59b8f1c493b2e061b3b1d4e0262ce

commit 6eb0ee9a77b59b8f1c493b2e061b3b1d4e0262ce
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Wed Nov 11 14:58:27 2020 -0500

    Revert patch.
    
    libgcc/
    2020-11-11  Michael Meissner  <meissner@linux.ibm.com>
    
            Revert:
            * config/rs6000/t-float128 (fp128_dec_funcs): New macro.
            (ibm128_dec_funcs): New macro.
            (fp128_ppc_funcs): Add the Decimal <-> __float128 conversions.
            (fp128_dec_objs): Force Decimal <-> __float128 conversions to be
            compiled with -mabi=ieeelongdouble.
            (ibm128_dec_objs): Force Decimal <-> __float128 conversions to be
            compiled with -mabi=ieeelongdouble.
            (FP128_CFLAGS_DECIMAL): New macro.
            (IBM128_CFLAGS_DECIMAL): New macro.
            * config/rs6000/_dd_to_kf.c: New file.
            * config/rs6000/_kf_to_dd.c: New file.
            * config/rs6000/_kf_to_sd.c: New file.
            * config/rs6000/_kf_to_td.c: New file.
            * config/rs6000/_sd_to_kf.c: New file.
            * config/rs6000/_td_to_kf.c: New file.

Diff:
---
 libgcc/config/rs6000/_dd_to_kf.c | 56 ---------------------------------------
 libgcc/config/rs6000/_kf_to_dd.c | 55 --------------------------------------
 libgcc/config/rs6000/_kf_to_sd.c | 56 ---------------------------------------
 libgcc/config/rs6000/_kf_to_td.c | 55 --------------------------------------
 libgcc/config/rs6000/_sd_to_kf.c | 57 ----------------------------------------
 libgcc/config/rs6000/_td_to_kf.c | 56 ---------------------------------------
 libgcc/config/rs6000/t-float128  | 26 +-----------------
 7 files changed, 1 insertion(+), 360 deletions(-)

diff --git a/libgcc/config/rs6000/_dd_to_kf.c b/libgcc/config/rs6000/_dd_to_kf.c
deleted file mode 100644
index df688a63758..00000000000
--- a/libgcc/config/rs6000/_dd_to_kf.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 1989-2020 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* Decimal64 -> _Float128 conversion.  */
-
-/* FINE_GRAINED_LIBRARIES is used so we can isolate just to dd_to_tf conversion
-   function from dp-bits.c.  */
-#define FINE_GRAINED_LIBRARIES	1
-#define L_dd_to_tf		1
-#define WIDTH			64
-
-#if !defined(__LONG_DOUBLE_128__) || !defined(__LONG_DOUBLE_IEEE128__)
-#error "Long double is not IEEE 128-bit"
-#endif
-
-/* If we don't have at least GLIBC 2.32, the strtold used by dfp-bit.c does not
-   have support for float128.  Add an abort in case this is called.  */
-#if ((__GLIBC__ * 1000) + __GLIBC_MINOR__) < 2032
-
-#include <stdlib.h>
-extern long double __dpd_extendddkf (_Decimal64);
-
-long double
-__dpd_extendddkf (_Decimal64 x __attribute__ ((unused)))
-{
-  abort ();
-}
-
-#else
-
-/* Map the external name to the float128 default.  */
-#define __dpd_extendddtf	__dpd_extendddkf
-
-/* Use dfp-bit.c to do the real work.  */
-#include "dfp-bit.c"
-#endif
diff --git a/libgcc/config/rs6000/_kf_to_dd.c b/libgcc/config/rs6000/_kf_to_dd.c
deleted file mode 100644
index e497044ab4f..00000000000
--- a/libgcc/config/rs6000/_kf_to_dd.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1989-2020 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* _Float128 -> Decimal64 conversion.  */
-
-/* FINE_GRAINED_LIBRARIES is used so we can isolate just to tf_to_dd conversion
-   function from dp-bits.c.  */
-#define FINE_GRAINED_LIBRARIES	1
-#define L_df_to_dd		1
-#define WIDTH			64
-
-#if !defined(__LONG_DOUBLE_128__) || !defined(__LONG_DOUBLE_IEEE128__)
-#error "Long double is not IEEE 128-bit"
-#endif
-
-/* If we don't have at least GLIBC 2.32, the strtold used by dfp-bit.c does not
-   have support for float128.  Add an abort in case this is called.  */
-#if ((__GLIBC__ * 1000) + __GLIBC_MINOR__) < 2032
-
-#include <stdlib.h>
-extern _Decimal64 __dpd_extendkfdd (long double);
-
-_Decimal64
-__dpd_extendkfdd (long double x __attribute__ ((unused)))
-{
-  abort ();
-}
-
-#else
-/* Map the external name to the float128 default.  */
-#define __dpd_trunctdtf		__dpd_trunctdkf
-
-/* Use dfp-bit.c to do the real work.  */
-#include "dfp-bit.c"
-#endif
diff --git a/libgcc/config/rs6000/_kf_to_sd.c b/libgcc/config/rs6000/_kf_to_sd.c
deleted file mode 100644
index dc691092eab..00000000000
--- a/libgcc/config/rs6000/_kf_to_sd.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 1989-2020 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* _Float128 -> Decimal32 conversion.  */
-
-/* FINE_GRAINED_LIBRARIES is used so we can isolate just to tf_to_sd conversion
-   function from dp-bits.c.  */
-#define FINE_GRAINED_LIBRARIES	1
-#define L_tf_to_sd		1
-#define WIDTH			32
-
-#if !defined(__LONG_DOUBLE_128__) || !defined(__LONG_DOUBLE_IEEE128__)
-#error "Long double is not IEEE 128-bit"
-#endif
-
-/* If we don't have at least GLIBC 2.32, the strtold used by dfp-bit.c does not
-   have support for float128.  Add an abort in case this is called.  */
-#if ((__GLIBC__ * 1000) + __GLIBC_MINOR__) < 2032
-
-#include <stdlib.h>
-extern _Decimal32 __dpd_extendkfsd (long double);
-
-_Decimal32
-__dpd_extendkfsd (long double x __attribute__ ((unused)))
-{
-  abort ();
-}
-
-#else
-
-/* Map the external name to the float128 default.  */
-#define __dpd_trunctfsd	__dpd_trunckfsd
-
-/* Use dfp-bit.c to do the real work.  */
-#include "dfp-bit.c"
-#endif
diff --git a/libgcc/config/rs6000/_kf_to_td.c b/libgcc/config/rs6000/_kf_to_td.c
deleted file mode 100644
index f3f47599051..00000000000
--- a/libgcc/config/rs6000/_kf_to_td.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1989-2020 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* _Float128 -> Decimal128 conversion.  */
-
-/* FINE_GRAINED_LIBRARIES is used so we can isolate just to tf_to_td conversion
-   function from dp-bits.c.  */
-#define FINE_GRAINED_LIBRARIES	1
-#define L_tf_to_td		1
-#define WIDTH			128
-
-#if !defined(__LONG_DOUBLE_128__) || !defined(__LONG_DOUBLE_IEEE128__)
-#error "Long double is not IEEE 128-bit"
-#endif
-
-/* If we don't have at least GLIBC 2.32, the strtold used by dfp-bit.c does not
-   have support for float128.  Add an abort in case this is called.  */
-#if ((__GLIBC__ * 1000) + __GLIBC_MINOR__) < 2032
-
-#include <stdlib.h>
-extern _Decimal128 __dpd_extendkftd (long double);
-
-_Decimal128
-__dpd_extendkftd (long double x __attribute__ ((unused)))
-{
-  abort ();
-}
-
-#else
-/* Map the external name to the float128 default.  */
-#define __dpd_extendtftd	__dpd_extendkftd
-
-/* Use dfp-bit.c to do the real work.  */
-#include "dfp-bit.c"
-#endif
diff --git a/libgcc/config/rs6000/_sd_to_kf.c b/libgcc/config/rs6000/_sd_to_kf.c
deleted file mode 100644
index 44bba0a1466..00000000000
--- a/libgcc/config/rs6000/_sd_to_kf.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 1989-2020 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* Decimal32 -> _Float128 conversion.  */
-
-/* FINE_GRAINED_LIBRARIES is used so we can isolate just to sd_to_tf conversion
-   function from dp-bits.c.  */
-#define FINE_GRAINED_LIBRARIES	1
-#define L_sd_to_tf		1
-#define WIDTH			32
-
-#if !defined(__LONG_DOUBLE_128__) || !defined(__LONG_DOUBLE_IEEE128__)
-#error "Long double is not IEEE 128-bit"
-#endif
-
-/* If we don't have at least GLIBC 2.32, the strtold used by dfp-bit.c does not
-   have support for float128.  Add an abort in case this is called.  */
-#if ((__GLIBC__ * 1000) + __GLIBC_MINOR__) < 2032
-
-#include <stdlib.h>
-extern long double __dpd_extendsdkf (_Decimal32);
-
-long double
-__dpd_extendsdkf (_Decimal32 x __attribute__ ((unused)))
-{
-  abort ();
-}
-
-#else
-
-
-/* Map the external name to the float128 default.  */
-#define __dpd_extendsdtf	__dpd_extendsdkf
-
-/* Use dfp-bit.c to do the real work.  */
-#include "dfp-bit.c"
-#endif
diff --git a/libgcc/config/rs6000/_td_to_kf.c b/libgcc/config/rs6000/_td_to_kf.c
deleted file mode 100644
index 947e2e335b0..00000000000
--- a/libgcc/config/rs6000/_td_to_kf.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 1989-2020 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-/* Decimal128 -> _Float128 conversion.  */
-
-/* FINE_GRAINED_LIBRARIES is used so we can isolate just to td_to_tf conversion
-   function from dp-bits.c.  */
-#define FINE_GRAINED_LIBRARIES	1
-#define L_td_to_tf		1
-#define WIDTH			128
-
-#if !defined(__LONG_DOUBLE_128__) || !defined(__LONG_DOUBLE_IEEE128__)
-#error "Long double is not IEEE 128-bit"
-#endif
-
-/* If we don't have at least GLIBC 2.32, the strtold used by dfp-bit.c does not
-   have support for float128.  Add an abort in case this is called.  */
-#if ((__GLIBC__ * 1000) + __GLIBC_MINOR__) < 2032
-
-#include <stdlib.h>
-extern long double __dpd_trunctdkf (_Decimal128);
-
-long double
-__dpd_trunctdkf (_Decimal128 x __attribute__ ((unused)))
-{
-  abort ();
-}
-
-#else
-
-/* Map the external name to the float128 default.  */
-#define __dpd_trunctdtf	__dpd_trunctdkf
-
-/* Use dfp-bit.c to do the real work.  */
-#include "dfp-bit.c"
-#endif
diff --git a/libgcc/config/rs6000/t-float128 b/libgcc/config/rs6000/t-float128
index 8b089d4433c..d5413445189 100644
--- a/libgcc/config/rs6000/t-float128
+++ b/libgcc/config/rs6000/t-float128
@@ -22,19 +22,10 @@ fp128_softfp_static_obj	= $(addsuffix -sw$(objext),$(fp128_softfp_funcs))
 fp128_softfp_shared_obj	= $(addsuffix -sw_s$(objext),$(fp128_softfp_funcs))
 fp128_softfp_obj	= $(fp128_softfp_static_obj) $(fp128_softfp_shared_obj)
 
-# Decimal <-> _Float128 conversions
-fp128_dec_funcs		= _kf_to_sd _kf_to_dd _kf_to_td \
-			  _sd_to_kf _dd_to_kf _td_to_kf
-
-# Decimal <-> __ibm128 conversions
-ibm128_dec_funcs	= _tf_to_sd _tf_to_dd _tf_to_td \
-			  _sd_to_tf _dd_to_tf _td_to_tf
-
 # New functions for software emulation
 fp128_ppc_funcs		= floattikf floatuntikf fixkfti fixunskfti \
 			  extendkftf2-sw trunctfkf2-sw \
-			  sfp-exceptions _mulkc3 _divkc3 _powikf2 \
-			  $(fp128_dec_funcs)
+			  sfp-exceptions _mulkc3 _divkc3 _powikf2
 
 fp128_ppc_src		= $(addprefix $(srcdir)/config/rs6000/,$(addsuffix \
 				.c,$(fp128_ppc_funcs)))
@@ -78,21 +69,6 @@ $(fp128_ppc_obj)	 : INTERNAL_CFLAGS += $(FP128_CFLAGS_SW)
 $(fp128_obj)		 : $(fp128_includes)
 $(fp128_obj)		 : $(srcdir)/config/rs6000/quad-float128.h
 
-# Force the TF mode to/from decimal functions to be compiled with IBM long
-# double.  Add building the KF mode to/from decimal conversions with explict
-# IEEE long double.
-fp128_dec_objs		= $(addsuffix $(objext),$(fp128_dec_funcs)) \
-			  $(addsuffix _s$(objext),$(fp128_dec_funcs))
-
-ibm128_dec_objs		= $(addsuffix $(objext),$(ibm128_dec_funcs)) \
-			  $(addsuffix _s$(objext),$(ibm128_dec_funcs))
-
-FP128_CFLAGS_DECIMAL	= -mno-gnu-attribute -Wno-psabi -mabi=ieeelongdouble
-IBM128_CFLAGS_DECIMAL	= -mno-gnu-attribute -Wno-psabi -mabi=ibmlongdouble
-
-$(fp128_dec_objs)	: INTERNAL_CFLAGS += $(FP128_CFLAGS_DECIMAL)
-$(ibm128_dec_objs)	: INTERNAL_CFLAGS += $(IBM128_CFLAGS_DECIMAL)
-
 $(fp128_softfp_src) : $(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@)) $(fp128_dep)
 	@src="$(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@))"; \
 	echo "Create $@"; \


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [gcc(refs/users/meissner/heads/work025)] Revert patch.
@ 2020-11-11 18:28 Michael Meissner
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Meissner @ 2020-11-11 18:28 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:312d363345f67cd98bb300551f5e91d613b7df97

commit 312d363345f67cd98bb300551f5e91d613b7df97
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Wed Nov 11 13:27:17 2020 -0500

    Revert patch.
    
    gcc/
    2020-11-10  Michael Meissner  <meissner@linux.ibm.com>
    
            Revert
            * config/rs6000/rs6000.c (rs6000_mangle_decl_assembler_name): Add
            support for mapping built-in function names for long double
            built-in functions if long double is IEEE 128-bit.
    
    gcc/testsuite/
    2020-11-10  Michael Meissner  <meissner@linux.ibm.com>
    
            Revert
            * gcc.target/powerpc/float128-longdouble-math.c: New test.
            * gcc.target/powerpc/float128-longdouble-stdio.c: New test.
            * gcc.target/powerpc/float128-math.c: Adjust test for new name
            being generated.  Add support for running test on power10.  Add
            support for running if long double defaults to 64-bits.

Diff:
---
 gcc/config/rs6000/rs6000.c                         | 135 ++-----
 .../gcc.target/powerpc/float128-longdouble-math.c  | 442 ---------------------
 .../gcc.target/powerpc/float128-longdouble-stdio.c |  36 --
 gcc/testsuite/gcc.target/powerpc/float128-math.c   |   9 +-
 4 files changed, 37 insertions(+), 585 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 6edd17a0b69..aa7e7df4b9f 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -27070,127 +27070,56 @@ rs6000_globalize_decl_name (FILE * stream, tree decl)
    library before you can switch the real*16 type at compile time.
 
    We use the TARGET_MANGLE_DECL_ASSEMBLER_NAME hook to change this name.  We
-   only do this transformation if the __float128 type is enabled.  This
-   prevents us from doing the transformation on older 32-bit ports that might
-   have enabled using IEEE 128-bit floating point as the default long double
-   type.  */
+   only do this if the default is that long double is IBM extended double, and
+   the user asked for IEEE 128-bit.  */
 
 static tree
 rs6000_mangle_decl_assembler_name (tree decl, tree id)
 {
-  if (TARGET_FLOAT128_TYPE && TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128
+  if (!TARGET_IEEEQUAD_DEFAULT && TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128
       && TREE_CODE (decl) == FUNCTION_DECL
-      && DECL_IS_UNDECLARED_BUILTIN (decl)
-      && DECL_BUILT_IN_CLASS (decl) == BUILT_IN_NORMAL)
+      && DECL_IS_UNDECLARED_BUILTIN (decl))
     {
       size_t len = IDENTIFIER_LENGTH (id);
       const char *name = IDENTIFIER_POINTER (id);
-      char *newname = NULL;
 
-      /* See if it is one of the built-in functions with an unusual name.  */
-      switch (DECL_FUNCTION_CODE (decl))
+      if (name[len - 1] == 'l')
 	{
-	case BUILT_IN_DREML:
-	  newname = xstrdup ("__remainderieee128");
-	  break;
-
-	case BUILT_IN_GAMMAL:
-	  newname = xstrdup ("__lgammaieee128");
-	  break;
-
-	case BUILT_IN_GAMMAL_R:
-	case BUILT_IN_LGAMMAL_R:
-	  newname = xstrdup ("__lgammaieee128_r");
-	  break;
-
-	case BUILT_IN_NEXTTOWARD:
-	  newname = xstrdup ("__nexttoward_to_ieee128");
-	  break;
-
-	case BUILT_IN_NEXTTOWARDF:
-	  newname = xstrdup ("__nexttowardf_to_ieee128");
-	  break;
-
-	case BUILT_IN_NEXTTOWARDL:
-	  newname = xstrdup ("__nexttowardieee128");
-	  break;
-
-	case BUILT_IN_POW10L:
-	  newname = xstrdup ("__exp10ieee128");
-	  break;
-
-	case BUILT_IN_SCALBL:
-	  newname = xstrdup ("__scalbieee128");
-	  break;
-
-	case BUILT_IN_SIGNIFICANDL:
-	  newname = xstrdup ("__significandieee128");
-	  break;
-
-	case BUILT_IN_SINCOSL:
-	  newname = xstrdup ("__sincosieee128");
-	  break;
-
-	default:
-	  break;
-	}
-
-      /* Update the __builtin_*printf and __builtin_*scanf functions.  */
-      if (!newname)
-	{
-	  size_t printf_len = strlen ("printf");
-	  size_t scanf_len = strlen ("scanf");
+	  bool uses_ieee128_p = false;
+	  tree type = TREE_TYPE (decl);
+	  machine_mode ret_mode = TYPE_MODE (type);
 
-	  if (len >= printf_len
-	      && strcmp (name + len - printf_len, "printf") == 0)
-	    newname = xasprintf ("__%sieee128", name);
-
-	  else if (len >= scanf_len
-		   && strcmp (name + len - scanf_len, "scanf") == 0)
-	    newname = xasprintf ("__isoc99_%sieee128", name);
-
-	  else if (name[len - 1] == 'l')
+	  /* See if the function returns a IEEE 128-bit floating point type or
+	     complex type.  */
+	  if (ret_mode == TFmode || ret_mode == TCmode)
+	    uses_ieee128_p = true;
+	  else
 	    {
-	      bool uses_ieee128_p = false;
-	      tree type = TREE_TYPE (decl);
-	      machine_mode ret_mode = TYPE_MODE (type);
-
-	      /* See if the function returns a IEEE 128-bit floating point type or
-		 complex type.  */
-	      if (ret_mode == TFmode || ret_mode == TCmode)
-		uses_ieee128_p = true;
-	      else
-		{
-		  function_args_iterator args_iter;
-		  tree arg;
+	      function_args_iterator args_iter;
+	      tree arg;
 
-		  /* See if the function passes a IEEE 128-bit floating point type
-		     or complex type.  */
-		  FOREACH_FUNCTION_ARGS (type, arg, args_iter)
+	      /* See if the function passes a IEEE 128-bit floating point type
+		 or complex type.  */
+	      FOREACH_FUNCTION_ARGS (type, arg, args_iter)
+		{
+		  machine_mode arg_mode = TYPE_MODE (arg);
+		  if (arg_mode == TFmode || arg_mode == TCmode)
 		    {
-		      machine_mode arg_mode = TYPE_MODE (arg);
-		      if (arg_mode == TFmode || arg_mode == TCmode)
-			{
-			  uses_ieee128_p = true;
-			  break;
-			}
+		      uses_ieee128_p = true;
+		      break;
 		    }
 		}
-
-	      /* If we passed or returned an IEEE 128-bit floating point type,
-		 change the name.  Use __<name>ieee128, instead of <name>l.  */
-	      if (uses_ieee128_p)
-		newname = xasprintf ("__%.*sieee128", (int)(len - 1), name);
 	    }
-	}
-
-      if (newname)
-	{
-	  if (TARGET_DEBUG_BUILTIN)
-	    fprintf (stderr, "Map %s => %s\n", name, newname);
 
-	  id = get_identifier (newname);
-	  free (newname);
+	  /* If we passed or returned an IEEE 128-bit floating point type,
+	     change the name.  */
+	  if (uses_ieee128_p)
+	    {
+	      char *name2 = (char *) alloca (len + 4);
+	      memcpy (name2, name, len - 1);
+	      strcpy (name2 + len - 1, "f128");
+	      id = get_identifier (name2);
+	    }
 	}
     }
 
diff --git a/gcc/testsuite/gcc.target/powerpc/float128-longdouble-math.c b/gcc/testsuite/gcc.target/powerpc/float128-longdouble-math.c
deleted file mode 100644
index fd31011f058..00000000000
--- a/gcc/testsuite/gcc.target/powerpc/float128-longdouble-math.c
+++ /dev/null
@@ -1,442 +0,0 @@
-/* { dg-require-effective-target ppc_float128_hw } */
-/* { dg-options "-mdejagnu-cpu=power9 -O2 -mlong-double-128 -Wno-psabi -mabi=ieeelongdouble" } */
-
-/* Test if switching long double to IEEE 128-bit maps all of the math built-in
-   function names correctly.  We explicitly turn off PC-relative support to
-   make it simpler to compare the call without having a @notoc qualifier.  */
-
-#ifdef DO_FUNC
-#define BUILTIN1(FUNC, ARG1)             FUNC (ARG1)
-#define BUILTIN2(FUNC, ARG1, ARG2)       FUNC (ARG1, ARG2)
-#define BUILTIN3(FUNC, ARG1, ARG2, ARG3) FUNC (ARG1, ARG2, ARG3)
-
-#else
-#define BUILTIN1(FUNC, ARG1)             __builtin_ ## FUNC (ARG1)
-#define BUILTIN2(FUNC, ARG1, ARG2)       __builtin_ ## FUNC (ARG1, ARG2)
-#define BUILTIN3(FUNC, ARG1, ARG2, ARG3) __builtin_ ## FUNC (ARG1, ARG2, ARG3)
-#endif
-
-/* Built-in functions that returns a long double and take one long double
-   argument.  */
-
-void
-return_ld_arg_ld (long double *p,
-		  long double *q)
-{
-  /* { dg-final { scan-assembler {\m__acoshieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (acoshl, *q++);
-
-  /* { dg-final { scan-assembler {\m__acosieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (acosl, *q++);
-
-  /* { dg-final { scan-assembler {\m__asinhieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (asinhl, *q++);
-
-  /* { dg-final { scan-assembler {\m__asinieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (asinl, *q++);
-
-  /* { dg-final { scan-assembler {\m__atanhieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (atanhl, *q++);
-
-  /* { dg-final { scan-assembler {\m__atanieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (atanl, *q++);
-
-  /* { dg-final { scan-assembler {\m__cbrtieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (cbrtl, *q++);
-
-  /* inline code.  */
-  /* { dg-final { scan-assembler {\mxsrqpi +[0-9]+,[0-9]+,[0-9]+,2\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (ceill, *q++);
-
-  /* { dg-final { scan-assembler {\m__coshieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (coshl, *q++);
-
-  /* { dg-final { scan-assembler {\m__cosieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (cosl, *q++);
-
-  /* { dg-final { scan-assembler {\m__erfcieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (erfcl, *q++);
-
-  /* { dg-final { scan-assembler {\m__erfieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (erfl, *q++);
-
-  /* { dg-final { scan-assembler {\m__exp10ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (exp10l, *q++);
-
-  /* { dg-final { scan-assembler {\m__exp2ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (exp2l, *q++);
-
-  /* { dg-final { scan-assembler {\m__expieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (expl, *q++);
-
-  /* { dg-final { scan-assembler {\m__expm1ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (expm1l, *q++);
-
-  /* inline code.  */
-  /* { dg-final { scan-assembler {\mxsabsqp\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (fabsl, *q++);
-
-  /* inline code.  */
-  /* { dg-final { scan-assembler {\mxsrqpi +[0-9]+,[0-9]+,[0-9]+,3\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (floorl, *q++);
-
-  /* { dg-final { scan-assembler {\m__lgammaieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (gammal, *q++);
-
-  /* { dg-final { scan-assembler {\m__j0ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (j0l, *q++);
-
-  /* { dg-final { scan-assembler {\m__j1ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (j1l, *q++);
-
-  /* { dg-final { scan-assembler {\m__log10ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (log10l, *q++);
-
-  /* { dg-final { scan-assembler {\m__log1pieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (log1pl, *q++);
-
-  /* { dg-final { scan-assembler {\m__log2ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (log2l, *q++);
-
-  /* { dg-final { scan-assembler {\m__logbieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (logbl, *q++);
-
-  /* { dg-final { scan-assembler {\m__logieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (logl, *q++);
-
-  /* { dg-final { scan-assembler {\m__nearbyintieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (nearbyintl, *q++);
-
-  /* { dg-final { scan-assembler {\m__exp10ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (pow10l, *q++);
-
-  /* { dg-final { scan-assembler {\m__rintieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (rintl, *q++);
-
-  /* { dg-final { scan-assembler {\m__roundevenieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (roundevenl, *q++);
-
-  /* inline code.  */
-  /* { dg-final { scan-assembler {\mxsrqpi +[0-9]+,[0-9]+,[0-9]+,0\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (roundl, *q++);
-
-  /* { dg-final { scan-assembler {\m__significandieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (significandl, *q++);
-
-  /* { dg-final { scan-assembler {\m__sinhieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (sinhl, *q++);
-
-  /* { dg-final { scan-assembler {\m__sinieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (sinl, *q++);
-
-  /* { dg-final { scan-assembler {\m__sqrtieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (sqrtl, *q++);
-
-  /* { dg-final { scan-assembler {\m__tanhieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (tanhl, *q++);
-
-  /* { dg-final { scan-assembler {\m__tanieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (tanl, *q++);
-
-  /* { dg-final { scan-assembler {\m__tgammaieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (tgammal, *q++);
-
-  /* inline code.  */
-  /* { dg-final { scan-assembler {\mxsrqpi +[0-9]+,[0-9]+,[0-9]+,1\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (truncl, *q++);
-
-  /* { dg-final { scan-assembler {\m__y0ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (y0l, *q++);
-
-  /* { dg-final { scan-assembler {\m__y1ieee128\(@notoc\)?\M} } }  */
-  *p   = BUILTIN1 (y1l, *q);
-
-}
-
-/* Built-in functions that returns a long double and take two long double
-   arguments.  */
-
-void
-return_ld_arg_ld_ld (long double *p,
-		     long double *q,
-		     long double *r)
-{
-  /* { dg-final { scan-assembler {\m__atan2ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (atan2l, *q++, *r++);
-
-  /* inline code.  */
-  /* { dg-final { scan-assembler {\mxscpsgnqp\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (copysignl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__remainderieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (dreml, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__fdimieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (fdiml, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__fmaxieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (fmaxl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__fminieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (fminl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__fmodieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (fmodl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__hypotieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (hypotl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__nextafterieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (nextafterl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__nexttowardieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (nexttowardl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__powieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (powl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__scalbnieee128\(@notoc\)?\M} } }  */
-  *p   = BUILTIN2 (scalbl, *q, *r);
-}
-
-/* Built-in function that returns a long double and take three long double
-   arguments.  */
-
-void
-return_ld_arg_ld_ld_ld (long double *p,
-			long double *q,
-			long double *r,
-			long double *s)
-{
-  /* inline code.  */
-  /* { dg-final { scan-assembler {\mxsmaddqp\(@notoc\)?\M} } }  */
-  *p = BUILTIN3 (fmal, *q, *r, *s);
-}
-
-/* Built-in functions that returns a long double and take one
-   _Complex long double argument.  */
-
-void
-return_ld_arg_cld (long double *p,
-		   _Complex long double *q)
-{
-  /* { dg-final { scan-assembler {\m__cabsieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (cabsl, *q++);
-}
-
-/* Built-in functions that returns a _Complex long double and takes one
-   _Complex long double argument.  */
-
-void
-return_cld_arg_cld (_Complex long double *p,
-		    _Complex long double *q)
-{
-  /* { dg-final { scan-assembler {\m__cacoshieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (cacoshl, *q++);
-
-  /* { dg-final { scan-assembler {\m__cacosieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (cacosl, *q++);
-
-  /* { dg-final { scan-assembler {\m__casinhieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (casinhl, *q++);
-
-  /* { dg-final { scan-assembler {\m__casinieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (casinl, *q++);
-
-  /* { dg-final { scan-assembler {\m__catanhieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (catanhl, *q++);
-
-  /* { dg-final { scan-assembler {\m__catanieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (catanl, *q++);
-
-  /* { dg-final { scan-assembler {\m__ccoshieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (ccoshl, *q++);
-
-  /* { dg-final { scan-assembler {\m__ccosieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (ccosl, *q++);
-
-  /* { dg-final { scan-assembler {\m__cexpieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (cexpl, *q++);
-
-  /* { dg-final { scan-assembler {\m__clogieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (clogl, *q++);
-
-  /* { dg-final { scan-assembler {\m__clog10ieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (clog10l, *q++);
-
-  /* { dg-final { scan-assembler {\m__cprojieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (cprojl, *q++);
-
-  /* { dg-final { scan-assembler {\m__csinhieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (csinhl, *q++);
-
-  /* { dg-final { scan-assembler {\m__csinieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (csinl, *q++);
-
-  /* { dg-final { scan-assembler {\m__csqrtieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (csqrtl, *q++);
-
-  /* { dg-final { scan-assembler {\m__ctanhieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (ctanhl, *q++);
-
-  /* { dg-final { scan-assembler {\m__ctanieee128\(@notoc\)?\M} } }  */
-  *p   = BUILTIN1 (ctanl, *q);
-}
-
-/* Built-in functions that returns a _Complex long double and takes one
-   long double argument.  */
-
-void
-return_cld_arg_ld (_Complex long double *p,
-		   long double *q)
-{
-  /* { dg-final { scan-assembler {\m__sincosieee128\(@notoc\)?\M} } }  */
-  *p = BUILTIN1 (cexpil, *q);
-}
-
-/* Built-in function that returns a _Complex long double and takes two
-   _Complex long double arguments.  */
-
-void
-return_cld_arg_cld_cld (_Complex long double *p,
-			_Complex long double *q,
-			_Complex long double *r)
-{
-  /* { dg-final { scan-assembler {\m__cpowieee128\(@notoc\)?\M} } }  */
-  *p = BUILTIN2 (cpowl, *q, *r);
-}
-
-/* Built-in functions that returns a long double and takes a long double and a
-   pointer to an int arguments.  */
-
-void
-return_ld_arg_ld_pi (long double *p,
-		     long double *q,
-		     int **r)
-{
-  /* { dg-final { scan-assembler {\m__frexpieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (frexpl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__lgammaieee128_r\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (gammal_r, *q++, *r++);
-}
-
-/* Built-in functions that returns a long double and takes a long double and an
-   int arguments.  */
-
-void
-return_ld_arg_ld_i (long double *p,
-		    long double *q,
-		    int *r)
-{
-  /* { dg-final { scan-assembler {\m__ldexpieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (ldexpl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__powikf2\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (powil, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__scalbnieee128\(@notoc\)?\M} } }  */
-  *p   = BUILTIN2 (scalbnl, *q, *r);
-}
-
-/* Built-in function that returns a long double and takes a long double and a
-   long arguments.  */
-
-void
-return_ld_arg_ld_l (long double *p,
-		    long double *q,
-		    long *r)
-{
-  /* { dg-final { scan-assembler {\m__scalblnieee128\(@notoc\)?\M} } }  */
-  *p = BUILTIN2 (scalblnl, *q, *r);
-}
-
-/* Built-in functions that returns a long double and takes a long double and a
-   long long arguments.  */
-
-void
-return_ld_arg_i_ld (long double *p,
-		    int *q,
-		    long double *r)
-{
-  /* { dg-final { scan-assembler {\m__jnieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN2 (jnl, *q++, *r++);
-
-  /* { dg-final { scan-assembler {\m__ynieee128\(@notoc\)?\M} } }  */
-  *p   = BUILTIN2 (ynl, *q, *r);
-}
-
-/* Built-in functions that returns a long double and takes a long double and a
-   pointer to a long double arguments.  */
-
-void
-return_ld_arg_ld_pld (long double *p,
-		      long double *q,
-		      long double **r)
-{
-  /* { dg-final { scan-assembler {\m__modfieee128\(@notoc\)?\M} } }  */
-  *p = BUILTIN2 (modfl, *q, *r);
-}
-
-/* Built-in function that returns a long double and takes two long double and a
-   pointer to an int arguments.  */
-
-void
-return_ld_arg_ld_ld_pi (long double *p,
-			long double *q,
-			long double *r,
-			int **s)
-{
-  /* { dg-final { scan-assembler {\m__remquoieee128\(@notoc\)?\M} } }  */
-  *p = BUILTIN3 (remquol, *q, *r, *s);
-}
-
-/* Built-in functions that return san int and takes one long double argument.  */
-
-void
-return_i_arg_ld (int *p,
-		 long double *q)
-{
-  /* { dg-final { scan-assembler {\m__ceilieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (iceill, *q++);
-
-  /* { dg-final { scan-assembler {\m__floorieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (ifloorl, *q++);
-
-  /* { dg-final { scan-assembler {\m__ilogbieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (ilogbl, *q++);
-
-  /* { dg-final { scan-assembler {\m__lrintieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (irintl, *q++);
-
-  /* { dg-final { scan-assembler {\m__lroundieee128\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (iroundl, *q++);
-
-  /* inline code.  */
-  /* { dg-final { scan-assembler {\mxscvqpswz\(@notoc\)?\M} } }  */
-  *p++ = BUILTIN1 (signbitl, *q++);
-}
-
-/* Built-in function that returns a double and takes one double and one long
-   double arguments.  */
-
-void
-return_d_arg_d_ld (double *p,
-		   double *q,
-		   long double *r)
-{
-  /* { dg-final { scan-assembler {\m__nexttoward_to_ieee128\(@notoc\)?\M} } }  */
-  *p = BUILTIN2 (nexttoward, *q, *r);
-}
-
-/* Built-in function that returns a float and takes one float and one long
-   double arguments.  */
-
-void
-return_f_arg_f_ld (float *p,
-		   float *q,
-		   long double *r)
-{
-  /* { dg-final { scan-assembler {\m__nexttowardf_to_ieee128\(@notoc\)?\M} } }  */
-  *p = BUILTIN2 (nexttowardf, *q, *r);
-}
diff --git a/gcc/testsuite/gcc.target/powerpc/float128-longdouble-stdio.c b/gcc/testsuite/gcc.target/powerpc/float128-longdouble-stdio.c
deleted file mode 100644
index 78e1276c0a6..00000000000
--- a/gcc/testsuite/gcc.target/powerpc/float128-longdouble-stdio.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* { dg-require-effective-target ppc_float128_hw } */
-/* { dg-options "-mdejagnu-cpu=power9 -O2 -mlong-double-128 -Wno-psabi -mabi=ieeelongdouble" } */
-
-/* Test if switching long double to IEEE 128-bit maps the printf and scanf
-   function names correctly.  We explicitly turn off PC-relative support to
-   make it simpler to compare the call without having a @notoc qualifier.  */
-
-#include <stdlib.h>
-
-volatile long double x = 1.0L;
-volatile long double y, z;
-
-int
-main (void)
-{
-  char buffer[100];
-
-  /* { dg-final { scan-assembler {\m__sprintfieee128\(@notoc\)?\M} } }  */
-  __builtin_sprintf (buffer, "%Lg", x);
-
-  /* { dg-final { scan-assembler {\m__printfieee128\(@notoc\)?\M} } }  */
-  __builtin_printf ("x is %Lg [%s]\n", x, buffer);
-
-  /* { dg-final { scan-assembler {\m__isoc99_sscanfieee128\(@notoc\)?\M} } }  */
-  __builtin_sscanf (buffer, "%Lg", &y);
-
-  __builtin_printf ("Type 1.0: ");
-
-  /* { dg-final { scan-assembler {\m__isoc99_scanfieee128\(@notoc\)?\M} } }  */
-  __builtin_scanf ("%Lg", &z);
-
-  if (x != y || x != z)
-    abort ();
-
-  return 0;
-}
diff --git a/gcc/testsuite/gcc.target/powerpc/float128-math.c b/gcc/testsuite/gcc.target/powerpc/float128-math.c
index b525877cd43..4ad3b5b8363 100644
--- a/gcc/testsuite/gcc.target/powerpc/float128-math.c
+++ b/gcc/testsuite/gcc.target/powerpc/float128-math.c
@@ -1,6 +1,7 @@
+/* { dg-do compile { target { powerpc*-*-linux* } } } */
 /* { dg-require-effective-target ppc_float128_sw } */
 /* { dg-require-effective-target vsx_hw } */
-/* { dg-options "-mvsx -O2 -mfloat128 -mlong-double-128 -mabi=ieeelongdouble -Wno-psabi" } */
+/* { dg-options "-mvsx -O2 -mfloat128 -mabi=ieeelongdouble -Wno-psabi" } */
 
 /* Test whether we convert __builtin_<math>l to __builtin_<math>f128 if the
    default long double type is IEEE 128-bit.  Also test that using the explicit
@@ -9,11 +10,11 @@
 
 extern __float128 sinf128 (__float128);
 
-void foo (__float128 *p, long double *q)
+void foo (__float128 *p, long double *q, long double *r)
 {
   *p = sinf128 (*p);
   *q = __builtin_sinl (*q);
 }
 
-/* { dg-final { scan-assembler     {\mbl __sinieee128\(@notocc\)?\M} } } */
-/* { dg-final { scan-assembler-not {\mbl sinl\(@notoc\)?\M}          } } */
+/* { dg-final { scan-assembler-times {\mbl sinf128\M} 2 } } */
+/* { dg-final { scan-assembler-not   {\mbl sinl\M}      } } */


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-11-11 19:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11 19:59 [gcc(refs/users/meissner/heads/work025)] Revert patch Michael Meissner
  -- strict thread matches above, loose matches on Subject: below --
2020-11-11 18:28 Michael Meissner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).