Add shift support for generic-16 target.
Add shift support for knc targets.  This is not optimized.