aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-20 23:16:30 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-20 23:16:30 +0000
commit5e5778c40f32fe4c5be671d8dc89639d7698bb97 (patch)
tree7eedcc1127c1f3be5311975eeab67391b4556c0e
parent54c12599b49dd25c1b3b9ca88da13520d6e2b37c (diff)
mips: Install the __sync libfuncs for mips16
* config/mips/mips.c (mips_init_libfuncs): Call init_sync_libfuncs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181539 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/mips/mips.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9bef97dff15..6a14c5419ce 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2011-11-20 Richard Henderson <rth@redhat.com>
+
+ * config/mips/mips.c (mips_init_libfuncs): Call init_sync_libfuncs.
+
2011-11-20 Uros Bizjak <ubizjak@gmail.com>
PR target/51235
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index ff72e28a35c..75e73bda2a1 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. */