|Non-Confidential||PDF version||ARM DUI0473M|
|Home > Using the Assembler > Instruction width diagnostics|
The assembler can issue a warning when it assembles a Thumb branch instruction to a 32-bit encoding when it could have used a 16-bit encoding.
If you use the
.W specifier, the instruction is encoded in 32 bits even if
it can be encoded in 16 bits. You can use a diagnostic warning to detect when a branch
instruction could have been encoded in 16 bits, but has been encoded in 32 bits. To do this,
use the following command-line option when invoking the assembler:
armasm --diag_warning 1607
This diagnostic does not produce a warning for relocated branch instructions, because the final address is not known. The linker might even insert a veneer, if the branch is out of range for a 32-bit instruction.