And about the ones in the code flow, it was also pretty common practice in those days to use NOPs as time delays.
Manually add up all cycles for each instruction in each branch, then pad the shorter with noop to make them the same. Repeat for each code path, and cry when you need to make a change.
[1] https://www.mouser.com/c/semiconductors/integrated-circuits-...
Cortex-M is a microcontroller, without MMU (can't run Linux etc.), and typically has internal RAM and flash.
Only the NXP i.MXRT1170 reaches 1 GHz CPU clock, and this is not multi-GHz as the prior comment declared.