This patch provides fix for the cases where an expression or jump tries to update the value of PC in thumb mode.
As precaution for an undefined behavior encountered while setting PC we will clear thumb bit of new PC if we are already in thumb mode; that is CPSR thumb mode bit is set.
Also if intended behavior of setting new PC value is to change to ARM/Thumb mode then user must switch to arm or thumb mode by explicitly setting mode bit in CPSR. This update to CPSR should be done before writing new PC value.