Shift functions in Cilk Plus

Shift functions in Cilk Plus


it seems that the Shift-functions in Cilk Plus are missing. Or do i have to #include another file? __sec_shift, as well as __sec_rotate do not work.

test.cpp:32:35: error: ‘__sec_shift’ was not declared in this scope
 b[0:5] = __sec_shift(a[0:5], 1, 9);

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

In my test case, with icc 13.0.079, introduction of __sec_shift or __sec_rotate produce ": internal error: backend signals

In early versions of icc Cilk, you needed #include "cilk.h" to define __sec_ operators. They have been removed from the .h and built in to the compiler, but it looks like shift and rotate aren't adequately implemented.

It's worth a problem report on if you are interested in using the syntax or having documentation match function.
I wouldn't expect these operators to perform well in comparison with current alternatives in my examples, even if they worked correctly. It took years to make the simplest case of Fortran cshift work efficiently, while the other cases still don't perform adequately with any compilers other than Oracle's.

Thank you,
i was just wondering whether shift and rotate are actually implemented or not, because they are mentioned in the documentation but not working.

Leave a Comment

Please sign in to add a comment. Not a member? Join today