eieio

Enforce In-order Execution of I/O

eieio

Ensures that load/store instructions preceding the EIEIO complete before those following it. Used for Memory-Mapped I/O synchronization.

Details

The eieio instruction creates a memory barrier that provides an ordering function for storage accesses caused by load, store, and dcbz instructions executed by the processor. It ensures that certain types of storage accesses are ordered as specified.

Pseudocode Operation

Barrier(IO_Storage)

Programming Note

The eieio instruction is intended for use in doing memory-mapped I/O. Because loads, and separately stores, to storage that is both Caching Inhibited and Guarded are performed in program order (see Section 1.7.1, “Storage Access Ordering ” on page 973), eieio is needed for such storage only when loads must be ordered with respect to stores.

Example

eieio

Encoding

Binary Layout
31
0
00000
6
00000
11
00000
16
854
21
/
31
 
Format X-form
Opcode 0x7C0006AC
Extension Base

Operands