unsafe fn atomic_sub<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T
Returns the previous value (like __sync_fetch_and_sub).