@@ -6539,11 +6539,8 @@ init_cumulative_args (CUMULATIVE_ARGS *cum, tree fntype,
{
rs6000_passes_float = true;
if ((HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE || TARGET_64BIT)
- && (FLOAT128_IBM_P (return_mode)
- || FLOAT128_IEEE_P (return_mode)
- || (return_type != NULL
- && (TYPE_MAIN_VARIANT (return_type)
- == long_double_type_node))))
+ && return_type != NULL
+ && TYPE_MAIN_VARIANT (return_type) == long_double_type_node)
rs6000_passes_long_double = true;
/* Note if we passed or return a IEEE 128-bit type. We changed
@@ -7001,10 +6998,8 @@ rs6000_function_arg_advance_1 (CUMULATIVE_ARGS *cum, machine_mode mode,
{
rs6000_passes_float = true;
if ((HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE || TARGET_64BIT)
- && (FLOAT128_IBM_P (mode)
- || FLOAT128_IEEE_P (mode)
- || (type != NULL
- && TYPE_MAIN_VARIANT (type) == long_double_type_node)))
+ && type != NULL
+ && TYPE_MAIN_VARIANT (type) == long_double_type_node)
rs6000_passes_long_double = true;
/* Note if we passed or return a IEEE 128-bit type. We changed the
@@ -10076,23 +10076,6 @@ rs6000_emit_move (rtx dest, rtx source, machine_mode mode)
&& GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT)
gcc_unreachable ();
-#ifdef HAVE_AS_GNU_ATTRIBUTE
- /* If we use a long double type, set the flags in .gnu_attribute that say
- what the long double type is. This is to allow the linker's warning
- message for the wrong long double to be useful, even if the function does
- not do a call (for example, doing a 128-bit add on power9 if the long
- double type is IEEE 128-bit. Do not set this if __ibm128 or __floa128 are
- used if they aren't the default long dobule type. */
- if (rs6000_gnu_attr && (HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE || TARGET_64BIT))
- {
- if (TARGET_LONG_DOUBLE_128 && (mode == TFmode || mode == TCmode))
- rs6000_passes_float = rs6000_passes_long_double = true;
-
- else if (!TARGET_LONG_DOUBLE_128 && (mode == DFmode || mode == DCmode))
- rs6000_passes_float = rs6000_passes_long_double = true;
- }
-#endif
-
/* See if we need to special case SImode/SFmode SUBREG moves. */
if ((mode == SImode || mode == SFmode) && SUBREG_P (source)
&& rs6000_emit_move_si_sf_subreg (dest, source, mode))
deleted file mode 100644
@@ -1,15 +0,0 @@
-/* { dg-do compile { target { powerpc*-linux-* } } } */
-/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-O2 -mvsx -mlong-double-64" } */
-/* { dg-final { scan-assembler "gnu_attribute 4, 9" } } */
-
-/* Check that if we can do the long double operation without doing an emulator
- call, such as with 64-bit long double support, that we still set the
- appropriate .gnu_attribute. */
-
-long double a;
-
-void add1 (void)
-{
- a++;
-}
deleted file mode 100644
@@ -1,17 +0,0 @@
-/* { dg-do compile { target { powerpc*-linux-* && lp64 } } } */
-/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-O2 -mpower9-vector -mabi=ieeelongdouble -Wno-psabi" } */
-/* { dg-final { scan-assembler "gnu_attribute 4, 13" } } */
-
-/* Check that if we can do the long double operation without doing an emulator
- call, such as with IEEE 128-bit hardware support on power9, that we still
- set the appropriate .gnu_attribute. The && lp64 is needed, because we can't
- enable the IEEE 128-bit hardware instructions on ISA 3.0 (power9) in 32-bit,
- because we don't have a TImode available. */
-
-long double a;
-
-void add1 (void)
-{
- a++;
-}
deleted file mode 100644
@@ -1,15 +0,0 @@
-/* { dg-do compile { target { powerpc*-linux-* } } } */
-/* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-O2 -mvsx -mabi=ibmlongdouble -Wno-psabi" } */
-/* { dg-final { scan-assembler "gnu_attribute 4, 5" } } */
-
-/* Check that if we can do the long double operation without doing an emulator
- call, such as with copysign, that we still set the appropriate
- .gnu_attribute. */
-
-long double a, b, c;
-
-void cs (void)
-{
- a = __builtin_copysignl (b, c);
-}