aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2011-11-20 15:16:30 -0800
committerRichard Henderson <rth@gcc.gnu.org>2011-11-20 15:16:30 -0800
commit722d8b7b3893ae897ea2cc7a67f9334602b7a840 (patch)
tree7eedcc1127c1f3be5311975eeab67391b4556c0e /gcc
parentfcb13a10e4053a9d6426093b9c733634339a022f (diff)
downloadgcc-722d8b7b3893ae897ea2cc7a67f9334602b7a840.zip
gcc-722d8b7b3893ae897ea2cc7a67f9334602b7a840.tar.gz
gcc-722d8b7b3893ae897ea2cc7a67f9334602b7a840.tar.bz2
mips: Install the __sync libfuncs for mips16
* config/mips/mips.c (mips_init_libfuncs): Call init_sync_libfuncs. From-SVN: r181539
Diffstat (limited to 'gcc')
-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 9bef97d..6a14c54 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 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. */