Merge pull request #10801 from SparkiDev/windows_asm_1

Add Windows assembly files to the build
This commit is contained in:
David Garske
2026-07-07 14:26:31 -07:00
committed by GitHub
28 changed files with 150930 additions and 2240 deletions
+7 -1
View File
@@ -546,6 +546,12 @@ jobs:
fail-fast: false
matrix:
arch: [ x64, Win32, ARM64 ]
asm: [ false ]
include:
# Intel assembly build (x64 only): assembles the crypto .asm files
# and enables the matching USE_INTEL_SPEEDUP code paths.
- arch: x64
asm: true
# This should be a safe limit for the tests to run.
timeout-minutes: 6
env:
@@ -570,7 +576,7 @@ jobs:
working-directory: ${{env.GITHUB_WORKSPACE}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:PlatformToolset=v142 /p:Platform=${{matrix.arch}} /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}
run: msbuild /m /p:PlatformToolset=v142 /p:Platform=${{matrix.arch}} /p:Configuration=${{env.BUILD_CONFIGURATION}} /p:WolfSSLIntelAsm=${{matrix.asm}} ${{env.SOLUTION_FILE_PATH}}
- if: ${{ matrix.arch != 'ARM64' }}
name: Run Test
+8 -1
View File
@@ -13,6 +13,13 @@ jobs:
if: ${{ (github.repository_owner == 'wolfssl') && (github.event_name != 'pull_request' || github.event.pull_request.draft == false) }}
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
# false: pure C. true: assemble the crypto .asm files and enable the
# USE_INTEL_SPEEDUP code paths (x64).
asm: [ false, true ]
# This should be a safe limit for the tests to run.
timeout-minutes: 6
@@ -48,7 +55,7 @@ jobs:
working-directory: ${{env.GITHUB_WORKSPACE}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:PlatformToolset=v142 /p:Platform=${{env.BUILD_PLATFORM}} /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}
run: msbuild /m /p:PlatformToolset=v142 /p:Platform=${{env.BUILD_PLATFORM}} /p:Configuration=${{env.BUILD_CONFIGURATION}} /p:WolfSSLIntelAsm=${{matrix.asm}} ${{env.SOLUTION_FILE_PATH}}
- name: Run wolfCrypt test
working-directory: ${{env.GITHUB_WORKSPACE}}wolfssl\wrapper\CSharp\Debug\x64\
+8
View File
@@ -478,6 +478,14 @@
<ItemGroup>
<ClInclude Include="..\..\IDE\WIN\user_settings.h" />
</ItemGroup>
<!-- Keep USE_INTEL_SPEEDUP/WOLFSSL_X86_64_BUILD consistent with the library
(set by /p:WolfSSLIntelAsm=true) so struct layouts match; a mismatch
overruns hash/Hmac stack buffers. -->
<ItemDefinitionGroup Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>USE_INTEL_SPEEDUP;WOLFSSL_X86_64_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
+8
View File
@@ -478,6 +478,14 @@
<ItemGroup>
<ClInclude Include="..\..\IDE\WIN\user_settings.h" />
</ItemGroup>
<!-- Keep USE_INTEL_SPEEDUP/WOLFSSL_X86_64_BUILD consistent with the library
(set by /p:WolfSSLIntelAsm=true) so struct layouts match; a mismatch
overruns hash/Hmac stack buffers. -->
<ItemDefinitionGroup Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>USE_INTEL_SPEEDUP;WOLFSSL_X86_64_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
+8
View File
@@ -478,6 +478,14 @@
<ItemGroup>
<ClInclude Include="..\..\IDE\WIN\user_settings.h" />
</ItemGroup>
<!-- Keep USE_INTEL_SPEEDUP/WOLFSSL_X86_64_BUILD consistent with the library
(set by /p:WolfSSLIntelAsm=true) so struct layouts match; a mismatch
overruns hash/Hmac stack buffers. -->
<ItemDefinitionGroup Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>USE_INTEL_SPEEDUP;WOLFSSL_X86_64_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
+8
View File
@@ -478,6 +478,14 @@
<ItemGroup>
<ClInclude Include="..\..\IDE\WIN\user_settings.h" />
</ItemGroup>
<!-- Keep USE_INTEL_SPEEDUP/WOLFSSL_X86_64_BUILD consistent with the library
(set by /p:WolfSSLIntelAsm=true) so struct layouts match; a mismatch
overruns hash/Hmac stack buffers. -->
<ItemDefinitionGroup Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>USE_INTEL_SPEEDUP;WOLFSSL_X86_64_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
+8
View File
@@ -256,6 +256,14 @@
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<!-- Keep USE_INTEL_SPEEDUP/WOLFSSL_X86_64_BUILD consistent with the library
(set by /p:WolfSSLIntelAsm=true) so struct layouts match; a mismatch
overruns hash/Hmac stack buffers. -->
<ItemDefinitionGroup Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>USE_INTEL_SPEEDUP;WOLFSSL_X86_64_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
+270 -262
View File
@@ -1,263 +1,271 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{8C89E16E-9C36-45EF-A491-F4EBD4A8D8F1}</ProjectGuid>
<RootNamespace>sslSniffTest</RootNamespace>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>15.0.28307.799</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<LinkIncremental>true</LinkIncremental>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<LinkIncremental>true</LinkIncremental>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<LinkIncremental>false</LinkIncremental>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<LinkIncremental>false</LinkIncremental>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="snifftest.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\IDE\WIN\user_settings.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{8C89E16E-9C36-45EF-A491-F4EBD4A8D8F1}</ProjectGuid>
<RootNamespace>sslSniffTest</RootNamespace>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>15.0.28307.799</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<LinkIncremental>true</LinkIncremental>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<LinkIncremental>true</LinkIncremental>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<LinkIncremental>false</LinkIncremental>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<LinkIncremental>false</LinkIncremental>
<IntDir>$(Configuration)\$(Platform)\$(ProjectName)_obj\</IntDir>
<OutDir>$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
<TargetName>snifftest</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>../../../WpdPack/Include;../..;../../IDE/WIN;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;WOLFSSL_USER_SETTINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>wpcap.lib;Packet.lib;sslSniffer.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>../../../WpdPack/Lib/x64;$(SolutionDir)$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="snifftest.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\IDE\WIN\user_settings.h" />
</ItemGroup>
<!-- Keep USE_INTEL_SPEEDUP/WOLFSSL_X86_64_BUILD consistent with the library
(set by /p:WolfSSLIntelAsm=true) so struct layouts match; a mismatch
overruns hash/Hmac stack buffers. -->
<ItemDefinitionGroup Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>USE_INTEL_SPEEDUP;WOLFSSL_X86_64_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+8
View File
@@ -484,6 +484,14 @@
<ItemGroup>
<ClInclude Include="..\IDE\WIN\user_settings.h" />
</ItemGroup>
<!-- Keep USE_INTEL_SPEEDUP/WOLFSSL_X86_64_BUILD consistent with the library
(set by /p:WolfSSLIntelAsm=true) so struct layouts match; a mismatch
overruns hash/Hmac stack buffers. -->
<ItemDefinitionGroup Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>USE_INTEL_SPEEDUP;WOLFSSL_X86_64_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+38 -38
View File
@@ -1141,7 +1141,7 @@ AES_CTR_encrypt_AESNI:
.p2align 4
_AES_CTR_encrypt_AESNI:
#endif /* __APPLE__ */
pushq %rbx
pushq %r12
movdqu L_aes_ctr_aesni_bswap(%rip), %xmm8
movdqu L_aes_ctr_aesni_one(%rip), %xmm9
pxor %xmm10, %xmm10
@@ -1156,7 +1156,7 @@ L_AES_CTR_encrypt_AESNI_enc_64:
# 64 bytes of input
# aes_ctr_enc_64
leaq (%rdi,%rax,1), %r11
leaq (%rsi,%rax,1), %rbx
leaq (%rsi,%rax,1), %r12
movdqa %xmm7, %xmm0
pshufb %xmm8, %xmm0
paddq %xmm9, %xmm7
@@ -1278,10 +1278,10 @@ L_AES_CTR_encrypt_AESNI_64_aes_enc_block_last:
pxor %xmm4, %xmm2
movdqu 48(%r11), %xmm4
pxor %xmm4, %xmm3
movdqu %xmm0, (%rbx)
movdqu %xmm1, 16(%rbx)
movdqu %xmm2, 32(%rbx)
movdqu %xmm3, 48(%rbx)
movdqu %xmm0, (%r12)
movdqu %xmm1, 16(%r12)
movdqu %xmm2, 32(%r12)
movdqu %xmm3, 48(%r12)
addl $0x40, %eax
cmpl %r10d, %eax
jl L_AES_CTR_encrypt_AESNI_enc_64
@@ -1346,7 +1346,7 @@ L_AES_CTR_encrypt_AESNI_16_aes_enc_block_last:
L_AES_CTR_encrypt_AESNI_done_enc:
pshufb %xmm8, %xmm7
movdqu %xmm7, (%r9)
popq %rbx
popq %r12
repz retq
#ifndef __APPLE__
.size AES_CTR_encrypt_AESNI,.-AES_CTR_encrypt_AESNI
@@ -1972,7 +1972,7 @@ AES_CTR_encrypt_avx1:
.p2align 4
_AES_CTR_encrypt_avx1:
#endif /* __APPLE__ */
pushq %rbx
pushq %r12
vmovdqu L_aes_ctr_avx1_bswap(%rip), %xmm8
vmovdqu L_aes_ctr_avx1_one(%rip), %xmm9
vpxor %xmm10, %xmm10, %xmm10
@@ -1987,7 +1987,7 @@ L_AES_CTR_encrypt_avx1_enc_64:
# 64 bytes of input
# aes_ctr_enc_64
leaq (%rdi,%rax,1), %r11
leaq (%rsi,%rax,1), %rbx
leaq (%rsi,%rax,1), %r12
vpshufb %xmm8, %xmm7, %xmm0
vpaddq %xmm9, %xmm7, %xmm7
vpcmpeqq %xmm10, %xmm7, %xmm11
@@ -2097,10 +2097,10 @@ L_AES_CTR_encrypt_avx1_64_aes_enc_block_last:
vpxor 16(%r11), %xmm1, %xmm1
vpxor 32(%r11), %xmm2, %xmm2
vpxor 48(%r11), %xmm3, %xmm3
vmovdqu %xmm0, (%rbx)
vmovdqu %xmm1, 16(%rbx)
vmovdqu %xmm2, 32(%rbx)
vmovdqu %xmm3, 48(%rbx)
vmovdqu %xmm0, (%r12)
vmovdqu %xmm1, 16(%r12)
vmovdqu %xmm2, 32(%r12)
vmovdqu %xmm3, 48(%r12)
addl $0x40, %eax
cmpl %r10d, %eax
jl L_AES_CTR_encrypt_avx1_enc_64
@@ -2162,7 +2162,7 @@ L_AES_CTR_encrypt_avx1_16_aes_enc_block_last:
L_AES_CTR_encrypt_avx1_done_enc:
vpshufb %xmm8, %xmm7, %xmm7
vmovdqu %xmm7, (%r9)
popq %rbx
popq %r12
repz retq
#ifndef __APPLE__
.size AES_CTR_encrypt_avx1,.-AES_CTR_encrypt_avx1
@@ -3165,7 +3165,7 @@ AES_CTR_encrypt_vaes:
.p2align 4
_AES_CTR_encrypt_vaes:
#endif /* __APPLE__ */
pushq %rbx
pushq %r12
vbroadcasti128 L_aes_ctr_bswap_vaes(%rip), %ymm8
vbroadcasti128 (%r9), %ymm7
vpshufb %ymm8, %ymm7, %ymm7
@@ -3216,7 +3216,7 @@ _AES_CTR_encrypt_vaes:
L_AES_CTR_encrypt_vaes_enc_128:
# 128 bytes of input
leaq (%rdi,%rax,1), %r11
leaq (%rsi,%rax,1), %rbx
leaq (%rsi,%rax,1), %r12
vpshufb %ymm8, %ymm4, %ymm0
vpshufb %ymm8, %ymm5, %ymm1
vpshufb %ymm8, %ymm6, %ymm2
@@ -3342,10 +3342,10 @@ L_AES_CTR_encrypt_vaes_128_aes_enc_block_last:
vpxor 32(%r11), %ymm1, %ymm1
vpxor 64(%r11), %ymm2, %ymm2
vpxor 96(%r11), %ymm3, %ymm3
vmovdqu %ymm0, (%rbx)
vmovdqu %ymm1, 32(%rbx)
vmovdqu %ymm2, 64(%rbx)
vmovdqu %ymm3, 96(%rbx)
vmovdqu %ymm0, (%r12)
vmovdqu %ymm1, 32(%r12)
vmovdqu %ymm2, 64(%r12)
vmovdqu %ymm3, 96(%r12)
addl $0x80, %eax
cmpl %r10d, %eax
jl L_AES_CTR_encrypt_vaes_enc_128
@@ -3359,7 +3359,7 @@ L_AES_CTR_encrypt_vaes_done_128:
vbroadcasti128 64+L_aes_ctr_inc_vaes(%rip), %ymm11
# aes_ctr_enc_64
leaq (%rdi,%rax,1), %r11
leaq (%rsi,%rax,1), %rbx
leaq (%rsi,%rax,1), %r12
vpaddq 0+L_aes_ctr_inc_vaes(%rip), %ymm7, %ymm0
vmovdqa %ymm7, %ymm9
vpand 0+L_aes_ctr_inc_vaes(%rip), %ymm9, %ymm15
@@ -3442,8 +3442,8 @@ L_AES_CTR_encrypt_vaes_64_aes_enc_block_last:
vaesenclast %ymm14, %ymm1, %ymm1
vpxor (%r11), %ymm0, %ymm0
vpxor 32(%r11), %ymm1, %ymm1
vmovdqu %ymm0, (%rbx)
vmovdqu %ymm1, 32(%rbx)
vmovdqu %ymm0, (%r12)
vmovdqu %ymm1, 32(%r12)
addl $0x40, %eax
L_AES_CTR_encrypt_vaes_done_64:
movl %edx, %r10d
@@ -3454,7 +3454,7 @@ L_AES_CTR_encrypt_vaes_enc_32:
# 32 bytes of input
# aes_ctr_enc_32
leaq (%rdi,%rax,1), %r11
leaq (%rsi,%rax,1), %rbx
leaq (%rsi,%rax,1), %r12
vpaddq 0+L_aes_ctr_inc_vaes(%rip), %ymm7, %ymm0
vmovdqa %ymm7, %ymm9
vpand 0+L_aes_ctr_inc_vaes(%rip), %ymm9, %ymm15
@@ -3511,7 +3511,7 @@ L_AES_CTR_encrypt_vaes_enc_32:
L_AES_CTR_encrypt_vaes_32_aes_enc_block_last:
vaesenclast %ymm14, %ymm0, %ymm0
vpxor (%r11), %ymm0, %ymm0
vmovdqu %ymm0, (%rbx)
vmovdqu %ymm0, (%r12)
addl $32, %eax
cmpl %r10d, %eax
jl L_AES_CTR_encrypt_vaes_enc_32
@@ -3577,7 +3577,7 @@ L_AES_CTR_encrypt_vaes_16_aes_enc_block_last:
L_AES_CTR_encrypt_vaes_done_enc:
vpshufb %xmm8, %xmm7, %xmm0
vmovdqu %xmm0, (%r9)
popq %rbx
popq %r12
repz retq
#ifndef __APPLE__
.size AES_CTR_encrypt_vaes,.-AES_CTR_encrypt_vaes
@@ -4648,7 +4648,7 @@ AES_CTR_encrypt_avx512:
.p2align 4
_AES_CTR_encrypt_avx512:
#endif /* __APPLE__ */
pushq %rbx
pushq %r12
vbroadcasti32x4 L_aes_ctr_bswap_avx512(%rip), %zmm8
vbroadcasti32x4 (%r9), %zmm7
vpshufb %zmm8, %zmm7, %zmm7
@@ -4709,7 +4709,7 @@ L_AES_CTR_encrypt_avx512_key_cached:
L_AES_CTR_encrypt_avx512_enc_256:
# 256 bytes of input
leaq (%rdi,%rax,1), %r11
leaq (%rsi,%rax,1), %rbx
leaq (%rsi,%rax,1), %r12
vpshufb %zmm8, %zmm4, %zmm0
vpshufb %zmm8, %zmm5, %zmm1
vpshufb %zmm8, %zmm6, %zmm2
@@ -4811,10 +4811,10 @@ L_AES_CTR_encrypt_avx512_256_aes_enc_block_last:
vpxorq 64(%r11), %zmm1, %zmm1
vpxorq 128(%r11), %zmm2, %zmm2
vpxorq 192(%r11), %zmm3, %zmm3
vmovdqu64 %zmm0, (%rbx)
vmovdqu64 %zmm1, 64(%rbx)
vmovdqu64 %zmm2, 128(%rbx)
vmovdqu64 %zmm3, 192(%rbx)
vmovdqu64 %zmm0, (%r12)
vmovdqu64 %zmm1, 64(%r12)
vmovdqu64 %zmm2, 128(%r12)
vmovdqu64 %zmm3, 192(%r12)
addl $0x100, %eax
cmpl %r10d, %eax
jl L_AES_CTR_encrypt_avx512_enc_256
@@ -4828,7 +4828,7 @@ L_AES_CTR_encrypt_avx512_done_256:
vbroadcasti32x4 128+L_aes_ctr_inc_avx512(%rip), %zmm11
# aes_ctr_enc_128
leaq (%rdi,%rax,1), %r11
leaq (%rsi,%rax,1), %rbx
leaq (%rsi,%rax,1), %r12
vpaddq 0+L_aes_ctr_inc_avx512(%rip), %zmm7, %zmm0
vmovdqa64 %zmm7, %zmm9
vpternlogq $0xb2, 0+L_aes_ctr_inc_avx512(%rip), %zmm0, %zmm9
@@ -4890,8 +4890,8 @@ L_AES_CTR_encrypt_avx512_128_aes_enc_block_last:
vaesenclast %zmm14, %zmm1, %zmm1
vpxorq (%r11), %zmm0, %zmm0
vpxorq 64(%r11), %zmm1, %zmm1
vmovdqu64 %zmm0, (%rbx)
vmovdqu64 %zmm1, 64(%rbx)
vmovdqu64 %zmm0, (%r12)
vmovdqu64 %zmm1, 64(%r12)
addl $0x80, %eax
L_AES_CTR_encrypt_avx512_done_128:
movl %edx, %r10d
@@ -4902,7 +4902,7 @@ L_AES_CTR_encrypt_avx512_enc_64:
# 64 bytes of input
# aes_ctr_enc_64
leaq (%rdi,%rax,1), %r11
leaq (%rsi,%rax,1), %rbx
leaq (%rsi,%rax,1), %r12
vpaddq 0+L_aes_ctr_inc_avx512(%rip), %zmm7, %zmm0
vmovdqa64 %zmm7, %zmm9
vpternlogq $0xb2, 0+L_aes_ctr_inc_avx512(%rip), %zmm0, %zmm9
@@ -4941,7 +4941,7 @@ L_AES_CTR_encrypt_avx512_enc_64:
L_AES_CTR_encrypt_avx512_64_aes_enc_block_last:
vaesenclast %zmm14, %zmm0, %zmm0
vpxorq (%r11), %zmm0, %zmm0
vmovdqu64 %zmm0, (%rbx)
vmovdqu64 %zmm0, (%r12)
addl $0x40, %eax
cmpl %r10d, %eax
jl L_AES_CTR_encrypt_avx512_enc_64
@@ -5053,7 +5053,7 @@ L_AES_CTR_encrypt_avx512_16_aes_enc_block_last:
L_AES_CTR_encrypt_avx512_done_enc:
vpshufb %xmm8, %xmm7, %xmm0
vmovdqu %xmm0, (%r9)
popq %rbx
popq %r12
repz retq
#ifndef __APPLE__
.size AES_CTR_encrypt_avx512,.-AES_CTR_encrypt_avx512
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+72 -80
View File
@@ -462,26 +462,22 @@ _TEXT ENDS
IFDEF HAVE_INTEL_AVX1
_DATA SEGMENT
ALIGN 16
L_chacha20_avx1_rotl8 QWORD \
0605040702010003h, 0e0d0c0f0a09080bh
L_chacha20_avx1_rotl8 QWORD 0605040702010003h, 0e0d0c0f0a09080bh
ptr_L_chacha20_avx1_rotl8 QWORD L_chacha20_avx1_rotl8
_DATA ENDS
_DATA SEGMENT
ALIGN 16
L_chacha20_avx1_rotl16 QWORD \
0504070601000302h, 0d0c0f0e09080b0ah
L_chacha20_avx1_rotl16 QWORD 0504070601000302h, 0d0c0f0e09080b0ah
ptr_L_chacha20_avx1_rotl16 QWORD L_chacha20_avx1_rotl16
_DATA ENDS
_DATA SEGMENT
ALIGN 16
L_chacha20_avx1_add QWORD \
0000000100000000h, 0000000300000002h
L_chacha20_avx1_add QWORD 0000000100000000h, 0000000300000002h
ptr_L_chacha20_avx1_add QWORD L_chacha20_avx1_add
_DATA ENDS
_DATA SEGMENT
ALIGN 16
L_chacha20_avx1_four QWORD \
0000000400000004h, 0000000400000004h
L_chacha20_avx1_four QWORD 0000000400000004h, 0000000400000004h
ptr_L_chacha20_avx1_four QWORD L_chacha20_avx1_four
_DATA ENDS
_TEXT SEGMENT READONLY PARA
@@ -1019,30 +1015,26 @@ ENDIF
IFDEF HAVE_INTEL_AVX2
_DATA SEGMENT
ALIGN 16
L_chacha20_avx2_rotl8 QWORD \
0605040702010003h, 0e0d0c0f0a09080bh,
0605040702010003h, 0e0d0c0f0a09080bh
L_chacha20_avx2_rotl8 QWORD 0605040702010003h, 0e0d0c0f0a09080bh
QWORD 0605040702010003h, 0e0d0c0f0a09080bh
ptr_L_chacha20_avx2_rotl8 QWORD L_chacha20_avx2_rotl8
_DATA ENDS
_DATA SEGMENT
ALIGN 16
L_chacha20_avx2_rotl16 QWORD \
0504070601000302h, 0d0c0f0e09080b0ah,
0504070601000302h, 0d0c0f0e09080b0ah
L_chacha20_avx2_rotl16 QWORD 0504070601000302h, 0d0c0f0e09080b0ah
QWORD 0504070601000302h, 0d0c0f0e09080b0ah
ptr_L_chacha20_avx2_rotl16 QWORD L_chacha20_avx2_rotl16
_DATA ENDS
_DATA SEGMENT
ALIGN 16
L_chacha20_avx2_add QWORD \
0000000100000000h, 0000000300000002h,
0000000500000004h, 0000000700000006h
L_chacha20_avx2_add QWORD 0000000100000000h, 0000000300000002h
QWORD 0000000500000004h, 0000000700000006h
ptr_L_chacha20_avx2_add QWORD L_chacha20_avx2_add
_DATA ENDS
_DATA SEGMENT
ALIGN 16
L_chacha20_avx2_eight QWORD \
0000000800000008h, 0000000800000008h,
0000000800000008h, 0000000800000008h
L_chacha20_avx2_eight QWORD 0000000800000008h, 0000000800000008h
QWORD 0000000800000008h, 0000000800000008h
ptr_L_chacha20_avx2_eight QWORD L_chacha20_avx2_eight
_DATA ENDS
_TEXT SEGMENT READONLY PARA
@@ -1093,29 +1085,29 @@ chacha_encrypt_avx2 PROC
vpbroadcastd ymm14, DWORD PTR [rcx+56]
vpbroadcastd ymm15, DWORD PTR [rcx+60]
vpaddd ymm12, ymm12, YMMWORD PTR [r15]
vmovdqa YMMWORD PTR [r11], ymm0
vmovdqa YMMWORD PTR [r11+32], ymm1
vmovdqa YMMWORD PTR [r11+64], ymm2
vmovdqa YMMWORD PTR [r11+96], ymm3
vmovdqa YMMWORD PTR [r11+128], ymm4
vmovdqa YMMWORD PTR [r11+160], ymm5
vmovdqa YMMWORD PTR [r11+192], ymm6
vmovdqa YMMWORD PTR [r11+224], ymm7
vmovdqa YMMWORD PTR [r11+256], ymm8
vmovdqa YMMWORD PTR [r11+288], ymm9
vmovdqa YMMWORD PTR [r11+320], ymm10
vmovdqa YMMWORD PTR [r11+352], ymm11
vmovdqa YMMWORD PTR [r11+384], ymm12
vmovdqa YMMWORD PTR [r11+416], ymm13
vmovdqa YMMWORD PTR [r11+448], ymm14
vmovdqa YMMWORD PTR [r11+480], ymm15
vmovdqu YMMWORD PTR [r11], ymm0
vmovdqu YMMWORD PTR [r11+32], ymm1
vmovdqu YMMWORD PTR [r11+64], ymm2
vmovdqu YMMWORD PTR [r11+96], ymm3
vmovdqu YMMWORD PTR [r11+128], ymm4
vmovdqu YMMWORD PTR [r11+160], ymm5
vmovdqu YMMWORD PTR [r11+192], ymm6
vmovdqu YMMWORD PTR [r11+224], ymm7
vmovdqu YMMWORD PTR [r11+256], ymm8
vmovdqu YMMWORD PTR [r11+288], ymm9
vmovdqu YMMWORD PTR [r11+320], ymm10
vmovdqu YMMWORD PTR [r11+352], ymm11
vmovdqu YMMWORD PTR [r11+384], ymm12
vmovdqu YMMWORD PTR [r11+416], ymm13
vmovdqu YMMWORD PTR [r11+448], ymm14
vmovdqu YMMWORD PTR [r11+480], ymm15
L_chacha20_avx2_start256:
mov r10b, 10
vmovdqa YMMWORD PTR [r12+96], ymm11
vmovdqu YMMWORD PTR [r12+96], ymm11
L_chacha20_avx2_loop256:
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vmovdqa ymm11, YMMWORD PTR [r12+96]
vmovdqu ymm11, YMMWORD PTR [r12+96]
vpshufb ymm12, ymm12, YMMWORD PTR [r14]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
@@ -1134,7 +1126,7 @@ L_chacha20_avx2_loop256:
vpshufb ymm15, ymm15, YMMWORD PTR [r14]
vpaddd ymm11, ymm11, ymm15
vpxor ymm7, ymm7, ymm11
vmovdqa YMMWORD PTR [r12+96], ymm11
vmovdqu YMMWORD PTR [r12+96], ymm11
vpsrld ymm11, ymm4, 20
vpslld ymm4, ymm4, 12
vpxor ymm4, ymm4, ymm11
@@ -1149,7 +1141,7 @@ L_chacha20_avx2_loop256:
vpxor ymm7, ymm7, ymm11
vpaddd ymm0, ymm0, ymm4
vpxor ymm12, ymm12, ymm0
vmovdqa ymm11, YMMWORD PTR [r12+96]
vmovdqu ymm11, YMMWORD PTR [r12+96]
vpshufb ymm12, ymm12, YMMWORD PTR [r13]
vpaddd ymm8, ymm8, ymm12
vpxor ymm4, ymm4, ymm8
@@ -1168,7 +1160,7 @@ L_chacha20_avx2_loop256:
vpshufb ymm15, ymm15, YMMWORD PTR [r13]
vpaddd ymm11, ymm11, ymm15
vpxor ymm7, ymm7, ymm11
vmovdqa YMMWORD PTR [r12+96], ymm11
vmovdqu YMMWORD PTR [r12+96], ymm11
vpsrld ymm11, ymm4, 25
vpslld ymm4, ymm4, 7
vpxor ymm4, ymm4, ymm11
@@ -1183,7 +1175,7 @@ L_chacha20_avx2_loop256:
vpxor ymm7, ymm7, ymm11
vpaddd ymm0, ymm0, ymm5
vpxor ymm15, ymm15, ymm0
vmovdqa ymm11, YMMWORD PTR [r12+96]
vmovdqu ymm11, YMMWORD PTR [r12+96]
vpshufb ymm15, ymm15, YMMWORD PTR [r14]
vpaddd ymm10, ymm10, ymm15
vpxor ymm5, ymm5, ymm10
@@ -1202,7 +1194,7 @@ L_chacha20_avx2_loop256:
vpshufb ymm14, ymm14, YMMWORD PTR [r14]
vpaddd ymm9, ymm9, ymm14
vpxor ymm4, ymm4, ymm9
vmovdqa YMMWORD PTR [r12+96], ymm11
vmovdqu YMMWORD PTR [r12+96], ymm11
vpsrld ymm11, ymm5, 20
vpslld ymm5, ymm5, 12
vpxor ymm5, ymm5, ymm11
@@ -1217,7 +1209,7 @@ L_chacha20_avx2_loop256:
vpxor ymm4, ymm4, ymm11
vpaddd ymm0, ymm0, ymm5
vpxor ymm15, ymm15, ymm0
vmovdqa ymm11, YMMWORD PTR [r12+96]
vmovdqu ymm11, YMMWORD PTR [r12+96]
vpshufb ymm15, ymm15, YMMWORD PTR [r13]
vpaddd ymm10, ymm10, ymm15
vpxor ymm5, ymm5, ymm10
@@ -1236,7 +1228,7 @@ L_chacha20_avx2_loop256:
vpshufb ymm14, ymm14, YMMWORD PTR [r13]
vpaddd ymm9, ymm9, ymm14
vpxor ymm4, ymm4, ymm9
vmovdqa YMMWORD PTR [r12+96], ymm11
vmovdqu YMMWORD PTR [r12+96], ymm11
vpsrld ymm11, ymm5, 25
vpslld ymm5, ymm5, 7
vpxor ymm5, ymm5, ymm11
@@ -1251,7 +1243,7 @@ L_chacha20_avx2_loop256:
vpxor ymm4, ymm4, ymm11
dec r10b
jnz L_chacha20_avx2_loop256
vmovdqa ymm11, YMMWORD PTR [r12+96]
vmovdqu ymm11, YMMWORD PTR [r12+96]
vpaddd ymm0, ymm0, YMMWORD PTR [r11]
vpaddd ymm1, ymm1, YMMWORD PTR [r11+32]
vpaddd ymm2, ymm2, YMMWORD PTR [r11+64]
@@ -1268,14 +1260,14 @@ L_chacha20_avx2_loop256:
vpaddd ymm13, ymm13, YMMWORD PTR [r11+416]
vpaddd ymm14, ymm14, YMMWORD PTR [r11+448]
vpaddd ymm15, ymm15, YMMWORD PTR [r11+480]
vmovdqa YMMWORD PTR [r12], ymm8
vmovdqa YMMWORD PTR [r12+32], ymm9
vmovdqa YMMWORD PTR [r12+64], ymm10
vmovdqa YMMWORD PTR [r12+96], ymm11
vmovdqa YMMWORD PTR [r12+128], ymm12
vmovdqa YMMWORD PTR [r12+160], ymm13
vmovdqa YMMWORD PTR [r12+192], ymm14
vmovdqa YMMWORD PTR [r12+224], ymm15
vmovdqu YMMWORD PTR [r12], ymm8
vmovdqu YMMWORD PTR [r12+32], ymm9
vmovdqu YMMWORD PTR [r12+64], ymm10
vmovdqu YMMWORD PTR [r12+96], ymm11
vmovdqu YMMWORD PTR [r12+128], ymm12
vmovdqu YMMWORD PTR [r12+160], ymm13
vmovdqu YMMWORD PTR [r12+192], ymm14
vmovdqu YMMWORD PTR [r12+224], ymm15
vpunpckldq ymm8, ymm0, ymm1
vpunpckldq ymm9, ymm2, ymm3
vpunpckhdq ymm12, ymm0, ymm1
@@ -1324,14 +1316,14 @@ L_chacha20_avx2_loop256:
vmovdqu YMMWORD PTR [r8+320], ymm13
vmovdqu YMMWORD PTR [r8+384], ymm14
vmovdqu YMMWORD PTR [r8+448], ymm15
vmovdqa ymm0, YMMWORD PTR [r12]
vmovdqa ymm1, YMMWORD PTR [r12+32]
vmovdqa ymm2, YMMWORD PTR [r12+64]
vmovdqa ymm3, YMMWORD PTR [r12+96]
vmovdqa ymm4, YMMWORD PTR [r12+128]
vmovdqa ymm5, YMMWORD PTR [r12+160]
vmovdqa ymm6, YMMWORD PTR [r12+192]
vmovdqa ymm7, YMMWORD PTR [r12+224]
vmovdqu ymm0, YMMWORD PTR [r12]
vmovdqu ymm1, YMMWORD PTR [r12+32]
vmovdqu ymm2, YMMWORD PTR [r12+64]
vmovdqu ymm3, YMMWORD PTR [r12+96]
vmovdqu ymm4, YMMWORD PTR [r12+128]
vmovdqu ymm5, YMMWORD PTR [r12+160]
vmovdqu ymm6, YMMWORD PTR [r12+192]
vmovdqu ymm7, YMMWORD PTR [r12+224]
vpunpckldq ymm8, ymm0, ymm1
vpunpckldq ymm9, ymm2, ymm3
vpunpckhdq ymm12, ymm0, ymm1
@@ -1380,30 +1372,30 @@ L_chacha20_avx2_loop256:
vmovdqu YMMWORD PTR [r8+352], ymm13
vmovdqu YMMWORD PTR [r8+416], ymm14
vmovdqu YMMWORD PTR [r8+480], ymm15
vmovdqa ymm12, YMMWORD PTR [r11+384]
vmovdqu ymm12, YMMWORD PTR [r11+384]
add rdx, 512
add r8, 512
vpaddd ymm12, ymm12, YMMWORD PTR [rdi]
sub r9d, 512
vmovdqa YMMWORD PTR [r11+384], ymm12
vmovdqu YMMWORD PTR [r11+384], ymm12
cmp r9d, 512
jl L_chacha20_avx2_done256
vmovdqa ymm0, YMMWORD PTR [r11]
vmovdqa ymm1, YMMWORD PTR [r11+32]
vmovdqa ymm2, YMMWORD PTR [r11+64]
vmovdqa ymm3, YMMWORD PTR [r11+96]
vmovdqa ymm4, YMMWORD PTR [r11+128]
vmovdqa ymm5, YMMWORD PTR [r11+160]
vmovdqa ymm6, YMMWORD PTR [r11+192]
vmovdqa ymm7, YMMWORD PTR [r11+224]
vmovdqa ymm8, YMMWORD PTR [r11+256]
vmovdqa ymm9, YMMWORD PTR [r11+288]
vmovdqa ymm10, YMMWORD PTR [r11+320]
vmovdqa ymm11, YMMWORD PTR [r11+352]
vmovdqa ymm12, YMMWORD PTR [r11+384]
vmovdqa ymm13, YMMWORD PTR [r11+416]
vmovdqa ymm14, YMMWORD PTR [r11+448]
vmovdqa ymm15, YMMWORD PTR [r11+480]
vmovdqu ymm0, YMMWORD PTR [r11]
vmovdqu ymm1, YMMWORD PTR [r11+32]
vmovdqu ymm2, YMMWORD PTR [r11+64]
vmovdqu ymm3, YMMWORD PTR [r11+96]
vmovdqu ymm4, YMMWORD PTR [r11+128]
vmovdqu ymm5, YMMWORD PTR [r11+160]
vmovdqu ymm6, YMMWORD PTR [r11+192]
vmovdqu ymm7, YMMWORD PTR [r11+224]
vmovdqu ymm8, YMMWORD PTR [r11+256]
vmovdqu ymm9, YMMWORD PTR [r11+288]
vmovdqu ymm10, YMMWORD PTR [r11+320]
vmovdqu ymm11, YMMWORD PTR [r11+352]
vmovdqu ymm12, YMMWORD PTR [r11+384]
vmovdqu ymm13, YMMWORD PTR [r11+416]
vmovdqu ymm14, YMMWORD PTR [r11+448]
vmovdqu ymm15, YMMWORD PTR [r11+480]
jmp L_chacha20_avx2_start256
L_chacha20_avx2_done256:
shl eax, 3
+12
View File
@@ -2341,6 +2341,9 @@ _fe_invert_x64:
movq 128(%rsp), %rdi
addq $0x90, %rsp
repz retq
#ifndef __APPLE__
.size fe_invert_x64,.-fe_invert_x64
#endif /* __APPLE__ */
#if defined(WOLFSSL_CURVE25519_NOT_USE_ED25519)
#ifndef __APPLE__
.data
@@ -7348,6 +7351,9 @@ _fe_pow22523_x64:
addq $0x70, %rsp
repz retq
#ifndef __APPLE__
.size fe_pow22523_x64,.-fe_pow22523_x64
#endif /* __APPLE__ */
#ifndef __APPLE__
.text
.globl ge_p1p1_to_p2_x64
.type ge_p1p1_to_p2_x64,@function
@@ -13210,6 +13216,9 @@ _fe_invert_avx2:
movq 128(%rsp), %rdi
addq $0x90, %rsp
repz retq
#ifndef __APPLE__
.size fe_invert_avx2,.-fe_invert_avx2
#endif /* __APPLE__ */
#if defined(WOLFSSL_CURVE25519_NOT_USE_ED25519)
#ifndef __APPLE__
.data
@@ -17421,6 +17430,9 @@ _fe_pow22523_avx2:
addq $0x70, %rsp
repz retq
#ifndef __APPLE__
.size fe_pow22523_avx2,.-fe_pow22523_avx2
#endif /* __APPLE__ */
#ifndef __APPLE__
.text
.globl ge_p1p1_to_p2_avx2
.type ge_p1p1_to_p2_avx2,@function
File diff suppressed because it is too large Load Diff
+7
View File
@@ -18,9 +18,16 @@ EXTRA_DIST += wolfcrypt/src/asm.c
EXTRA_DIST += wolfcrypt/src/aes_asm.asm
EXTRA_DIST += wolfcrypt/src/aes_x86_64_asm.asm
EXTRA_DIST += wolfcrypt/src/aes_gcm_asm.asm
EXTRA_DIST += wolfcrypt/src/aes_gcm_x86_asm.asm
EXTRA_DIST += wolfcrypt/src/aes_xts_asm.asm
EXTRA_DIST += wolfcrypt/src/chacha_asm.asm
EXTRA_DIST += wolfcrypt/src/poly1305_asm.asm
EXTRA_DIST += wolfcrypt/src/fe_x25519_asm.asm
EXTRA_DIST += wolfcrypt/src/sha256_asm.asm
EXTRA_DIST += wolfcrypt/src/sha512_asm.asm
EXTRA_DIST += wolfcrypt/src/sha3_asm.asm
EXTRA_DIST += wolfcrypt/src/wc_mlkem_asm.asm
EXTRA_DIST += wolfcrypt/src/wc_mldsa_asm.asm
EXTRA_DIST += wolfcrypt/src/wc_dsp.c
EXTRA_DIST += wolfcrypt/src/sp_dsp32.c
EXTRA_DIST += wolfcrypt/src/sp_x86_64_asm.asm
+13 -15
View File
@@ -598,16 +598,14 @@ poly1305_setkey_avx2 ENDP
_TEXT ENDS
_DATA SEGMENT
ALIGN 16
L_poly1305_avx2_blocks_mask QWORD \
0000000003ffffffh, 0000000003ffffffh,
0000000003ffffffh, 0000000003ffffffh
L_poly1305_avx2_blocks_mask QWORD 0000000003ffffffh, 0000000003ffffffh
QWORD 0000000003ffffffh, 0000000003ffffffh
ptr_L_poly1305_avx2_blocks_mask QWORD L_poly1305_avx2_blocks_mask
_DATA ENDS
_DATA SEGMENT
ALIGN 16
L_poly1305_avx2_blocks_hibit QWORD \
0000000001000000h, 0000000001000000h,
0000000001000000h, 0000000001000000h
L_poly1305_avx2_blocks_hibit QWORD 0000000001000000h, 0000000001000000h
QWORD 0000000001000000h, 0000000001000000h
ptr_L_poly1305_avx2_blocks_hibit QWORD L_poly1305_avx2_blocks_hibit
_DATA ENDS
_TEXT SEGMENT READONLY PARA
@@ -736,15 +734,15 @@ L_poly1305_avx2_blocks_mul_5:
vpaddq ymm12, ymm8, ymm12
vpaddq ymm13, ymm9, ymm13
; Store powers of r and multiple of 5 for use in multiply.
vmovdqa YMMWORD PTR [rbx], ymm10
vmovdqa YMMWORD PTR [rbx+32], ymm11
vmovdqa YMMWORD PTR [rbx+64], ymm12
vmovdqa YMMWORD PTR [rbx+96], ymm13
vmovdqa YMMWORD PTR [rcx], ymm5
vmovdqa YMMWORD PTR [rcx+32], ymm6
vmovdqa YMMWORD PTR [rcx+64], ymm7
vmovdqa YMMWORD PTR [rcx+96], ymm8
vmovdqa YMMWORD PTR [rcx+128], ymm9
vmovdqu YMMWORD PTR [rbx], ymm10
vmovdqu YMMWORD PTR [rbx+32], ymm11
vmovdqu YMMWORD PTR [rbx+64], ymm12
vmovdqu YMMWORD PTR [rbx+96], ymm13
vmovdqu YMMWORD PTR [rcx], ymm5
vmovdqu YMMWORD PTR [rcx+32], ymm6
vmovdqu YMMWORD PTR [rcx+64], ymm7
vmovdqu YMMWORD PTR [rcx+96], ymm8
vmovdqu YMMWORD PTR [rcx+128], ymm9
vmovdqu ymm14, YMMWORD PTR [r13]
; If not finished then loop over data
cmp BYTE PTR [rdi+616], 1
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+26 -26
View File
@@ -22755,7 +22755,7 @@ _wc_mldsa_decode_t0_avx2:
vpsubd %ymm4, %ymm15, %ymm4
vmovdqu %ymm4, 32(%rsi)
# 3/32
vperm2i128 $0x21, %ymm1, %ymm0, %ymm0
vperm2i128 $33, %ymm1, %ymm0, %ymm0
vpermq $0xe9, %ymm0, %ymm4
vpshufb %ymm7, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22770,7 +22770,7 @@ _wc_mldsa_decode_t0_avx2:
vpsubd %ymm4, %ymm15, %ymm4
vmovdqu %ymm4, 96(%rsi)
# 5/32
vperm2i128 $0x21, %ymm2, %ymm1, %ymm1
vperm2i128 $33, %ymm2, %ymm1, %ymm1
vpermq $0x94, %ymm1, %ymm4
vpshufb %ymm9, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22792,7 +22792,7 @@ _wc_mldsa_decode_t0_avx2:
vpsubd %ymm4, %ymm15, %ymm4
vmovdqu %ymm4, 192(%rsi)
# 8/32
vperm2i128 $0x21, %ymm3, %ymm2, %ymm2
vperm2i128 $33, %ymm3, %ymm2, %ymm2
vpermq $0xe9, %ymm2, %ymm4
vpshufb %ymm12, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22809,7 +22809,7 @@ _wc_mldsa_decode_t0_avx2:
# 10/32
vmovdqu 128(%rdi), %ymm0
vmovdqu 160(%rdi), %ymm1
vperm2i128 $0x21, %ymm0, %ymm3, %ymm3
vperm2i128 $33, %ymm0, %ymm3, %ymm3
vpermq $0x94, %ymm3, %ymm4
vpshufb %ymm6, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22831,7 +22831,7 @@ _wc_mldsa_decode_t0_avx2:
vpsubd %ymm4, %ymm15, %ymm4
vmovdqu %ymm4, 352(%rsi)
# 13/32
vperm2i128 $0x21, %ymm1, %ymm0, %ymm0
vperm2i128 $33, %ymm1, %ymm0, %ymm0
vpermq $0xe9, %ymm0, %ymm4
vpshufb %ymm9, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22848,7 +22848,7 @@ _wc_mldsa_decode_t0_avx2:
# 15/32
vmovdqu 192(%rdi), %ymm2
vmovdqu 224(%rdi), %ymm3
vperm2i128 $0x21, %ymm2, %ymm1, %ymm1
vperm2i128 $33, %ymm2, %ymm1, %ymm1
vpermq $0x94, %ymm1, %ymm4
vpshufb %ymm11, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22870,7 +22870,7 @@ _wc_mldsa_decode_t0_avx2:
vpsubd %ymm4, %ymm15, %ymm4
vmovdqu %ymm4, 512(%rsi)
# 18/32
vperm2i128 $0x21, %ymm3, %ymm2, %ymm2
vperm2i128 $33, %ymm3, %ymm2, %ymm2
vpermq $0xe9, %ymm2, %ymm4
vpshufb %ymm6, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22887,7 +22887,7 @@ _wc_mldsa_decode_t0_avx2:
# 20/32
vmovdqu 256(%rdi), %ymm0
vmovdqu 288(%rdi), %ymm1
vperm2i128 $0x21, %ymm0, %ymm3, %ymm3
vperm2i128 $33, %ymm0, %ymm3, %ymm3
vpermq $0x94, %ymm3, %ymm4
vpshufb %ymm8, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22909,7 +22909,7 @@ _wc_mldsa_decode_t0_avx2:
vpsubd %ymm4, %ymm15, %ymm4
vmovdqu %ymm4, 672(%rsi)
# 23/32
vperm2i128 $0x21, %ymm1, %ymm0, %ymm0
vperm2i128 $33, %ymm1, %ymm0, %ymm0
vpermq $0xe9, %ymm0, %ymm4
vpshufb %ymm11, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22926,7 +22926,7 @@ _wc_mldsa_decode_t0_avx2:
# 25/32
vmovdqu 320(%rdi), %ymm2
vmovdqu 352(%rdi), %ymm3
vperm2i128 $0x21, %ymm2, %ymm1, %ymm1
vperm2i128 $33, %ymm2, %ymm1, %ymm1
vpermq $0x99, %ymm1, %ymm4
vpshufb %ymm5, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22941,14 +22941,14 @@ _wc_mldsa_decode_t0_avx2:
vpsubd %ymm4, %ymm15, %ymm4
vmovdqu %ymm4, 800(%rsi)
# 27/32
vpermq $0x3e, %ymm2, %ymm4
vpermq $62, %ymm2, %ymm4
vpshufb %ymm7, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
vpand %ymm14, %ymm4, %ymm4
vpsubd %ymm4, %ymm15, %ymm4
vmovdqu %ymm4, 832(%rsi)
# 28/32
vperm2i128 $0x21, %ymm3, %ymm2, %ymm2
vperm2i128 $33, %ymm3, %ymm2, %ymm2
vpermq $0xe9, %ymm2, %ymm4
vpshufb %ymm8, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22965,7 +22965,7 @@ _wc_mldsa_decode_t0_avx2:
# 30/32
vmovdqu 384(%rdi), %ymm0
vmovdqu 416(%rdi), %ymm1
vperm2i128 $0x21, %ymm0, %ymm3, %ymm3
vperm2i128 $33, %ymm0, %ymm3, %ymm3
vpermq $0x99, %ymm3, %ymm4
vpshufb %ymm10, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
@@ -22980,7 +22980,7 @@ _wc_mldsa_decode_t0_avx2:
vpsubd %ymm4, %ymm15, %ymm4
vmovdqu %ymm4, 960(%rsi)
# 32/32
vpermq $0x3e, %ymm0, %ymm4
vpermq $62, %ymm0, %ymm4
vpshufb %ymm12, %ymm4, %ymm4
vpsrlvd %ymm13, %ymm4, %ymm4
vpand %ymm14, %ymm4, %ymm4
@@ -23115,14 +23115,14 @@ _wc_mldsa_decode_t1_avx2:
vpslld $13, %ymm4, %ymm4
vmovdqu %ymm4, 32(%rsi)
# 3/32
vpermq $0x3e, %ymm0, %ymm4
vpermq $62, %ymm0, %ymm4
vpshufb %ymm7, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
vpand %ymm10, %ymm4, %ymm4
vpslld $13, %ymm4, %ymm4
vmovdqu %ymm4, 64(%rsi)
# 4/32
vperm2i128 $0x21, %ymm1, %ymm0, %ymm0
vperm2i128 $33, %ymm1, %ymm0, %ymm0
vpermq $0xe9, %ymm0, %ymm4
vpshufb %ymm8, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
@@ -23144,7 +23144,7 @@ _wc_mldsa_decode_t1_avx2:
vpslld $13, %ymm4, %ymm4
vmovdqu %ymm4, 160(%rsi)
# 7/32
vperm2i128 $0x21, %ymm2, %ymm1, %ymm1
vperm2i128 $33, %ymm2, %ymm1, %ymm1
vpermq $0xe9, %ymm1, %ymm4
vpshufb %ymm7, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
@@ -23166,7 +23166,7 @@ _wc_mldsa_decode_t1_avx2:
vpslld $13, %ymm4, %ymm4
vmovdqu %ymm4, 256(%rsi)
# 10/32
vperm2i128 $0x21, %ymm3, %ymm2, %ymm2
vperm2i128 $33, %ymm3, %ymm2, %ymm2
vpermq $0x99, %ymm2, %ymm4
vpshufb %ymm6, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
@@ -23190,7 +23190,7 @@ _wc_mldsa_decode_t1_avx2:
# 13/32
vmovdqu 128(%rdi), %ymm0
vmovdqu 160(%rdi), %ymm1
vperm2i128 $0x21, %ymm0, %ymm3, %ymm3
vperm2i128 $33, %ymm0, %ymm3, %ymm3
vpermq $0x99, %ymm3, %ymm4
vpshufb %ymm5, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
@@ -23212,7 +23212,7 @@ _wc_mldsa_decode_t1_avx2:
vpslld $13, %ymm4, %ymm4
vmovdqu %ymm4, 448(%rsi)
# 16/32
vpermq $0x3e, %ymm0, %ymm4
vpermq $62, %ymm0, %ymm4
vpshufb %ymm8, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
vpand %ymm10, %ymm4, %ymm4
@@ -23233,7 +23233,7 @@ _wc_mldsa_decode_t1_avx2:
vpslld $13, %ymm4, %ymm4
vmovdqu %ymm4, 544(%rsi)
# 19/32
vpermq $0x3e, %ymm1, %ymm4
vpermq $62, %ymm1, %ymm4
vpshufb %ymm7, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
vpand %ymm10, %ymm4, %ymm4
@@ -23242,7 +23242,7 @@ _wc_mldsa_decode_t1_avx2:
# 20/32
vmovdqu 192(%rdi), %ymm2
vmovdqu 224(%rdi), %ymm3
vperm2i128 $0x21, %ymm2, %ymm1, %ymm1
vperm2i128 $33, %ymm2, %ymm1, %ymm1
vpermq $0xe9, %ymm1, %ymm4
vpshufb %ymm8, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
@@ -23264,7 +23264,7 @@ _wc_mldsa_decode_t1_avx2:
vpslld $13, %ymm4, %ymm4
vmovdqu %ymm4, 672(%rsi)
# 23/32
vperm2i128 $0x21, %ymm3, %ymm2, %ymm2
vperm2i128 $33, %ymm3, %ymm2, %ymm2
vpermq $0xe9, %ymm2, %ymm4
vpshufb %ymm7, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
@@ -23288,7 +23288,7 @@ _wc_mldsa_decode_t1_avx2:
# 26/32
vmovdqu 256(%rdi), %ymm0
vmovdqu 288(%rdi), %ymm1
vperm2i128 $0x21, %ymm0, %ymm3, %ymm3
vperm2i128 $33, %ymm0, %ymm3, %ymm3
vpermq $0x99, %ymm3, %ymm4
vpshufb %ymm6, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
@@ -23310,7 +23310,7 @@ _wc_mldsa_decode_t1_avx2:
vpslld $13, %ymm4, %ymm4
vmovdqu %ymm4, 864(%rsi)
# 29/32
vperm2i128 $0x21, %ymm1, %ymm0, %ymm0
vperm2i128 $33, %ymm1, %ymm0, %ymm0
vpermq $0x99, %ymm0, %ymm4
vpshufb %ymm5, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
@@ -23332,7 +23332,7 @@ _wc_mldsa_decode_t1_avx2:
vpslld $13, %ymm4, %ymm4
vmovdqu %ymm4, 960(%rsi)
# 32/32
vpermq $0x3e, %ymm1, %ymm4
vpermq $62, %ymm1, %ymm4
vpshufb %ymm8, %ymm4, %ymm4
vpsrlvd %ymm9, %ymm4, %ymm4
vpand %ymm10, %ymm4, %ymm4
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+70
View File
@@ -57,6 +57,13 @@
<ProjectName>wolfssl</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="WolfSSLIntelAsm">
<!-- Build the x86_64 crypto assembly (curve25519 / SHA-2 / SHA-3 / ML-KEM /
ML-DSA) and enable the matching USE_INTEL_SPEEDUP code paths. Off by
default (pure C). Enable on an x64 build with:
msbuild /p:WolfSSLIntelAsm=true -->
<WolfSSLIntelAsm Condition="'$(WolfSSLIntelAsm)'==''">false</WolfSSLIntelAsm>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
@@ -517,6 +524,28 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\aes_gcm_x86_asm.asm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">false</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ml.exe /c /safeseh /Zi /Fo"$(OutDir)%(Filename).obj" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">ml.exe /c /safeseh /Zi /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">$(IntDir)%(Filename).obj</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">false</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ml.exe /c /safeseh /Zi /Fo"$(OutDir)%(Filename).obj" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">ml.exe /c /safeseh /Zi /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">$(IntDir)%(Filename).obj</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|ARM64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Release|ARM64'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\aes_xts_asm.asm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">false</ExcludedFromBuild>
@@ -573,6 +602,42 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\fe_x25519_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\sha256_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\sha512_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\sha3_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\wc_mlkem_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\wc_mldsa_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<ClInclude Include="IDE\WIN\user_settings.h" />
</ItemGroup>
<ItemGroup>
@@ -585,6 +650,11 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemDefinitionGroup Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>USE_INTEL_SPEEDUP;WOLFSSL_X86_64_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
+70
View File
@@ -56,6 +56,13 @@
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="WolfSSLIntelAsm">
<!-- Build the x86_64 crypto assembly (curve25519 / SHA-2 / SHA-3 / ML-KEM /
ML-DSA) and enable the matching USE_INTEL_SPEEDUP code paths. Off by
default (pure C). Enable on an x64 build with:
msbuild /p:WolfSSLIntelAsm=true -->
<WolfSSLIntelAsm Condition="'$(WolfSSLIntelAsm)'==''">false</WolfSSLIntelAsm>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
@@ -517,6 +524,28 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\aes_gcm_x86_asm.asm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">false</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ml.exe /c /safeseh /Zi /Fo"$(OutDir)%(Filename).obj" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">ml.exe /c /safeseh /Zi /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">$(IntDir)%(Filename).obj</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">false</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ml.exe /c /safeseh /Zi /Fo"$(OutDir)%(Filename).obj" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">ml.exe /c /safeseh /Zi /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">$(IntDir)%(Filename).obj</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|ARM64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Release|ARM64'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\aes_xts_asm.asm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">false</ExcludedFromBuild>
@@ -573,6 +602,42 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\fe_x25519_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\sha256_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\sha512_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\sha3_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\wc_mlkem_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="wolfcrypt\src\wc_mldsa_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<ClInclude Include="IDE\WIN\user_settings.h" />
</ItemGroup>
<ItemGroup>
@@ -585,6 +650,11 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemDefinitionGroup Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>USE_INTEL_SPEEDUP;WOLFSSL_X86_64_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
+66
View File
@@ -40,6 +40,13 @@
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="WolfSSLIntelAsm">
<!-- Build the x86_64 crypto assembly (curve25519 / SHA-2 / SHA-3 / ML-KEM /
ML-DSA) and enable the matching USE_INTEL_SPEEDUP code paths. Off by
default (pure C). Enable on an x64 build with:
msbuild /p:WolfSSLIntelAsm=true -->
<WolfSSLIntelAsm Condition="'$(WolfSSLIntelAsm)'==''">false</WolfSSLIntelAsm>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
@@ -399,6 +406,24 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\wolfcrypt\src\aes_gcm_x86_asm.asm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">false</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ml.exe /c /safeseh /Zi /Fo"$(OutDir)%(Filename).obj" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">ml.exe /c /safeseh /Zi /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">$(IntDir)%(Filename).obj</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">false</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ml.exe /c /safeseh /Zi /Fo"$(OutDir)%(Filename).obj" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">ml.exe /c /safeseh /Zi /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">$(IntDir)%(Filename).obj</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="..\..\wolfcrypt\src\aes_xts_asm.asm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">false</ExcludedFromBuild>
@@ -455,6 +480,42 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)%(Filename).obj</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\wolfcrypt\src\fe_x25519_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\wolfcrypt\src\sha256_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\wolfcrypt\src\sha512_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\wolfcrypt\src\sha3_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\wolfcrypt\src\wc_mlkem_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\wolfcrypt\src\wc_mldsa_asm.asm">
<ExcludedFromBuild>true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">false</ExcludedFromBuild>
<Command Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">ml64.exe /c /Zi /DWOLFSSL_X86_64_BUILD /DWOLFSSL_HAVE_MLKEM /DWOLFSSL_HAVE_MLDSA /DWOLFSSL_HAVE_SLHDSA /DHAVE_ED25519 /Fo"$(IntDir)%(Filename).obj" %(Identity)</Command>
<Outputs Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">$(IntDir)%(Filename).obj</Outputs>
</CustomBuild>
<ClInclude Include="user_settings.h" />
</ItemGroup>
<ItemGroup>
@@ -465,6 +526,11 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<ItemDefinitionGroup Condition="'$(WolfSSLIntelAsm)'=='true' And '$(Platform)'=='x64'">
<ClCompile>
<PreprocessorDefinitions>USE_INTEL_SPEEDUP;WOLFSSL_X86_64_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>