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> 2004-03-11 Roger Sayle <roger@eyesopen.com>
* fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
......
...@@ -202,6 +202,7 @@ do { \ ...@@ -202,6 +202,7 @@ do { \
#undef TARGET_C99_FUNCTIONS #undef TARGET_C99_FUNCTIONS
#define TARGET_C99_FUNCTIONS 1 #define TARGET_C99_FUNCTIONS 1
#undef TARGET_INIT_LIBFUNCS
#define TARGET_INIT_LIBFUNCS ia64_hpux_init_libfuncs #define TARGET_INIT_LIBFUNCS ia64_hpux_init_libfuncs
#define FLOAT_LIB_COMPARE_RETURNS_BOOL(MODE, COMPARISON) ((MODE) == TFmode) #define FLOAT_LIB_COMPARE_RETURNS_BOOL(MODE, COMPARISON) ((MODE) == TFmode)
...@@ -261,6 +261,8 @@ static void ia64_hpux_add_extern_decl (tree decl) ...@@ -261,6 +261,8 @@ static void ia64_hpux_add_extern_decl (tree decl)
ATTRIBUTE_UNUSED; ATTRIBUTE_UNUSED;
static void ia64_hpux_file_end (void) static void ia64_hpux_file_end (void)
ATTRIBUTE_UNUSED; ATTRIBUTE_UNUSED;
static void ia64_init_libfuncs (void)
ATTRIBUTE_UNUSED;
static void ia64_hpux_init_libfuncs (void) static void ia64_hpux_init_libfuncs (void)
ATTRIBUTE_UNUSED; ATTRIBUTE_UNUSED;
static void ia64_vms_init_libfuncs (void) static void ia64_vms_init_libfuncs (void)
...@@ -8747,11 +8749,25 @@ ia64_hpux_file_end (void) ...@@ -8747,11 +8749,25 @@ ia64_hpux_file_end (void)
extern_func_head = 0; 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. */ /* Rename all the TFmode libfuncs using the HPUX conventions. */
static void static void
ia64_hpux_init_libfuncs (void) ia64_hpux_init_libfuncs (void)
{ {
ia64_init_libfuncs ();
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");
......
...@@ -2381,6 +2381,10 @@ enum fetchop_code { ...@@ -2381,6 +2381,10 @@ enum fetchop_code {
#undef PROFILE_BEFORE_PROLOGUE #undef PROFILE_BEFORE_PROLOGUE
#define PROFILE_BEFORE_PROLOGUE 1 #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. */ /* 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