pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.

* config/pa/pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.
	Remove dependence of declaration and target define on definition of
	HPUX_LONG_DOUBLE_LIBRARY.  Update implementation.

From-SVN: r181038
This commit is contained in:
John David Anglin 2011-11-06 19:12:54 +00:00 committed by John David Anglin
parent ba3aa0e6c7
commit 50bbeefb4c
2 changed files with 51 additions and 40 deletions

View File

@ -1,3 +1,9 @@
2011-11-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* config/pa/pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.
Remove dependence of declaration and target define on definition of
HPUX_LONG_DOUBLE_LIBRARY. Update implementation.
2011-11-06 Andrew Macleod <amacleod@redhat.com> 2011-11-06 Andrew Macleod <amacleod@redhat.com>
Richard Henderson <rth@redhat.com> Richard Henderson <rth@redhat.com>
Aldy Hernandez <aldyh@redhat.com> Aldy Hernandez <aldyh@redhat.com>

View File

@ -155,9 +155,7 @@ static void output_deferred_profile_counters (void) ATTRIBUTE_UNUSED;
#ifdef ASM_OUTPUT_EXTERNAL_REAL #ifdef ASM_OUTPUT_EXTERNAL_REAL
static void pa_hpux_file_end (void); static void pa_hpux_file_end (void);
#endif #endif
#if HPUX_LONG_DOUBLE_LIBRARY static void pa_init_libfuncs (void);
static void pa_hpux_init_libfuncs (void);
#endif
static rtx pa_struct_value_rtx (tree, int); static rtx pa_struct_value_rtx (tree, int);
static bool pa_pass_by_reference (cumulative_args_t, enum machine_mode, static bool pa_pass_by_reference (cumulative_args_t, enum machine_mode,
const_tree, bool); const_tree, bool);
@ -316,10 +314,8 @@ static size_t n_deferred_plabels = 0;
#undef TARGET_MACHINE_DEPENDENT_REORG #undef TARGET_MACHINE_DEPENDENT_REORG
#define TARGET_MACHINE_DEPENDENT_REORG pa_reorg #define TARGET_MACHINE_DEPENDENT_REORG pa_reorg
#if HPUX_LONG_DOUBLE_LIBRARY
#undef TARGET_INIT_LIBFUNCS #undef TARGET_INIT_LIBFUNCS
#define TARGET_INIT_LIBFUNCS pa_hpux_init_libfuncs #define TARGET_INIT_LIBFUNCS pa_init_libfuncs
#endif
#undef TARGET_PROMOTE_FUNCTION_MODE #undef TARGET_PROMOTE_FUNCTION_MODE
#define TARGET_PROMOTE_FUNCTION_MODE pa_promote_function_mode #define TARGET_PROMOTE_FUNCTION_MODE pa_promote_function_mode
@ -5542,10 +5538,12 @@ output_deferred_plabels (void)
} }
} }
#if HPUX_LONG_DOUBLE_LIBRARY /* Initialize optabs to point to emulation routines. */
/* Initialize optabs to point to HPUX long double emulation routines. */
static void static void
pa_hpux_init_libfuncs (void) pa_init_libfuncs (void)
{
if (HPUX_LONG_DOUBLE_LIBRARY)
{ {
set_optab_libfunc (add_optab, TFmode, "_U_Qfadd"); set_optab_libfunc (add_optab, TFmode, "_U_Qfadd");
set_optab_libfunc (sub_optab, TFmode, "_U_Qfsub"); set_optab_libfunc (sub_optab, TFmode, "_U_Qfsub");
@ -5570,19 +5568,26 @@ pa_hpux_init_libfuncs (void)
set_conv_libfunc (trunc_optab, SFmode, TFmode, "_U_Qfcnvff_quad_to_sgl"); set_conv_libfunc (trunc_optab, SFmode, TFmode, "_U_Qfcnvff_quad_to_sgl");
set_conv_libfunc (trunc_optab, DFmode, TFmode, "_U_Qfcnvff_quad_to_dbl"); set_conv_libfunc (trunc_optab, DFmode, TFmode, "_U_Qfcnvff_quad_to_dbl");
set_conv_libfunc (sfix_optab, SImode, TFmode, TARGET_64BIT set_conv_libfunc (sfix_optab, SImode, TFmode,
? "__U_Qfcnvfxt_quad_to_sgl" TARGET_64BIT ? "__U_Qfcnvfxt_quad_to_sgl"
: "_U_Qfcnvfxt_quad_to_sgl"); : "_U_Qfcnvfxt_quad_to_sgl");
set_conv_libfunc (sfix_optab, DImode, TFmode, "_U_Qfcnvfxt_quad_to_dbl"); set_conv_libfunc (sfix_optab, DImode, TFmode,
set_conv_libfunc (ufix_optab, SImode, TFmode, "_U_Qfcnvfxt_quad_to_usgl"); "_U_Qfcnvfxt_quad_to_dbl");
set_conv_libfunc (ufix_optab, DImode, TFmode, "_U_Qfcnvfxt_quad_to_udbl"); set_conv_libfunc (ufix_optab, SImode, TFmode,
"_U_Qfcnvfxt_quad_to_usgl");
set_conv_libfunc (ufix_optab, DImode, TFmode,
"_U_Qfcnvfxt_quad_to_udbl");
set_conv_libfunc (sfloat_optab, TFmode, SImode, "_U_Qfcnvxf_sgl_to_quad"); set_conv_libfunc (sfloat_optab, TFmode, SImode,
set_conv_libfunc (sfloat_optab, TFmode, DImode, "_U_Qfcnvxf_dbl_to_quad"); "_U_Qfcnvxf_sgl_to_quad");
set_conv_libfunc (ufloat_optab, TFmode, SImode, "_U_Qfcnvxf_usgl_to_quad"); set_conv_libfunc (sfloat_optab, TFmode, DImode,
set_conv_libfunc (ufloat_optab, TFmode, DImode, "_U_Qfcnvxf_udbl_to_quad"); "_U_Qfcnvxf_dbl_to_quad");
set_conv_libfunc (ufloat_optab, TFmode, SImode,
"_U_Qfcnvxf_usgl_to_quad");
set_conv_libfunc (ufloat_optab, TFmode, DImode,
"_U_Qfcnvxf_udbl_to_quad");
}
} }
#endif
/* HP's millicode routines mean something special to the assembler. /* HP's millicode routines mean something special to the assembler.
Keep track of which ones we have used. */ Keep track of which ones we have used. */