3 ms·
I would have to see an example of what you mean, but it should be completely possible though might require converting without using vectorization. Switching la
by BubRoss 7y ago
I would have to see an example of what you mean, but it should be completely possible though might require converting without using vectorization.
Switching lane size doesn't make much sense to me because ideally you would want lanes that are as wide as possible and mostly be agnostic to their size.
- corysama 7y agoI had some code that tried to stay 16x8bit, but would occasionally _mm_unpacklo_epi8, _mm_unpackhi_epi8 to 2 8x16bit vectors to keep precise intermediate results during some fixed-point math. Writing it out like that, it sounds like it should have been easy. Don't remember what I ran into. Maybe didn't bang on it long enough.
- BubRoss 7y agoThe original AVX instructions didn't have all the integer operations that the most modern chips have. It might have been haswell that added small integers over the 256 bit lane width.
- stephencanon 7y agoRight. AVX (the original extension) only added 256b floating-point and non-destructive 128b integer. The 256b integer SIMD ops are all in AVX2 or later.