"       " __INS "%0, %3, %2, 1                  \n"
                        "       " __SC "%0, %1                          \n"
                        : "=&r" (temp), "+" GCC_OFF_SMALL_ASM() (*m)
-                       : "ir" (bit), "r" (~0)
+                       : "i" (bit), "r" (~0)
                        : __LLSC_CLOBBER);
                } while (unlikely(!temp));
                return;
                        "       " __INS "%0, $0, %2, 1                  \n"
                        "       " __SC "%0, %1                          \n"
                        : "=&r" (temp), "+" GCC_OFF_SMALL_ASM() (*m)
-                       : "ir" (bit)
+                       : "i" (bit)
                        : __LLSC_CLOBBER);
                } while (unlikely(!temp));
                return;
                        "       " __INS "%0, $0, %3, 1                  \n"
                        "       " __SC  "%0, %1                         \n"
                        : "=&r" (temp), "+" GCC_OFF_SMALL_ASM() (*m), "=&r" (res)
-                       : "ir" (bit)
+                       : "i" (bit)
                        : __LLSC_CLOBBER);
                } while (unlikely(!temp));
        } else {