rust-embedded/cortex-m

Is `nomem` a correct option for `isb`, `dsb` and `dmb`?

evading opened this issue · 1 comments

In the nightly reference for inline assembly it says for nomem that: "The compiler also assumes that this asm! block does not perform any kind of synchronization with other threads, e.g. via fences."
The same wording is not in the stable docs but I don't know if it is only added due to doc update or if there is an actual difference in how the compiler works.
Should those fences have the nomem option set?

Thanks for reporting this. It does look like those methods should not have nomem set, and we should backport the fix to the 0.7 branch too.