IA64 HP-UX patch for fp-int-convert-float128-timode.c

Steve Ellcey sje@hpsje.cup.hp.com
Mon Nov 6 21:51:00 GMT 2006


The test fp-int-convert-float128-timode.c fails on IA64 HP-UX and Linux.
For Linux the break is reasonable because some routines were added for
backwards compatibility when IA64 Linux went from using TFmode for 80
bit long double to using XFmode.

But for IA64 HP-UX, which have always used TFmode for 128 bit long
doubles, these routines should not be used.  This patch is to filter out
these routines from libgcc.  Since the fp-int-convert-float128-timode.c
test now passes on HP-UX I also changed it to only be XFAIL'ed on Linux.

Since the patch is HP-UX specific I will check it in tomorrow unless
there are objections.

Steve Ellcey
sje@cup.hp.com



2006-11-06  Steve Ellcey  <sje@cup.hp.com>

	* config/ia64/t-hpux (LIB1ASMFUNCS):  Filter out _fixtfdi,
	_fixunstfdi, and  _floatditf

Index: config/ia64/t-hpux
===================================================================
--- config/ia64/t-hpux	(revision 118516)
+++ config/ia64/t-hpux	(working copy)
@@ -7,6 +7,12 @@ MULTILIB_OPTIONS = milp32/mlp64
 MULTILIB_DIRNAMES = hpux32 hpux64
 MULTILIB_MATCHES =
 
+# On HP-UX we do not want _fixtfdi, _fixunstfdi, or _floatditf from
+# LIB1ASMSRC.  These functions map the 128 bit conversion function names
+# to 80 bit conversions and were done for Linux backwards compatibility.
+
+LIB1ASMFUNCS := $(filter-out _fixtfdi _fixunstfdi _floatditf,$(LIB1ASMFUNCS))
+
 # Support routines for HP-UX 128 bit floats.
 
 LIB2FUNCS_EXTRA=quadlib.c $(srcdir)/config/floatunsitf.c




2006-11-06  Steve Ellcey  <sje@cup.hp.com>

	* gcc.dg/torture/fp-int-convert-float128-timode.c:  Do not XFAIL
	on HP-UX.


Index: gcc.dg/torture/fp-int-convert-float128-timode.c
===================================================================
--- gcc.dg/torture/fp-int-convert-float128-timode.c	(revision 118516)
+++ gcc.dg/torture/fp-int-convert-float128-timode.c	(working copy)
@@ -2,7 +2,7 @@
 /* Origin: Joseph Myers <joseph@codesourcery.com> */
 /* { dg-do run { target { ia64-*-* || { { i?86-*-* x86_64-*-*} && lp64 } } } } */
 /* { dg-xfail-if "" { i?86-*-* x86_64-*-* } { "*" } { "" } } */
-/* { dg-xfail-if "" { ia64-*-* && lp64 } { "*" } { "" } } */
+/* { dg-xfail-if "" { ia64-*-linux* } { "*" } { "" } } */
 /* { dg-options "" } */
 
 #include "fp-int-convert.h"



More information about the Gcc-patches mailing list