Displaying 1 result from an estimated 1 matches for "b_idx".
Did you mean:
_idx
2019 May 02
2
llvm is illegally vectorizing with a recurrence on skylake
...ow:
/*****************************************************************/
static void __attribute__ ((always_inline)) one(
const int *restrict in, const int *const end,
const unsigned shift, int *const restrict index,
int *const restrict out)
{
do {
int a_idx = *in>>shift;
int b_idx = index[a_idx];
out[b_idx] = *in; // <-- reccurence as index[a_idx] can
be the
index[a_idx]++; // same and incremented within the
vector
} while(++in!=end); // which leads to incorrect results
}
#ifndef NO_TWO
static void __attribu...