> To try to generalize from that: it looks like the operating
> principle is that an insn that expands into multiple references to a
> given operand isn’t volatile-safe, but one where there is only a
> single reference is safe?

No, if the expanded list of insns does "what the standard says, no
more, no less" as far as memory accesses go, it's OK.  Many of the MSP
macros do not access memory in a volatile-safe way.  Some do.

If you have a single opcode that isn't volatile-safe (for example, a
string operation that's interruptable and restartable), that wouldn't
be OK despite being a single insn.

So it's kinda mechanical, but not always.

Reply via email to