Extend the idea in D150851 to introduce RecurKinds [I|F]FindFirstIV
corresponding to [I|F]FirstLastIV. D150851 enabled vectorization of the
following example:
long src[20000] = {4, 5, 2}; long r = 331; for (long i = 0; i < 20000; i++) { if (src[i] > 3) r = i; } return r;
This patch extends the above idea to also vectorize:
long src[20000] = {4, 5, 2}; long r = 331; for (long i = 20000 - 1; i >= 0; i--) { if (src[i] > 3) r = i; } return r;
I prefer FindLastIncIV and FindLastDecIV. The term 'Last' should refer to the last iteration in the loop, and 'first' should refer to the first iteration in the loop.