На AVR я такое делал в пре-прологе, до сохранения контекста. Просто
ставил инструкцию сброса бита в атрибут пре-пролога (avr-gcc).
Конечно, с кэшем - как повезёт, скорее нет, чем да. Но зато
максимально быстро. С RISC-V обломался. У тех, у которых нет команд манипуляции битами (или, вдруг, манипуляция битами не поддерживается периферийными регистрами), требуется использование регистра для R-M-W. И не получилось договориться с компилятором, чтобы сначала сохранить контекст одного регистра, сделать быструю манипуляцию с битом порта и потом уже сохранять остальной контекст. Забил, решал другими путями, в том числе и аппаратными.