> > The main issue here is that you are not testing whether the compiler supports > gnu_indirect_function. > > I suggest that you start by moving the functions to util/buffer-zero.c > > Then the structure should be something like > > #ifdef CONFIG_HAVE_AVX2 > #include <immintrin.h> > #endif > > ... define buffer_find_nonzero_offset_inner ... > ... define can_use_buffer_find_nonzero_offset_inner ... > > #if defined CONFIG_HAVE_GNU_IFUNC && defined CONFIG_HAVE_AVX2 ... > define buffer_find_nonzero_offset_avx2 ... > ... define can_use_buffer_find_nonzero_offset_avx2 ... > ... define the indirect functions ... > #else > ... define buffer_find_nonzero_offset that just calls > buffer_find_nonzero_offset_inner ... > ... define can_use_buffer_find_nonzero_offset that just calls > can_use_buffer_find_nonzero_offset_inner ... > #endif > > Thanks, > > Paolo
Got it, thanks. Liang