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

Method HandleUnop

FEXCore/Source/Interface/IR/Passes/x87StackOptimizationPass.cpp:491–506  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

489
490
491void X87StackOptimization::HandleUnop(IROps Op64, bool VFOp64, IROps Op80) {
492 Ref St0 = LoadStackValue();
493 Ref Value {};
494
495 if (ReducedPrecisionMode) {
496 if (VFOp64) {
497 DeriveOp(Value, Op64, IREmit->_VFSqrt(OpSize::i64Bit, OpSize::i64Bit, St0));
498 } else {
499 DeriveOp(Value, Op64, IREmit->_F64SIN(St0));
500 }
501 } else {
502 DeriveOp(Value, Op80, IREmit->_F80SQRT(St0));
503 }
504
505 StoreStackValue(Value);
506}
507
508
509void X87StackOptimization::HandleBinopValue(IROps Op64, bool VFOp64, IROps Op80, uint8_t DestStackOffset, bool MarkDestValid,

Callers

nothing calls this directly

Calls 1

DeriveOpFunction · 0.85

Tested by

no test coverage detected