Benefits of using conditional execution
It can be more efficient to use conditional instructions rather than conditional branches.
You can use conditional execution of ARM instructions to reduce
the number of branch instructions in your code. This improves code
IT instruction in Thumb
achieves a similar improvement.
Branch instructions are also expensive in processor cycles. On ARM processors without branch prediction hardware, it typically takes three processor cycles to refill the processor pipeline each time a branch is taken.
Some ARM processors, for example the ARM® Cortex®-R7 processor, have branch prediction hardware. In systems using these processors, the pipeline only has to be flushed and refilled when there is a misprediction.