Richard Henderson <r...@redhat.com> writes: > 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. */
Finally tested on mips64-linux-gnu with -mabi=32/-mips16 multilibs (sorry for the delay). Results look good, so please go ahead. Thanks, Richard