Merge changes I4b3b4d90,I70e0d78f,I2848636f

* changes:
  Forbid the use of shifts in ShifterOperand in Thumb2
  Make subs and adds alter flags when rn is an immediate
  Inline long shift code