Open CeleritasCelery opened 1 year ago
Sorry for the delayed response on this!
I don't know of a way to do this off the top of my head. And indeed, x86/64 SIMD instructions are often limited in odd, arbitrary ways. So it may simply not be possible. Not sure, though.
I was looking at a way to simplify the CRLF routine. I know how to do it in neon, but can't seem to figure it out in SSE. Essentially I need something like vextq_u8 that allows you shuffle elements between vectors so that I can take the bottom 8-bits of one vector and shift it into the top of another. I was going to use the shuffle commands but they only operate on 16 bit values. There doesn't even seem to be a good get/set method. A basic 8-bit set isn't even available till SEE4.1.
Perhaps you can direct me on how best to solve this with SEE1.