Thinking about it some more, it might make sense to do the sign swap tries
inside vect_gather_scatter_fn_p as well.  That wouldn't pollute the callers.

I'm still pondering how safe swapping the sign is here.

If we have signed indices there won't be any overflow and we should be able to switch to unsigned? In order to ensure negative values are properly
represented we need to use a pointer-sized type, though?

For the opposite direction (unsigned -> signed) do we need a pointer-sized type? I'd have thought a 2x-sized type suffices.

--
Regards
Robin

Reply via email to