unsafe fn atomic_min<T: Copy>(dst: *mut T, val: T, order: Ordering) -> T
returns the min value (signed comparison)