mirror of git://gcc.gnu.org/git/gcc.git
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:
parent
ba3aa0e6c7
commit
50bbeefb4c
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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,11 +5538,13 @@ 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");
|
||||||
set_optab_libfunc (smul_optab, TFmode, "_U_Qfmpy");
|
set_optab_libfunc (smul_optab, TFmode, "_U_Qfmpy");
|
||||||
|
|
@ -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. */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue