Povilas Kanapickas
Povilas Kanapickas
Opened issue #93 for small vector support.
It's true that there's currently no tutorial. The only documentation is available [here](http://p12tic.github.io/libsimdpp/v2.0-dev/libsimdpp/) which I guess you've already checked out.
FYI, the coverage of documentation has been significantly improved. Most recent version can be found here: http://p12tic.github.io/libsimdpp/v2.1-dev/libsimdpp/w/
@xugng: Are you porting this from boost.simd by chance?
Thanks for the documentation bug report. As for your question, you can shuffle elements in a SIMD vector by index by using permute_bytes16 or shuffle_bytes16 functions.
I agree that your proposal has benefits, but I'm not sure they're worth the additional duplication. Any user error mixing different argument types should be easily caught by tests. Migration...
Thanks for the suggestion. The proposal makes sense. I guess all of `shuffle_bytes16`, `shuffle_zbytes16`, `permute_bytes16` and `permute_zbytes16` should be handled by that macro as any kind of byte shuffle instruction...
> May i miss something but as i spotted above, we also need prologue if data lenght is too small to fit in simd registers( eg 7 uint , in...
Indeed, the support for vectors of size smaller than the smallest native size is currently not fully implemented.
Fixing this issue is in progress. A testing suite to inspect generated instruction counts is in progress of being developed. When finished, it should help to identify all performance issues...