Owner-Specific State Records
State-transfer instructions operate on one architecturally owned record at a time. SAVE and RESTORE own the base user record; SSAVE and SRESTORE own the base supervisor record; FP owns its floating-point user record; and VECTOR owns its vector user record. FPTRANSA, VECTORFP, and WAIT define no state-record instruction.
Each instruction has exactly one address form, [Rn]. It captures Rn before executing, uses DS as the default data segment, and accepts no displacement, direct, update, or generic effective-address form. Each instruction accesses only its owning state. Software that composes several owner records chooses their placement and synchronization; the architecture provides no cross-owner atomicity.
Base User-State Record
This record is 200 bytes and 8-byte aligned.
Base User-State Record2.88in
Base User-State Record Bit Layouts
SAVE writes the complete record. RESTORE validates all six segment-register images and the FLAGS image before atomically replacing R0 through R15, GS0 through GS5, FLAGS, LPC, and the complete opaque LPA image. The record is 200 bytes with 8-byte alignment. No field is optional and no base supervisor or extension-owned key state appears in this record.
Base Supervisor-State Record
This record is 8 bytes and 8-byte aligned.
Base Supervisor-State Record0.96in
Base Supervisor-State Record Bit Layouts
SRESTORE requires the reserved bits to be zero and validates the complete event-state relation before changing state. The saved STATUS must select privileged mode. DFA requires an active event; inactive state requires EDEPTH, UO, and DFA to be zero; and UO requires a valid live U bank. SRESTORE atomically replaces STATUS and DFA only after these checks succeed.
Floating-Point User-State Record
This record is 192 bytes and 64-byte aligned.
Floating-Point User-State Record2.88in
Floating-Point User-State Record Bit Layouts
Its initial state is positive zero in F0 through F15 and zero in FFLAGS and FSTATUS.
For FRESTORE, a clear presence bit installs the selected slot’s initial value and its payload bytes are not read. All selected images and reserved fields are validated before any floating-point state is committed. An all-clear bitmap makes floating-point state clean; any set bit makes it modified. FSAVE does not change this tracking state and may conservatively set presence bits.
Vector User-State Record
Let \(B\) be VLEN in bytes, with \(B \in \{16, 32, 64, 128, 256\}\). This record is 64-byte aligned and has total size \(\texttt{0x40} + 64\lceil 34B/64\rceil\) bytes.
Vector User-State Record4.64in
Vector User-State Record Bit Layouts
Its initial state is all zero.
For VRESTORE, a clear presence bit installs the selected slot’s initial value and its payload bytes are not read. The complete header and all selected images are validated before any vector state is committed. An all-clear bitmap makes vector state clean; any set bit makes it modified. VSAVE does not change this tracking state and may conservatively set presence bits.
Control-Flow Integrity Supervisor-State Record
This record is 16 bytes and 8-byte aligned.
Control-Flow Integrity Supervisor-State Record1.12in
CFISSAVE writes this complete record without changing key state. CFISRESTORE validates the complete memory access and then replaces LKL and LKH together. Both instructions are supervisor-only, use the ordinary DS addressing context, and leave LPC and LPA unchanged. The all-zero image is valid and selects the unconfigured CFI state.
State-Record Transfer Semantics
Every SAVE-class instruction is a pure snapshot: it does not change the captured owner state or its clean/modified tracking. The complete destination range is validated before a record is written. Every RESTORE-class instruction validates the complete source range and all record invariants before committing any owner state. An address, access, or validation fault leaves architectural state unchanged.
FP and VECTOR records use owner-local presence bitmaps. A clear slot means initial state, not preserved state, and the corresponding payload bytes are not read. An all-clear bitmap installs the complete initial owner state and makes that owner state clean. Any set bit makes the restored owner state modified, even when the selected payload happens to encode an initial value. SAVE may conservatively set presence bits, but it may clear a bit only for state known to be initial.
State-record instructions do not imply acquire, release, fence, or cross-owner ordering. The normative instruction entries are SAVE, RESTORE, SSAVE, SRESTORE, FSAVE, FRESTORE, VSAVE, and VRESTORE.