Commit 1f7aa7cd by Steve Ellcey Committed by Steve Ellcey

hpux.h (TARGET_INIT_LIBFUNCS): Add undef.

	* config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
	* config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
	* config/ia64/ia64.c (ia64_init_libfuncs): New.
	(ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.

From-SVN: r79339
parent c6feb697
2004-03-11 Steve Ellcey <sje@cup.hp.com>
* config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
* config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
* config/ia64/ia64.c (ia64_init_libfuncs): New.
(ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
2004-03-11 Roger Sayle <roger@eyesopen.com>
* fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
......
......@@ -202,6 +202,7 @@ do { \
#undef TARGET_C99_FUNCTIONS
#define TARGET_C99_FUNCTIONS 1
#undef TARGET_INIT_LIBFUNCS
#define TARGET_INIT_LIBFUNCS ia64_hpux_init_libfuncs
#define FLOAT_LIB_COMPARE_RETURNS_BOOL(MODE, COMPARISON) ((MODE) == TFmode)
......@@ -261,6 +261,8 @@ static void ia64_hpux_add_extern_decl (tree decl)
ATTRIBUTE_UNUSED;
static void ia64_hpux_file_end (void)
ATTRIBUTE_UNUSED;
static void ia64_init_libfuncs (void)
ATTRIBUTE_UNUSED;
static void ia64_hpux_init_libfuncs (void)
ATTRIBUTE_UNUSED;
static void ia64_vms_init_libfuncs (void)
......@@ -8747,11 +8749,25 @@ ia64_hpux_file_end (void)
extern_func_head = 0;
}
/* Set SImode div/mod functions, init_integral_libfuncs only initializes
modes of word_mode and larger. */
static void
ia64_init_libfuncs (void)
{
set_optab_libfunc (sdiv_optab, SImode, "__divsi3");
set_optab_libfunc (udiv_optab, SImode, "__udivsi3");
set_optab_libfunc (smod_optab, SImode, "__modsi3");
set_optab_libfunc (umod_optab, SImode, "__umodsi3");
}
/* Rename all the TFmode libfuncs using the HPUX conventions. */
static void
ia64_hpux_init_libfuncs (void)
{
ia64_init_libfuncs ();
set_optab_libfunc (add_optab, TFmode, "_U_Qfadd");
set_optab_libfunc (sub_optab, TFmode, "_U_Qfsub");
set_optab_libfunc (smul_optab, TFmode, "_U_Qfmpy");
......
......@@ -2381,6 +2381,10 @@ enum fetchop_code {
#undef PROFILE_BEFORE_PROLOGUE
#define PROFILE_BEFORE_PROLOGUE 1
/* Initialize library function table. */
#undef TARGET_INIT_LIBFUNCS
#define TARGET_INIT_LIBFUNCS ia64_init_libfuncs
/* Switch on code for querying unit reservations. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment