2 ms·
I think the talk is very carefully laid out as an incremental journey, and each stepping stone involves contextual decision-making. I don't think Andreas is say
by dundarious 5y ago
I think the talk is very carefully laid out as an incremental journey, and each stepping stone involves contextual decision-making. I don't think Andreas is saying "you must end up with the SSE2 implementation at the end", or even that approaches like the OP are illegitimate -- I'm commending the OP for thinking about the problem the right way! But using machine-specific intrinsics is just another dependency decision very similar to deciding to use a given library -- you may choose otherwise, for good reason. I would have loved the talk and probably still thought of it and posted it, even if it ended before the intrinsics (but I think he does an excellent job at that part too).
But porting SSE2 to Neon is actually pretty easy -- if you use https://github.com/DLTcollab/sse2neon https://github.com/DLTcollab/sse2neon, IME it's very easy to do incrementally (or avoid or postpone indefinitely, depending on your needs).