- Removed custom memcpy routines as they're slower than

the libc ones (check profiling numbers on the developers
list).
This commit is contained in:
shashClp 2008-12-30 02:32:48 +00:00
parent e6b450ed9c
commit 9b770347c3
8 changed files with 206 additions and 736 deletions

View File

@ -2564,7 +2564,7 @@ void GPU_ligne(NDS_Screen * screen, u16 l)
{
u8 * dst = GPU_screen + (screen->offset + l) * 512;
u8 * src = gpu->VRAMaddr + (l*512);
GPU_copyLine(dst, src);
memcpy (dst, src, 512);
}
break;
case 3:

View File

@ -625,7 +625,7 @@ static void setTexture(unsigned int format, unsigned int texpal)
texcache[i].coord=(format>>30);
texcache[i].invSizeX=1.0f/((float)(sizeX*(1<<4)));
texcache[i].invSizeY=1.0f/((float)(sizeY*(1<<4)));
memcpy_fast(texcache[i].texture,adr,std::min((size_t)imageSize,sizeof(texcache[i].texture)));
memcpy (texcache[i].texture,adr,std::min((size_t)imageSize,sizeof(texcache[i].texture)));
texcache[i].numcolors=palSize[texcache[i].mode];
texcache[i].frm=format;

View File

@ -1,27 +0,0 @@
;
; Copyright (C) 2006 yopyop
; Copyright (C) 2008 CrazyMax
;
; This file is part of DeSmuME
;
; DeSmuME is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; DeSmuME is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with DeSmuME; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
TITLE common-x64.asm
.code
NOP_x64 PROC PUBLIC
ENDP
end

View File

@ -1,104 +0,0 @@
;
; Copyright (C) 2006 yopyop
; Copyright (C) 2008 CrazyMax
;
; This file is part of DeSmuME
;
; DeSmuME is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; DeSmuME is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with DeSmuME; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
TITLE common-x86.asm
.686P
.XMM
.model flat
.code
@memcpy_fast@12 PROC PUBLIC
push esi
push edi ; cauntion: stack increased on 8
mov esi, edx
mov edi, ecx
mov ecx, [esp+12]
cmp ecx, 40h ; 64 bytes
jl remain_loop ;not enought bytes
mov eax, ecx
shr eax, 6
and ecx, 63
ALIGN 8
loop_copy:
movq mm0, [esi]
movq mm1, [esi+ 8]
movntq [edi], mm0
movntq [edi+8], mm1
movq mm2, [esi+16]
movq mm3, [esi+24]
movntq [edi+16], mm2
movntq [edi+24], mm3
movq mm4, [esi+32]
movq mm5, [esi+40]
movntq [edi+32], mm4
movntq [edi+40], mm5
movq mm6, [esi+48]
movq mm7, [esi+56]
movntq [edi+48], mm6
movntq [edi+56], mm7
add esi, 64
add edi, 64
dec eax
jne loop_copy
emms
remain_loop:
rep movsb
end_loop:
pop edi
pop esi
ret 4
@memcpy_fast@12 ENDP
@GPU_copyLine@8 PROC PUBLIC
mov eax, 8
ALIGN 8
loop_copy:
movq mm0, [edx]
movq mm1, [edx+8]
movntq [ecx], mm0
movntq [ecx+8], mm1
movq mm2, [edx+16]
movq mm3, [edx+24]
movntq [ecx+16], mm2
movntq [ecx+24], mm3
movq mm4, [edx+32]
movq mm5, [edx+40]
movntq [ecx+32], mm4
movntq [ecx+40], mm5
movq mm6, [edx+48]
movq mm7, [edx+56]
movntq [ecx+48], mm6
movntq [ecx+56], mm7
add edx, 64
add ecx, 64
dec eax
jne loop_copy
emms
ret 0
@GPU_copyLine@8 ENDP
end

View File

