volk: replace (__m128) with volk cast for portability
volk: fixing some volk kernels.
This should fix some problems with gr-filter QA tests. Also removes some warnings.
volk: added missing avx header include
Merge branch 'gr_filter'
filter: adding ssc and fsf versions of filter with associated new Volk kernels.
These routines work and pass QA. They could use some performance work. the FSF is just slightly slower than before; the SCC version is more noticably slower.
Both could benefit, probably, by using SSE2 intrinsics to handle the shorts.
filter: added a ccf Volk dot product to use with ccf filters and used it in fir_filter_ccf.
Produces improved results to previous version.
volk: fixes for 32f dot_prod
Accepts num_points like everything else and handles splitting up numbers itself, not expected to be done externally.
Adds AVX version, both aligned and unaligned.
volk: dot_produce for floats does 16 at a time.
This was done to make this have the same performance as float_dotprod from before. This makes all flavors of the 32f dotprod work the same way.
Because it's expecting the input to have 4x more samples than specified, it's making qa for these fail.
filter: process 4 vectors each time in volk dot_prod to speed up fir filters.
This makes the volk version of the SSE FIR filter the same speed as using the hand-crafted float_dotprod from before.
volk: fix some signedness and unused variable warnings
Also available in: