Improve binary search algorithm using SIMD

I have a binary search algorithm for the Eytzinger layout implemented as below and want to see whether there's further space to improve the algorithm leveraging SIMD. Based on my very limited knowledge on SIMD, it seems impossible to improve the algorithm via SIMD. However, I'd like to invite opinions on this.

fn binary_search_eytzinger(data: &[u64], target: u64) -> u64 {
    let mut idx = 1;
    while idx < data.len() {
        idx = idx * 2 + usize::from(data[idx] > target);
    }
    idx >>= idx.trailing_ones() + 1;
    data[idx]
}

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.