Cc: Richard Sandiford <rdsandif...@googlemail.com> --- gcc/config/mips/mips.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index ff72e28..75e73bd 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -11218,9 +11218,13 @@ mips_init_libfuncs (void) } /* The MIPS16 ISA does not have an encoding for "sync", so we rely - on an external non-MIPS16 routine to implement __sync_synchronize. */ + on an external non-MIPS16 routine to implement __sync_synchronize. + Similarly for the rest of the ll/sc libfuncs. */ if (TARGET_MIPS16) - synchronize_libfunc = init_one_libfunc ("__sync_synchronize"); + { + synchronize_libfunc = init_one_libfunc ("__sync_synchronize"); + init_sync_libfuncs (UNITS_PER_WORD); + } } /* Build up a multi-insn sequence that loads label TARGET into $AT. */ -- 1.7.6.4