When an instruction operand is outside the range allowed for that particular instruction field,
as can transform the code to use a functionally-equivalent instruction or sequence of instructions. This process is known as relaxation. This is typically done for branch instructions because the distance of the branch targets is not known until assembly-time. The Xtensa assembler offers branch relaxation and also extends this concept to function calls,
MOVI instructions and other instructions with immediate fields.
|• Xtensa Branch Relaxation:||Relaxation of Branches.|
|• Xtensa Call Relaxation:||Relaxation of Function Calls.|
|• Xtensa Jump Relaxation:||Relaxation of Jumps.|
|• Xtensa Immediate Relaxation:||Relaxation of other Immediate Fields.|