c - Принуждение компилятора использовать определенный регистр для определенной переменной



linux gcc (1)

Можно ли заставить компилятор ( gcc или clang в моем случае) использовать определенный регистр, скажем, R15 на x86_64 для определенной переменной, а также запретить ему использовать R15 для любых других целей, кроме этой переменной.


GCC может сделать это.

Уже процитированные gcc.gnu.org/onlinedocs/gcc/Global-Reg-Vars.html отвечают на ваш вопрос о том, как заставить переменную войти в определенный регистр.

Чтобы -ffixed-reg компилятору генерировать код, использующий этот регистр для других целей, используйте ключ gcc -ffixed-reg (подробности см. В gcc doc).





x86-64