Нет таких инструкций. На то он и RISC, чтобы голый load-store. Для
GPIO, как вы заметили, часто есть спецуевые регистры BSR/BRR/BSRR,
чтобы одной записью установить-сбросить группу битов. Для остальных
регистров надо извращаться тем или иным способом. Например: если
часть битов фиксирована, а часть меняется - то можно просто писать
новое значение. Типа такого: #define IER_DEF_VAL (UART_IER_TXD_EN | UART_IER_RECV_READY)
.....
uart_ptr->IER = IER_DEF_VAL | UART_IER_DTR_EN;
.....
uart_ptr->IER = IER_DEF_VAL;