Add SH4 and mips architecture support.

Submitted by Andreas Vinsander.
diff --git a/include/jemalloc/internal/atomic.h b/include/jemalloc/internal/atomic.h
index 8c68593..1dbb7d6 100644
--- a/include/jemalloc/internal/atomic.h
+++ b/include/jemalloc/internal/atomic.h
@@ -160,6 +160,22 @@
 
 	return (x);
 }
+#elif (defined __SH4__ || defined __mips__) && (__GNUC__ > 4 ||		\
+    (__GNUC__ == 4 && (__GNUC_MINOR__ > 1 || (__GNUC_MINOR__ == 1 &&	\
+    __GNUC_PATCHLEVEL__ > 1))))
+JEMALLOC_INLINE uint32_t
+atomic_add_uint32(uint32_t *p, uint32_t x)
+{
+
+	return (__sync_add_and_fetch(p, x));
+}
+
+JEMALLOC_INLINE uint32_t
+atomic_sub_uint32(uint32_t *p, uint32_t x)
+{
+
+	return (__sync_sub_and_fetch(p, x));
+}
 #else
 #  error "Missing implementation for 32-bit atomic operations"
 #endif
diff --git a/include/jemalloc/internal/jemalloc_internal.h.in b/include/jemalloc/internal/jemalloc_internal.h.in
index 403e480..3e445f7 100644
--- a/include/jemalloc/internal/jemalloc_internal.h.in
+++ b/include/jemalloc/internal/jemalloc_internal.h.in
@@ -254,6 +254,9 @@
 #  ifdef __s390x__
 #    define LG_QUANTUM		4
 #  endif
+#  ifdef __SH4__
+#    define LG_QUANTUM		4
+#  endif
 #  ifdef __tile__
 #    define LG_QUANTUM		4
 #  endif