Есть ли в g ++ безопасный способ заставить переменную находиться в определенном регистре при вызове функции? Эта функция содержит встроенный asm-код, который принимает входные данные в определенных регистрах.
Я пытался объявить локальные переменные в фиксированных регистрах (register int x asm ("$10")
) и передать их функции, но -O3
испортил это.
Я не хочу резервировать регистры для всей программы, объявляя глобальные переменные в регистрах.