10.4.1 Constraint modifiers

All output operands require a constraint modifier. There are currently no supported constraint modifiers for input operands.

Table 10-1 Constraint modifiers

Modifier Meaning
= This operand is only written to, and only after all input operands have been read for the last time. Therefore the compiler can allocate this operand and an input to the same register or memory location.
+ This operand is both read from and written to.
=& This operand is only written to. It might be modified before the assembly block finishes reading the input operands. Therefore the compiler cannot use the same register to store this operand and an input operand. Operands with the =& constraint modifier are known as early-clobber operands.

Note:

In the case where a register constraint operand and a memory constraint operand are used together, you must use the =& constraint modifier on the register constraint operand to prevent the register from being used in the code generated to access the memory.
Non-ConfidentialPDF file icon PDF versionDUI0774J
Copyright © 2014–2017, 2019 Arm Limited or its affiliates. All rights reserved.