Implement filters on ppc64le with actual Altivec-SIMD instructions
- Dominant language
- C
- Stars
- 584
- Forks
- 113
- PR merge metrics
- No merged PRs in 30d
Description
For now, the code is just auto-translated from SSE2. Here are some hints on how to do it properly:
For byte-shuffle it looks straights forwards:
http://mirror.informatimago.com/next/developer.apple.com/hardware/ve/algorithms.html#byte_swap
For bit-shuffle, Initial explanation in:
https://mischasan.wordpress.com/2011/07/24/what-is-sse-good-for-transposing-a-bit-matrix/
But I did not find (yet) an Altivec implementation
Contributor guide
Research direction
Start by reviewing the existing filters that were auto-translated from SSE2 and the linked byte-shuffle and bit-shuffle references. Implement actual Altivec-SIMD instructions for both byte-shuffle and bit-shuffle on ppc64le; done means both filter operations use a proper Altivec implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100