OpcodeDispatcher: tweak PMULLOpImpl for avx128

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
Alyssa Rosenzweig committed 2024-06-24 14:14:23 -04:00
1 parent 8ff72beddb
commit fd5fbddae9
2 files changed
+5 -7

No files matched your search

@@ -1224,7 +1224,7 @@ private:
Ref PMULHWOpImpl(OpcodeArgs, bool Signed, Ref Src1, Ref Src2);
Ref PMULLOpImpl(OpcodeArgs, size_t ElementSize, bool Signed, Ref Src1, Ref Src2);
Ref PMULLOpImpl(OpSize Size, size_t ElementSize, bool Signed, Ref Src1, Ref Src2);
Ref PSADBWOpImpl(size_t Size, Ref Src1, Ref Src2);
@@ -3031,10 +3031,8 @@ void OpDispatchBuilder::VPACKSSOp(OpcodeArgs) {
template void OpDispatchBuilder::VPACKSSOp<2>(OpcodeArgs);
template void OpDispatchBuilder::VPACKSSOp<4>(OpcodeArgs);
Ref OpDispatchBuilder::PMULLOpImpl(OpcodeArgs, size_t ElementSize, bool Signed, Ref Src1, Ref Src2) {
const auto Size = GetSrcSize(Op);
if (Size == 8) {
Ref OpDispatchBuilder::PMULLOpImpl(OpSize Size, size_t ElementSize, bool Signed, Ref Src1, Ref Src2) {
if (Size == OpSize::i64Bit) {
if (Signed) {
return _VSMull(16, ElementSize, Src1, Src2);
} else {
@@ -3058,7 +3056,7 @@ void OpDispatchBuilder::PMULLOp(OpcodeArgs) {
Ref Src1 = LoadSource(FPRClass, Op, Op->Dest, Op->Flags);
Ref Src2 = LoadSource(FPRClass, Op, Op->Src[0], Op->Flags);
Ref Res = PMULLOpImpl(Op, ElementSize, Signed, Src1, Src2);
Ref Res = PMULLOpImpl(OpSizeFromSrc(Op), ElementSize, Signed, Src1, Src2);
StoreResult(FPRClass, Op, Res, -1);
}
@@ -3072,7 +3070,7 @@ void OpDispatchBuilder::VPMULLOp(OpcodeArgs) {
Ref Src1 = LoadSource(FPRClass, Op, Op->Src[0], Op->Flags);
Ref Src2 = LoadSource(FPRClass, Op, Op->Src[1], Op->Flags);
Ref Result = PMULLOpImpl(Op, ElementSize, Signed, Src1, Src2);
Ref Result = PMULLOpImpl(OpSizeFromSrc(Op), ElementSize, Signed, Src1, Src2);
StoreResult(FPRClass, Op, Result, -1);
}