Any modern x86 core should have been able to get the same result.
I would expect the loop to be unrolled 3, 7 or 21 times to remove all conditionals. Then the math can be dispatched at one operation per cycle for each stream.
There must have been something in the compiled assembly that broke the optimisation.
4 comments
[ 2.7 ms ] story [ 22.7 ms ] threadI would expect the loop to be unrolled 3, 7 or 21 times to remove all conditionals. Then the math can be dispatched at one operation per cycle for each stream.
There must have been something in the compiled assembly that broke the optimisation.