Commit dab37c68 by Richard Henderson Committed by Richard Henderson

sh-linux: Install __sync libfuncs.

        * config/sh/linux.h (TARGET_INIT_LIBFUNCS): New.
        * config/sh/sh.c (sh_init_sync_libfuncs): New.

From-SVN: r181322
parent 306133e3
2011-11-12 Richard Henderson <rth@redhat.com>
* config/sh/linux.h (TARGET_INIT_LIBFUNCS): New.
* config/sh/sh.c (sh_init_sync_libfuncs): New.
* config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New.
* config/pa/pa.h (TARGET_SYNC_LIBCALL): New default.
* config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs.
......@@ -131,3 +131,7 @@ along with GCC; see the file COPYING3. If not see
#define SH_DIV_STRATEGY_DEFAULT SH_DIV_CALL2
#undef SH_DIV_STR_FOR_SIZE
#define SH_DIV_STR_FOR_SIZE "call2"
/* Install the __sync libcalls. */
#undef TARGET_INIT_LIBFUNCS
#define TARGET_INIT_LIBFUNCS sh_init_sync_libfuncs
......@@ -302,6 +302,8 @@ static void sh_trampoline_init (rtx, tree, rtx);
static rtx sh_trampoline_adjust_address (rtx);
static void sh_conditional_register_usage (void);
static bool sh_legitimate_constant_p (enum machine_mode, rtx);
static void sh_init_sync_libfuncs (void) ATTRIBUTE_UNUSED;
static const struct attribute_spec sh_attribute_table[] =
{
......@@ -12499,4 +12501,10 @@ sh_legitimate_constant_p (enum machine_mode mode, rtx x)
enum sh_divide_strategy_e sh_div_strategy = SH_DIV_STRATEGY_DEFAULT;
static void
sh_init_sync_libfuncs (void)
{
init_sync_libfuncs (UNITS_PER_WORD);
}
#include "gt-sh.h"
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