These function attributes are supported by the ARC back end:
interruptOn the ARC, you must specify the kind of interrupt to be handled in a parameter to the interrupt attribute like this:
void f () __attribute__ ((interrupt ("ilink1"))); Permissible values for this parameter are: ilink1 and ilink2.
long_callmedium_callshort_call-mlong-calls and -mmedium-calls (see ARC Options) command-line switches and #pragma long_calls settings. For ARC, a function marked with the long_call attribute is always called using register-indirect jump-and-link instructions, thereby enabling the called function to be placed anywhere within the 32-bit address space. A function marked with the medium_call attribute will always be close enough to be called with an unconditional branch-and-link instruction, which has a 25-bit offset from the call site. A function marked with the short_call attribute will always be close enough to be called with a conditional branch-and-link instruction, which has a 21-bit offset from the call site.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gcc/ARC-Function-Attributes.html