On 23 Aug 2024, at 15:33, Paul Sandoz wrote: > The float/double conversion bothers me, not suggesting we do something about > it here, noting down for any future conversation on shuffles.
Yes, it’s a pain which is noticeable in the vector/shuffle conversions. In the worst case it adds dynamic reformatting operations to get from the artificially “uniform” float/double index format into the real format the hardware requires. As a workaround, the user could convert the float/double payloads bitwise into int/long payloads, and then do the shuffling in the uniform int/long API, later reconverting back to float/double after the payloads are reordered. Those conversions don’t actually use any dynamic operations. For prototyping, it seems fine to take the hit and ignore the fact that the index vectors are in an odd (though “uniform”) format.