"bne %0,%3,2f\n\t" \
"move %1,%4\n\t" \
"sc %1,%2\n\t" \
"beqz %1,1b\n" \
"beqzl %1,1b\n" \
acq "\n\t" \
".set pop\n" \
"2:\n\t" \
"scd %1,%2\n\t" \
"ll %0,%4\n\t" \
"move %1,%3\n\t" \
"lld %0,%4\n\t" \
"addu %1,%0,%3\n\t" \
"daddu %1,%0,%3\n\t" \
-