> On Jan 5, 2015, at 4:11 PM, DJ Delorie <d...@redhat.com> wrote: > > >> 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.
Ok, but the converse — if the general_operand is accessed by more than one instruction, it is not safe — is correct, right? > > So it's kinda mechanical, but not always.