used (IBM extension)

When a function is referenced only in inline assembly, you can use the used function attribute to instruct the compiler to emit the code for the function even if it appears that the function is not referenced.

The used function attribute can be specified inside double parentheses via keyword __attribute__ in a function declaration, for example, int foo() __attribute__ ((__used__)); As with other GCC function attributes, the double underscores on the attribute name are optional.
Read syntax diagramSkip visual syntax diagram
used function attribute syntax

>>-__attribute__--((--+-used-----+--))-------------------------><
                      '-__used__-'       

If the function attribute gnu_inline is specified in such a way that the function is discarded, and is specified together with the function attribute used, the gnu_inline attribute wins, and the function definition is discarded.