| 2795 | } |
| 2796 | |
| 2797 | void OpDispatchBuilder::DefaultX87State(OpcodeArgs) { |
| 2798 | // We can piggy-back on FNINIT's implementation, since |
| 2799 | // it performs the same behavior as required by XRSTOR for resetting flags |
| 2800 | FNINIT(Op); |
| 2801 | |
| 2802 | // On top of resetting the flags to a default state, we also need to clear |
| 2803 | // all of the ST0-7/MM0-7 registers to zero. |
| 2804 | Ref ZeroVector = LoadZeroVector(OpSize::i64Bit); |
| 2805 | for (uint32_t i = 0; i < Core::CPUState::NUM_MMS; ++i) { |
| 2806 | StoreContext(MM0Index + i, ZeroVector); |
| 2807 | } |
| 2808 | } |
| 2809 | |
| 2810 | void OpDispatchBuilder::DefaultSSEState() { |
| 2811 | const auto NumRegs = Is64BitMode ? 16U : 8U; |
nothing calls this directly
no outgoing calls
no test coverage detected