Gcc/10.2.0/gcc/Constraints

From Get docs

6.47.3 Constraints for asm Operands

Here are specific details on what constraint letters you can use with asm operands. Constraints can say whether an operand may be in a register, and which kinds of register; whether the operand can be a memory reference, and which kinds of address; whether the operand may be an immediate constant, and which possible values it may have. Constraints can also require two operands to match. Side-effects aren’t allowed in operands of inline asm, unless ‘<’ or ‘>’ constraints are used, because there is no guarantee that the side effects will happen exactly once in an instruction that can update the addressing register.

Simple Constraints:    Basic use of constraints.
Multi-Alternative:    When an insn has two alternative constraint-patterns.
Modifiers:    More precise control over effects of constraints.
Machine Constraints:    Special constraints for some particular machines.