512 byte structure for FPU / MMX / SSE registers corresponds to the layout used by the instructions fxsave and fxrstor.
More...
#include <machine/fpu.h>
|
| struct | ST |
| | 80 bit registers for FPU stack / MMX More...
|
| |
| struct | XMM |
| | 128 bit SSE registers More...
|
| |
|
|
void | init () |
| | Set structure to the initial FPU state Clears the FPU state (but its not just zeroed!)
|
| |
| void | save () |
| | Save the current FPU (+ MMX + SSE) state into this structure. More...
|
| |
| void | restore () |
| | Restore the saved FPU (+ MMX + SSE) state from this structure. More...
|
| |
|
|
uint16_t | fcw |
| | FPU Control Word.
|
| |
|
uint16_t | fsw |
| | FPU Status Word.
|
| |
|
uint8_t | ftw |
| | FPU Tag Word.
|
| |
|
uint16_t | __pad0__: 0 |
| | (16 bit alignment)
|
| |
|
uint16_t | fop |
| | FPU Opcode.
|
| |
|
union { |
|
uint64_t | ip |
| |
|
struct { |
|
uint32_t | ip_off |
| |
|
uint32_t | ip_seg |
| |
| } | |
| |
| }; | |
| |
|
union { |
|
uint64_t | dp |
| |
|
struct { |
|
uint32_t | dp_off |
| |
|
uint32_t | dp_seg |
| |
| } | |
| |
| }; | |
| |
|
uint32_t | mxcsr |
| |
|
uint32_t | mxcsr_mask |
| |
|
struct { |
|
ST | value |
| |
|
uint64_t | __pad0__: 48 |
| |
| } | st [8] |
| |
|
XMM | xmm [16] |
| |
|
uint64_t | reserved [12] |
| | (reserved)
|
| |
512 byte structure for FPU / MMX / SSE registers corresponds to the layout used by the instructions fxsave and fxrstor.
- See also
- ISDMv1 Chapter 10.5.1 FXSAVE Area
80 bit registers for FPU stack / MMX
| Class Members |
|
uint64_t |
fraction: 63 |
|
|
uint64_t |
integer: 1 |
|
|
uint16_t |
exponent: 15 |
|
|
uint16_t |
sign: 1 |
|
| Class Members |
|
uint64_t |
low |
|
|
uint64_t |
high |
|
| void FPU::State::save |
( |
| ) |
|
|
inline |
Save the current FPU (+ MMX + SSE) state into this structure.
- Note
- Structure has to be 16 byte aligned
| void FPU::State::restore |
( |
| ) |
|
|
inline |
Restore the saved FPU (+ MMX + SSE) state from this structure.
- Note
- Structure has to be 16 byte aligned
The documentation for this struct was generated from the following files:
- machine/fpu.h
- machine/fpu.cc