Merge pull request #9566 from Sintendo/jit64divwx

Jit64: Optimize divwx
This commit is contained in:
LC
2021-03-22 14:40:02 -04:00
committed by GitHub
8 changed files with 329 additions and 5 deletions

View File

@ -0,0 +1,33 @@
// Copyright 2021 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include <gtest/gtest.h>
#include "Core/PowerPC/JitCommon/DivUtils.h"
using namespace JitCommon;
TEST(DivUtils, Signed)
{
Magic m3 = SignedDivisionConstants(3);
Magic m5 = SignedDivisionConstants(5);
Magic m7 = SignedDivisionConstants(7);
Magic minus3 = SignedDivisionConstants(-3);
Magic minus5 = SignedDivisionConstants(-5);
Magic minus7 = SignedDivisionConstants(-7);
EXPECT_EQ(0x55555556, m3.multiplier);
EXPECT_EQ(0, m3.shift);
EXPECT_EQ(0x66666667, m5.multiplier);
EXPECT_EQ(1, m5.shift);
EXPECT_EQ(-0x6DB6DB6D, m7.multiplier);
EXPECT_EQ(2, m7.shift);
EXPECT_EQ(-0x55555556, minus3.multiplier);
EXPECT_EQ(0, minus3.shift);
EXPECT_EQ(-0x66666667, minus5.multiplier);
EXPECT_EQ(1, minus5.shift);
EXPECT_EQ(0x6DB6DB6D, minus7.multiplier);
EXPECT_EQ(2, minus7.shift);
}

View File

@ -69,6 +69,7 @@
<ClCompile Include="Core\IOS\FS\FileSystemTest.cpp" />
<ClCompile Include="Core\MMIOTest.cpp" />
<ClCompile Include="Core\PageFaultTest.cpp" />
<ClCompile Include="DivUtilsTest.cpp" />
<ClCompile Include="FileUtil.cpp" />
<ClCompile Include="VideoCommon\VertexLoaderTest.cpp" />
<ClCompile Include="StubHost.cpp" />