@ -28,35 +28,18 @@
#include "types.h"
#ifdef WIN32
#define _WINSOCKAPI_
#include <windows.h>
#define _WINSOCKAPI_
#include <windows.h>
#define CLASSNAME "DeSmuME"
#define CLASSNAME "DeSmuME"
extern HINSTANCE hAppInst;
extern HINSTANCE hAppInst;
extern char IniName[MAX_PATH];
extern void GetINIPath();
extern void WritePrivateProfileInt(char* appname, char* keyname, int val, char* file);
// temporally while fix x64 build
#ifndef _WIN64
#define memcpy_fast(d,s,c) memcpy(d,s,c)
#define GPU_copyLine(d,s) memcpy(d,s,512)
#else
extern "C"
{
void __fastcall memcpy_fast(void* dest, void* src, size_t count);
void __fastcall GPU_copyLine(void* dest, const void* src);
}
extern char IniName[MAX_PATH];
extern void GetINIPath();
extern void WritePrivateProfileInt(char* appname, char* keyname, int val, char* file);
#endif
// check it in other ports
#else
#define memcpy_fast(d,s,c) memcpy(d,s,c)
#define GPU_copyLine(d,s) memcpy(d,s,512)
#endif
extern u8 reverseBitsInByte(u8 x);
extern u8 reverseBitsInByte(u8 x);
#endif

View File

@ -1,27 +0,0 @@
;
; Copyright (C) 2006 yopyop
; Copyright (C) 2008 CrazyMax
;
; This file is part of DeSmuME
;
; DeSmuME is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; DeSmuME is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with DeSmuME; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
TITLE common_sse2-x64.asm
.code
NOP_SSE2_x64 PROC PUBLIC
ENDP
end

View File

