| 4883 | template void OpDispatchBuilder::RDRANDOp<false>(OpcodeArgs); |
| 4884 | |
| 4885 | void OpDispatchBuilder::BreakOp(OpcodeArgs, FEXCore::IR::BreakDefinition BreakDefinition) { |
| 4886 | const auto GPRSize = GetGPROpSize(); |
| 4887 | |
| 4888 | // We don't actually support this instruction |
| 4889 | // Multiblock may hit it though |
| 4890 | _StoreContext(GPRSize, GPRClass, GetRelocatedPC(Op, -Op->InstSize), offsetof(FEXCore::Core::CPUState, rip)); |
| 4891 | Break(BreakDefinition); |
| 4892 | |
| 4893 | |
| 4894 | if (Multiblock) { |
| 4895 | auto NextBlock = CreateNewCodeBlockAfter(GetCurrentBlock()); |
| 4896 | SetCurrentCodeBlock(NextBlock); |
| 4897 | StartNewBlock(); |
| 4898 | } else { |
| 4899 | BlockSetRIP = true; |
| 4900 | } |
| 4901 | } |
| 4902 | |
| 4903 | void OpDispatchBuilder::UnimplementedOp(OpcodeArgs) { |
| 4904 | BreakOp(Op, FEXCore::IR::BreakDefinition { |
nothing calls this directly
no outgoing calls
no test coverage detected