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

Method PFPNACCOp

FEXCore/Source/Interface/Core/OpcodeDispatcher/Vector.cpp:3072–3088  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3070}
3071
3072void OpDispatchBuilder::PFPNACCOp(OpcodeArgs) {
3073 const auto Size = OpSizeFromSrc(Op);
3074
3075 Ref Dest = LoadSource(FPRClass, Op, Op->Dest, Op->Flags);
3076 Ref Src = LoadSource(FPRClass, Op, Op->Src[0], Op->Flags);
3077
3078 Ref ResAdd {};
3079 Ref ResSub {};
3080 auto UpperSubDest = _VDupElement(Size, OpSize::i32Bit, Dest, 1);
3081
3082 ResSub = _VFSub(OpSize::i32Bit, OpSize::i32Bit, Dest, UpperSubDest);
3083 ResAdd = _VFAddP(Size, OpSize::i32Bit, Src, Src);
3084
3085 auto Result = _VInsElement(OpSize::i64Bit, OpSize::i32Bit, 1, 0, ResSub, ResAdd);
3086
3087 StoreResult(FPRClass, Op, Result, OpSize::iInvalid);
3088}
3089
3090void OpDispatchBuilder::PSWAPDOp(OpcodeArgs) {
3091 const auto Size = OpSizeFromSrc(Op);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected