This is a split patch of D120476 and thanks to myhsu.
'Transformed' means the encoding of an immediate is not the same as
its binary representation. For example, the bl instruction
requires a signed 28-bits integer as its operand and the low 2 bits
must be 0. So only the upper 26 bits are needed to get encoded into
the instruction.
Based on the above reason this kind of immediate needs a customed
EncoderMethod to get the real value getting encoded into the
instruction.
Currently these immediate includes:
uimm2_plus1 simm14_lsl2 simm16_lsl2 simm21_lsl2 simm26_lsl2
This patch adds those EncoderMethods and revises related .mir test
in previous patch.
are these two functions dedicated to the unusual immediate you mentioned in another patch? If so, can you add some description comments here?