| 92 | } |
| 93 | |
| 94 | void OpDispatchBuilder::FILDF64(OpcodeArgs) { |
| 95 | const auto ReadWidth = OpSizeFromSrc(Op); |
| 96 | |
| 97 | // Read from memory |
| 98 | Ref Data = LoadSource_WithOpSize(GPRClass, Op, Op->Src[0], ReadWidth, Op->Flags); |
| 99 | if (ReadWidth == OpSize::i16Bit) { |
| 100 | Data = _Sbfe(OpSize::i64Bit, IR::OpSizeAsBits(ReadWidth), 0, Data); |
| 101 | } |
| 102 | auto ConvertedData = _Float_FromGPR_S(OpSize::i64Bit, ReadWidth == OpSize::i32Bit ? OpSize::i32Bit : OpSize::i64Bit, Data); |
| 103 | _PushStack(ConvertedData, Data, ReadWidth, false); |
| 104 | } |
| 105 | |
| 106 | void OpDispatchBuilder::FISTF64(OpcodeArgs, bool Truncate) { |
| 107 | const auto Size = OpSizeFromSrc(Op); |
nothing calls this directly
no test coverage detected