A PowerPC ISA instruction meaning "Enforce In-Order Execution of I/O". This is different from the sync instruction, which also flushes the instruction pipeline, or the isync instruction which only serializes execution.

eieio waits for all memory operations to complete before initiating any new ones. This prevents a processor from modifying a mutex'd structure until it's seen as locked by all others in the computer.

It does not wait for previous instructions to complete. That's what isync is for.

I doubt that there ever was a nop instruction on PowerPC or POWER, and if there were, it wouldn't be used for this. eieio is a pretty specialized function usually seen in implementations of multiprocessing APIs in operating systems. nop on PowerPC is ori r0, r0, 0. It's RISC, so they don't like to assign new opcodes willy-nilly (although I don't know the difference between sync and eieio isync).