Search code examples
armthumb

What's the meaning of W suffix for thumb-2 instruction?


There is a w suffix for thumb-2 instruction as below, how does it change the semantic of the instruction without it? The search result is very noisy and I didn't get the answer.

addw r0, r1, #0


Solution

  • I see ADDW in Cortex-M3 TRM Table 2-5

    Data operations with large immediate
    ADDW and SUBW have a 12-bit immediate. This means they can replace many from memory literal loads.
    

    It is also mentioned in Quick Reference

    add wide T2 ADD Rd, Rn, #<imm12>
    

    Looks like the assembler would recognize the immediate constant <= 12 bits, and do the needful.

    In the context where you see it, it is an ordinary "add".