mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-29 04:01:27 +01:00
OpcodeDispatcher: tweak PHADDSOpImpl signature
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
1 parent
8c751d7423
commit
635720fe12
2 files changed
+10
-8
No files matched your search
@@ -1261,7 +1261,7 @@ private:
|
||||
|
||||
void PCMPXSTRXOpImpl(OpcodeArgs, bool IsExplicit, bool IsMask);
|
||||
|
||||
Ref PHADDSOpImpl(OpcodeArgs, const X86Tables::DecodedOperand& Src1, const X86Tables::DecodedOperand& Src2);
|
||||
Ref PHADDSOpImpl(OpSize Size, Ref Src1, Ref Src2);
|
||||
|
||||
Ref PHMINPOSUWOpImpl(OpcodeArgs);
|
||||
|
||||
|
||||
@@ -3528,13 +3528,9 @@ void OpDispatchBuilder::VPHSUBOp(OpcodeArgs) {
|
||||
template void OpDispatchBuilder::VPHSUBOp<2>(OpcodeArgs);
|
||||
template void OpDispatchBuilder::VPHSUBOp<4>(OpcodeArgs);
|
||||
|
||||
Ref OpDispatchBuilder::PHADDSOpImpl(OpcodeArgs, const X86Tables::DecodedOperand& Src1Op, const X86Tables::DecodedOperand& Src2Op) {
|
||||
const auto Size = GetSrcSize(Op);
|
||||
Ref OpDispatchBuilder::PHADDSOpImpl(OpSize Size, Ref Src1, Ref Src2) {
|
||||
const uint8_t ElementSize = 2;
|
||||
|
||||
Ref Src1 = LoadSource(FPRClass, Op, Src1Op, Op->Flags);
|
||||
Ref Src2 = LoadSource(FPRClass, Op, Src2Op, Op->Flags);
|
||||
|
||||
auto Even = _VUnZip(Size, ElementSize, Src1, Src2);
|
||||
auto Odd = _VUnZip2(Size, ElementSize, Src1, Src2);
|
||||
|
||||
@@ -3543,7 +3539,10 @@ Ref OpDispatchBuilder::PHADDSOpImpl(OpcodeArgs, const X86Tables::DecodedOperand&
|
||||
}
|
||||
|
||||
void OpDispatchBuilder::PHADDS(OpcodeArgs) {
|
||||
Ref Result = PHADDSOpImpl(Op, Op->Dest, Op->Src[0]);
|
||||
Ref Src1 = LoadSource(FPRClass, Op, Op->Dest, Op->Flags);
|
||||
Ref Src2 = LoadSource(FPRClass, Op, Op->Src[0], Op->Flags);
|
||||
|
||||
Ref Result = PHADDSOpImpl(OpSizeFromSrc(Op), Src1, Src2);
|
||||
StoreResult(FPRClass, Op, Result, -1);
|
||||
}
|
||||
|
||||
@@ -3551,7 +3550,10 @@ void OpDispatchBuilder::VPHADDSWOp(OpcodeArgs) {
|
||||
const auto SrcSize = GetSrcSize(Op);
|
||||
const auto Is256Bit = SrcSize == Core::CPUState::XMM_AVX_REG_SIZE;
|
||||
|
||||
Ref Result = PHADDSOpImpl(Op, Op->Src[0], Op->Src[1]);
|
||||
Ref Src1 = LoadSource(FPRClass, Op, Op->Src[0], Op->Flags);
|
||||
Ref Src2 = LoadSource(FPRClass, Op, Op->Src[1], Op->Flags);
|
||||
|
||||
Ref Result = PHADDSOpImpl(OpSizeFromSrc(Op), Src1, Src2);
|
||||
Ref Dest = Result;
|
||||
|
||||
if (Is256Bit) {
|
||||
|
||||
Reference in new issue
Block a user