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 
 
◆ FPU::State::ST
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 | 
 | 
 
 
◆ FPU::State::XMM
| Class Members | 
| 
uint64_t | 
low | 
 | 
| 
uint64_t | 
high | 
 | 
 
 
◆ save()
  
  
      
        
          | void FPU::State::save  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Save the current FPU (+ MMX + SSE) state into this structure. 
- Note
 - Structure has to be 16 byte aligned 
 
 
 
◆ restore()
  
  
      
        
          | 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