quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.

* config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
        * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
        (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
        fixunstfsi_libfunc.

From-SVN: r39937
This commit is contained in:
Will Cohen 2001-02-21 05:05:25 +00:00 committed by Jeff Law
parent 33011c358e
commit 75beacf885
3 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2001-02-20 Will Cohen <wcohen@redhat.com>
* config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
* config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
(INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
fixunstfsi_libfunc.
2001-02-20 Stan Shebs <shebs@apple.com>
* config/rs6000/rs6000.c (output_cbranch): Output branches

View File

@ -52,6 +52,7 @@ do { long value[4]; \
we can massage its return value for PA64. */
#define FIX_TRUNCTFSI2_LIBCALL \
(TARGET_64BIT ? "__U_Qfcnvfxt_quad_to_sgl" : "_U_Qfcnvfxt_quad_to_sgl")
#define FIXUNS_TRUNCTFSI2_LIBCALL "_U_Qfcnvfxt_quad_to_usgl"
#define FIX_TRUNCTFDI2_LIBCALL "_U_Qfcnvfxt_quad_to_dbl"
#define EQTF2_LIBCALL "_U_Qfeq"
#define NETF2_LIBCALL "_U_Qfne"
@ -89,7 +90,7 @@ do { long value[4]; \
floatditf_libfunc = gen_rtx_SYMBOL_REF (Pmode, FLOATDITF2_LIBCALL); \
fixtfsi_libfunc = gen_rtx_SYMBOL_REF (Pmode, FIX_TRUNCTFSI2_LIBCALL);\
fixtfdi_libfunc = gen_rtx_SYMBOL_REF (Pmode, FIX_TRUNCTFDI2_LIBCALL);\
fixunstfsi_libfunc = gen_rtx_SYMBOL_REF (Pmode, FIX_TRUNCTFSI2_LIBCALL); \
fixunstfsi_libfunc = gen_rtx_SYMBOL_REF (Pmode, FIXUNS_TRUNCTFSI2_LIBCALL);\
fixunstfdi_libfunc = gen_rtx_SYMBOL_REF (Pmode, FIX_TRUNCTFDI2_LIBCALL); \
eqtf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, EQTF2_LIBCALL); \
netf2_libfunc = gen_rtx_SYMBOL_REF (Pmode, NETF2_LIBCALL); \

View File

@ -92,3 +92,12 @@ __U_Qfcnvfxt_quad_to_sgl (long double a)
return _U_Qfcnvfxt_quad_to_sgl (a) >> 32;
}
#endif
/* HP only has signed conversion in library, so need to synthesize an
unsigned version */
unsigned int
_U_Qfcnvfxt_quad_to_usgl(long double a)
{
extern long long _U_Qfcnvfxt_quad_to_dbl (long double a);
return (unsigned int) _U_Qfcnvfxt_quad_to_dbl (a);
}