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

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

Ответы

Ответ 1

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

Уже упомянутый gcc docs отвечает на вопрос о том, как заставить переменную в определенный регистр.

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