| 104 | } |
| 105 | |
| 106 | void 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 | |
| 122 | void OpDispatchBuilder::FADDF64(OpcodeArgs, IR::OpSize Width, bool Integer, OpDispatchBuilder::OpResult ResInST0) { |
| 123 | if (Op->Src[0].IsNone()) { // Implicit argument case |
nothing calls this directly
no outgoing calls
no test coverage detected