@ -1,151 +0,0 @@
;
; Copyright (C) 2006 yopyop
; Copyright (C) 2008 CrazyMax
;
; This file is part of DeSmuME
;
; DeSmuME is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; DeSmuME is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with DeSmuME; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
TITLE common_sse2-x86.asm
.686P
.XMM
.model flat
.code
@memcpy_fast@12 PROC PUBLIC
push esi
push edi
mov esi, edx
mov edi, ecx
mov ecx, [esp+12]
prefetchnta [esi]
prefetchnta [esi+64]
prefetchnta [esi+128]
prefetchnta [esi+192]
prefetchnta [esi+256]
cmp ecx, 40h ; 64 bytes
jl remain_loop ;not enought bytes
mov edx, edi
and edx, 15
je _aligned
mov eax, ecx
sub edx, 16
neg edx
sub eax, edx
mov ecx, edx
rep movsb
mov ecx, eax
_aligned:
mov eax, ecx
shr eax, 6
and ecx, 63
test esi, 15
je aligned_copy_loop
ALIGN 8
unaligned_copy_loop:
prefetchnta [esi+320]
movups xmm0, [esi]
movups xmm1, [esi+16]
movntps [edi], xmm0
movntps [edi+16], xmm1
movups xmm2, [esi+32]
movups xmm3, [esi+48]
movntps [edi+32], xmm2
movntps [edi+48], xmm3
add esi, 64
add edi, 64
dec eax
jne unaligned_copy_loop
sfence
jmp remain_loop
ALIGN 8
aligned_copy_loop:
prefetchnta [esi+320]
movaps xmm0, [esi]
movaps xmm1, [esi+16]
movntps [edi], xmm0
movntps [edi+16], xmm1
movaps xmm2, [esi+32]
movaps xmm3, [esi+48]
movntps [edi+32], xmm2
movntps [edi+48], xmm3
add esi, 64
add edi, 64
dec eax
jne aligned_copy_loop
sfence
remain_loop:
cmp ecx, 3
jg remain_loop2
rep movsb
pop edi
pop esi
ret 4
remain_loop2:
mov eax, ecx
shr ecx, 2
rep movsd
test al, 2
je skip_word
movsw
skip_word:
test al, 1
je end_loop
movsb
end_loop:
pop edi
pop esi
ret 4
@memcpy_fast@12 ENDP
@GPU_copyLine@8 PROC PUBLIC
prefetchnta [edx]
prefetchnta [edx+64]
prefetchnta [edx+128]
prefetchnta [edx+192]
prefetchnta [edx+256]
mov eax, 8
aligned_copy_loop:
prefetchnta [edx+320]
movaps xmm0, [edx]
movaps xmm1, [edx+16]
movntps [ecx], xmm0
movntps [ecx+16], xmm1
movaps xmm2, [edx+32]
movaps xmm3, [edx+48]
movntps [ecx+32], xmm2
movntps [ecx+48], xmm3
add edx, 64
add ecx, 64
dec eax
jne aligned_copy_loop
sfence
ret 0
@GPU_copyLine@8 ENDP
end

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="shift_jis"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Version="9,00"
Name="DeSmuME_VS2008"
ProjectGUID="{9F5F72A1-D3A5-4918-B460-E076B16D10A9}"
RootNamespace="DeSmuME"
@ -105,92 +105,6 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(SolutionDir)\__bins"
IntermediateDirectory="$(SolutionDir)\.VS2008\$(ConfigurationName)\$(PlatformName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
InlineFunctionExpansion="0"
EnableIntrinsicFunctions="false"
FavorSizeOrSpeed="0"
EnableFiberSafeOptimizations="false"
WholeProgramOptimization="false"
AdditionalIncludeDirectories=".;..;.\zlib123;.\zziplib"
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;VERSION=\&quot;DEBUG\&quot;;WIN32;BETA_VERSION;SPU_INTERPOLATE;NOMINMAX"
ExceptionHandling="1"
BufferSecurityCheck="false"
EnableEnhancedInstructionSet="0"
DebugInformationFormat="3"
CallingConvention="1"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="vfw32.lib winmm.lib comctl32.lib opengl32.lib glu32.lib ws2_32.lib user32.lib gdi32.lib directx.x64\dxguid.lib shell32.lib comdlg32.lib directx.x64\dxerr9.lib directx.x64\dsound.lib directx.x64\dinput8.lib directx.x64\ddraw.lib shlwapi.lib"
OutputFile="$(OutDir)\$(ProjectName)_x64_debug.exe"
AdditionalLibraryDirectories=".\zlib123;.\zziplib"
GenerateDebugInformation="true"
GenerateMapFile="true"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
AdditionalManifestFiles="DeSmuME_x86.manifest"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release (SSE2)|Win32"
OutputDirectory="$(SolutionDir)\__bins"
@ -281,6 +195,181 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)\__bins"
IntermediateDirectory="$(SolutionDir)\.VS2008\$(ConfigurationName)\$(PlatformName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
EnableFiberSafeOptimizations="true"
WholeProgramOptimization="true"
AdditionalIncludeDirectories=".;..;.\zlib123;.\zziplib"
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;VERSION=\&quot;0.8.0b2\&quot;;WIN32;HAVE_LIBZ;HAVE_LIBZZIP;BETA_VERSION;SPU_INTERPOLATE;NOMINMAX"
StringPooling="true"
ExceptionHandling="1"
BufferSecurityCheck="false"
EnableEnhancedInstructionSet="2"
FloatingPointModel="2"
WarningLevel="1"
DebugInformationFormat="3"
CallingConvention="1"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="vfw32.lib winmm.lib comctl32.lib opengl32.lib glu32.lib ws2_32.lib user32.lib gdi32.lib directx\dxguid.lib shell32.lib comdlg32.lib directx\dxerr8.lib directx\dsound.lib directx\dinput8.lib directx\ddraw.lib zlib-2008-x32.lib zziplib-2008-x32.lib shlwapi.lib"
OutputFile="$(OutDir)\$(ProjectName).exe"
AdditionalLibraryDirectories=".\zlib123;.\zziplib"
GenerateDebugInformation="true"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
Profile="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
AdditionalManifestFiles="DeSmuME_x86.manifest"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(SolutionDir)\__bins"
IntermediateDirectory="$(SolutionDir)\.VS2008\$(ConfigurationName)\$(PlatformName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
InlineFunctionExpansion="0"
EnableIntrinsicFunctions="false"
FavorSizeOrSpeed="0"
EnableFiberSafeOptimizations="false"
WholeProgramOptimization="false"
AdditionalIncludeDirectories=".;..;.\zlib123;.\zziplib"
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;VERSION=\&quot;DEBUG\&quot;;WIN32;BETA_VERSION;SPU_INTERPOLATE;NOMINMAX"
ExceptionHandling="1"
BufferSecurityCheck="false"
EnableEnhancedInstructionSet="0"
DebugInformationFormat="3"
CallingConvention="1"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="vfw32.lib winmm.lib comctl32.lib opengl32.lib glu32.lib ws2_32.lib user32.lib gdi32.lib directx.x64\dxguid.lib shell32.lib comdlg32.lib directx.x64\dxerr9.lib directx.x64\dsound.lib directx.x64\dinput8.lib directx.x64\ddraw.lib shlwapi.lib"
OutputFile="$(OutDir)\$(ProjectName)_x64_debug.exe"
AdditionalLibraryDirectories=".\zlib123;.\zziplib"
GenerateDebugInformation="true"
GenerateMapFile="true"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
AdditionalManifestFiles="DeSmuME_x86.manifest"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release (SSE2)|x64"
OutputDirectory="$(SolutionDir)\__bins"
@ -372,95 +461,6 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)\__bins"
IntermediateDirectory="$(SolutionDir)\.VS2008\$(ConfigurationName)\$(PlatformName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
EnableFiberSafeOptimizations="true"
WholeProgramOptimization="true"
AdditionalIncludeDirectories=".;..;.\zlib123;.\zziplib"
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;VERSION=\&quot;0.8.0b2\&quot;;WIN32;HAVE_LIBZ;HAVE_LIBZZIP;BETA_VERSION;SPU_INTERPOLATE;NOMINMAX"
StringPooling="true"
ExceptionHandling="1"
BufferSecurityCheck="false"
EnableEnhancedInstructionSet="2"
FloatingPointModel="2"
WarningLevel="1"
DebugInformationFormat="3"
CallingConvention="1"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="vfw32.lib winmm.lib comctl32.lib opengl32.lib glu32.lib ws2_32.lib user32.lib gdi32.lib directx\dxguid.lib shell32.lib comdlg32.lib directx\dxerr8.lib directx\dsound.lib directx\dinput8.lib directx\ddraw.lib zlib-2008-x32.lib zziplib-2008-x32.lib shlwapi.lib"
OutputFile="$(OutDir)\$(ProjectName).exe"
AdditionalLibraryDirectories=".\zlib123;.\zziplib"
GenerateDebugInformation="true"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
Profile="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
AdditionalManifestFiles="DeSmuME_x86.manifest"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(SolutionDir)\__bins"
@ -739,210 +739,6 @@
<Filter
Name="asm"
>
<File
RelativePath="..\common-x64.asm"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Release (SSE2)|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Release (SSE2)|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\common-x86.asm"
>
<FileConfiguration
Name="Debug|x64"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Release (SSE2)|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Release (SSE2)|x64"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\common_sse2-x64.asm"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Release (SSE2)|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Release (SSE2)|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\common_sse2-x86.asm"
>
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Release (SSE2)|x64"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\matrix_sse2-x64.asm"
>
@ -956,16 +752,6 @@
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Release (SSE2)|Win32"
ExcludedFromBuild="true"
@ -978,7 +764,8 @@
/>
</FileConfiguration>
<FileConfiguration
Name="Release (SSE2)|x64"
Name="Release|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
@ -988,9 +775,18 @@
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
Name="Debug|x64"
ExcludedFromBuild="true"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
CommandLine="ml64 /nologo /c /Zi /Fo&quot;$(IntDir)\$(InputName).obj&quot; &quot;$(InputPath)&quot;&#x0D;&#x0A;"
/>
</FileConfiguration>
<FileConfiguration
Name="Release (SSE2)|x64"
>
<Tool
Name="VCCustomBuildTool"
Description="Assembling x64..."
@ -1021,6 +817,14 @@
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
ExcludedFromBuild="true"
@ -1037,14 +841,6 @@
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="MASM"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
ExcludedFromBuild="true"