Enforce In-order Execution of I/O (EIEIO) is an assembly language instruction used on the PowerPC central processing unit (CPU) which prevents one memory or input/output (I/O) operation from starting until the previous memory or I/O operation completed. This instruction is needed as I/O controllers on the system bus require that accesses follow a particular order, while the CPU reorders accesses to optimize memory bandwidth usage. [1]
The name resembles a phrase of the old children's song Old MacDonald Had a Farm, "E-I-E-I-O!". In the book Expert C Programming, Peter van der Linden comments that this instruction is "Probably designed by some old farmer named McDonald" and "There’s nothing wrong with well-placed whimsy." [2]