This unit names the address-update and atomic-operation selectors shared by scalar and tile memory execution.
Keeping these selectors in one owner prevents individual instructions from inventing incompatible names for the same operation class.
concepts state
Concepts and visible state
AddressUpdateMode has AddressUpdate_None, AddressUpdate_PreIndex, and AddressUpdate_PostIndex.
AtomicOperation covers swap, add, bitwise AND/OR/XOR, signed min/max, and unsigned min/max.
The enumerations are typed inputs to executable helpers; they do not contain address calculation or read-modify-write behavior by themselves.
rules interactions
Rules and interactions
Pre-index and post-index are distinct selectors. The consuming instruction owner determines when the base update is computed and committed.
Signed and unsigned min/max have separate enum members: Atomic_SMIN, Atomic_SMAX, Atomic_UMIN, and Atomic_UMAX.
No enum member implies fault, ordering, size, or publication rules; those remain parameters and behavior of the consuming owner.
boundaries
Architectural boundaries
This unit has no fallback or implementation-defined selector. A decoder must map only to a declared member before execution.
Selector identity is portable, while support and legality for a particular instruction form remain with that instruction's current ASL owner.
example usage
illustrative reading example
An atomic instruction selecting Atomic_ADD still needs its own address, width, order, fault, and commit contract; this enumeration contributes only the operation identity.
Likewise, AddressUpdate_PostIndex identifies the mode but does not by itself state whether a failed access updates the base register.