Implement modified immediate constants

This patch adds support for 12 bits wide immediates:

  | value   | ==> | rotation | immediate |
  |---------|     |----------+-----------|
  | 32 bits | ==> | 4 bits   | 8 bits    |