[non-BE][split-non-BE] Resolve "W_shl()/W_shr() called with exceeding shift values"
For all exceeding (positive) shift amounts for W_shr (and derivates), we just limit the shift amount before calling W_shr, the result is in [-1, 0]. For all exceedings (positive) shift amounts for W_shl (and derivates), we check, whether the saturated result lead to wrong results and try to use another solution.