You can execute an instruction conditionally, based on the condition flags set by another instruction, either:
Immediately after the instruction that updated the flags.
After any number of intervening instructions that have not updated the flags.
In AArch32 state, whether an instruction can be conditional or not depends on the instruction set state that the processor is in. Few A64 instructions can be conditionally executed.
To make an instruction conditional, you add a condition code suffix to the instruction mnemonic. The condition code suffix enables the processor to test a condition that is based on the flags. If the test fails, the instruction:
Does not execute.
Does not write any value to its destination register.
Does not affect any of the flags.
Does not generate any exception.