--- boost1.39-1.39.0.obsolete.0.994080839927658.orig/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
+++ boost1.39-1.39.0.obsolete.0.994080839927658/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
@@ -37,9 +37,12 @@
     __asm__ __volatile__
     (
         "0:\n\t"
+	".set push\n\t"
+	".set mips2\n\t"
         "ll %0, %1\n\t"
         "addiu %0, 1\n\t"
         "sc %0, %1\n\t"
+	".set pop\n\t"
         "beqz %0, 0b":
         "=&r"( tmp ), "=m"( *pw ):
         "m"( *pw )
@@ -55,9 +58,12 @@
     __asm__ __volatile__
     (
         "0:\n\t"
+	".set push\n\t"
+	".set mips2\n\t"
         "ll %1, %2\n\t"
         "addiu %0, %1, -1\n\t"
         "sc %0, %2\n\t"
+	".set pop\n\t"
         "beqz %0, 0b\n\t"
         "addiu %0, %1, -1":
         "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):
@@ -78,10 +84,13 @@
     __asm__ __volatile__
     (
         "0:\n\t"
+	".set push\n\t"
+	".set mips2\n\t"
         "ll %0, %2\n\t"
         "beqz %0, 1f\n\t"
         "addiu %1, %0, 1\n\t"
         "sc %1, %2\n\t"
+	".set pop\n\t"
         "beqz %1, 0b\n\t"
         "addiu %0, %0, 1\n\t"
         "1:":
