April 7th, 2020 at 4:24 PM
Ah. Yea those are just SIMD (single instruction multiple data) instructions IIRC. Basically they run the exact same instruction on tons of data at once in parallel. Suppose you need to multiply every number in a massive array by 3. You could use SIMD to run 16 of them at a time with a massive speed boost. Much better than running them one at a time.
Or if you need to perform the same formula on every pixel of an image, every sample of audio, or every byte in a ZIP archive, or so forth. If it's the same formula/instruction, you can use SIMD to do it and run a whole batch of pixels at once. AVX just so happens to be a hell of a lot faster (and far better) than SSE. And nobody compiles for it even though it's been around for years.
Or if you need to perform the same formula on every pixel of an image, every sample of audio, or every byte in a ZIP archive, or so forth. If it's the same formula/instruction, you can use SIMD to do it and run a whole batch of pixels at once. AVX just so happens to be a hell of a lot faster (and far better) than SSE. And nobody compiles for it even though it's been around for years.