MCPcopy Create free account
hub / github.com/FEX-Emu/FEX / FISTF64

Method FISTF64

FEXCore/Source/Interface/Core/OpcodeDispatcher/X87F64.cpp:106–120  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104}
105
106void OpDispatchBuilder::FISTF64(OpcodeArgs, bool Truncate) {
107 const auto Size = OpSizeFromSrc(Op);
108
109 Ref data = _ReadStackValue(0);
110 if (Truncate) {
111 data = _Float_ToGPR_ZS(Size == OpSize::i32Bit ? OpSize::i32Bit : OpSize::i64Bit, OpSize::i64Bit, data);
112 } else {
113 data = _Float_ToGPR_S(Size == OpSize::i32Bit ? OpSize::i32Bit : OpSize::i64Bit, OpSize::i64Bit, data);
114 }
115 StoreResult_WithOpSize(GPRClass, Op, Op->Dest, data, Size, OpSize::i8Bit);
116
117 if ((Op->TableInfo->Flags & X86Tables::InstFlags::FLAGS_POP) != 0) {
118 _PopStackDestroy();
119 }
120}
121
122void OpDispatchBuilder::FADDF64(OpcodeArgs, IR::OpSize Width, bool Integer, OpDispatchBuilder::OpResult ResInST0) {
123 if (Op->Src[0].IsNone()) { // Implicit argument case

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected