Separating the CPU implementation from the AVX one.