Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci-expanded.yml
Original file line number Diff line number Diff line change
Expand Up @@ -543,7 +543,7 @@ jobs:
working-directory: 'libbitcoin-node'
run: |
lcov --ignore-errors version,gcov,mismatch,mismatch --directory . --capture --output-file coverage.info
lcov --ignore-errors unused --remove coverage.info "${{ github.workspace }}/prefix/*" "${{ github.workspace }}/libbitcoin-node/examples/*" "${{ github.workspace }}/libbitcoin-node/test/*" --output-file coverage.info
lcov --ignore-errors unused --extract coverage.info "${{ github.workspace }}/libbitcoin-node/include/*" "${{ github.workspace }}/libbitcoin-node/src/*" --output-file coverage.info

- name: Coveralls.io upload
if: ${{ matrix.coverage == 'lcov' }}
Expand Down Expand Up @@ -1118,7 +1118,7 @@ jobs:
working-directory: 'libbitcoin-node'
run: |
lcov --ignore-errors version,gcov,mismatch,mismatch --directory . --capture --output-file coverage.info
lcov --ignore-errors unused --remove coverage.info "${{ github.workspace }}/prefix/*" "${{ github.workspace }}/libbitcoin-node/examples/*" "${{ github.workspace }}/libbitcoin-node/test/*" --output-file coverage.info
lcov --ignore-errors unused --extract coverage.info "${{ github.workspace }}/libbitcoin-node/include/*" "${{ github.workspace }}/libbitcoin-node/src/*" --output-file coverage.info

- name: Coveralls.io upload
if: ${{ matrix.coverage == 'lcov' }}
Expand Down Expand Up @@ -1616,7 +1616,7 @@ jobs:
working-directory: 'libbitcoin-node'
run: |
lcov --ignore-errors version,gcov,mismatch,mismatch --directory . --capture --output-file coverage.info
lcov --ignore-errors unused --remove coverage.info "${{ github.workspace }}/prefix/*" "${{ github.workspace }}/libbitcoin-node/examples/*" "${{ github.workspace }}/libbitcoin-node/test/*" --output-file coverage.info
lcov --ignore-errors unused --extract coverage.info "${{ github.workspace }}/libbitcoin-node/include/*" "${{ github.workspace }}/libbitcoin-node/src/*" --output-file coverage.info

- name: Coveralls.io upload
if: ${{ matrix.coverage == 'lcov' }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ jobs:
working-directory: 'libbitcoin-node'
run: |
lcov --ignore-errors version,gcov,mismatch,mismatch --directory . --capture --output-file coverage.info
lcov --ignore-errors unused --remove coverage.info "${{ github.workspace }}/prefix/*" "${{ github.workspace }}/libbitcoin-node/examples/*" "${{ github.workspace }}/libbitcoin-node/test/*" --output-file coverage.info
lcov --ignore-errors unused --extract coverage.info "${{ github.workspace }}/libbitcoin-node/include/*" "${{ github.workspace }}/libbitcoin-node/src/*" --output-file coverage.info

- name: Coveralls.io upload
if: ${{ matrix.coverage == 'lcov' }}
Expand Down Expand Up @@ -507,7 +507,7 @@ jobs:
working-directory: 'libbitcoin-node'
run: |
lcov --ignore-errors version,gcov,mismatch,mismatch --directory . --capture --output-file coverage.info
lcov --ignore-errors unused --remove coverage.info "${{ github.workspace }}/prefix/*" "${{ github.workspace }}/libbitcoin-node/examples/*" "${{ github.workspace }}/libbitcoin-node/test/*" --output-file coverage.info
lcov --ignore-errors unused --extract coverage.info "${{ github.workspace }}/libbitcoin-node/include/*" "${{ github.workspace }}/libbitcoin-node/src/*" --output-file coverage.info

- name: Coveralls.io upload
if: ${{ matrix.coverage == 'lcov' }}
Expand Down Expand Up @@ -733,7 +733,7 @@ jobs:
working-directory: 'libbitcoin-node'
run: |
lcov --ignore-errors version,gcov,mismatch,mismatch --directory . --capture --output-file coverage.info
lcov --ignore-errors unused --remove coverage.info "${{ github.workspace }}/prefix/*" "${{ github.workspace }}/libbitcoin-node/examples/*" "${{ github.workspace }}/libbitcoin-node/test/*" --output-file coverage.info
lcov --ignore-errors unused --extract coverage.info "${{ github.workspace }}/libbitcoin-node/include/*" "${{ github.workspace }}/libbitcoin-node/src/*" --output-file coverage.info

- name: Coveralls.io upload
if: ${{ matrix.coverage == 'lcov' }}
Expand Down
4 changes: 4 additions & 0 deletions builds/cmake/install-cmake.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# Default: OFF
# -Denable-avx512=<ON/OFF> Use Intel AVX512 intrinsics.
# Default: OFF
# -Denable-ifma=<ON/OFF> Use Intel AVX512 IFMA intrinsics.
# Default: OFF
# -Denable-sse41=<ON/OFF> Use SSE4.1 hardware instructions.
# Default: OFF
# -Denable-shani=<ON/OFF> Use Intel/ARM SHA Extensions.
Expand Down Expand Up @@ -1056,6 +1058,8 @@ help()
msg " Default: OFF"
msg "-Denable-avx512=<ON/OFF> Use Intel AVX512 intrinsics."
msg " Default: OFF"
msg "-Denable-ifma=<ON/OFF> Use Intel AVX512 IFMA intrinsics."
msg " Default: OFF"
msg "-Denable-sse41=<ON/OFF> Use SSE4.1 hardware instructions."
msg " Default: OFF"
msg "-Denable-shani=<ON/OFF> Use Intel/ARM SHA Extensions."
Expand Down
4 changes: 4 additions & 0 deletions builds/cmake/install-presets.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# Default: OFF
# -Denable-avx512=<ON/OFF> Use Intel AVX512 intrinsics.
# Default: OFF
# -Denable-ifma=<ON/OFF> Use Intel AVX512 IFMA intrinsics.
# Default: OFF
# -Denable-sse41=<ON/OFF> Use SSE4.1 hardware instructions.
# Default: OFF
# -Denable-shani=<ON/OFF> Use Intel/ARM SHA Extensions.
Expand Down Expand Up @@ -1134,6 +1136,8 @@ help()
msg " Default: OFF"
msg "-Denable-avx512=<ON/OFF> Use Intel AVX512 intrinsics."
msg " Default: OFF"
msg "-Denable-ifma=<ON/OFF> Use Intel AVX512 IFMA intrinsics."
msg " Default: OFF"
msg "-Denable-sse41=<ON/OFF> Use SSE4.1 hardware instructions."
msg " Default: OFF"
msg "-Denable-shani=<ON/OFF> Use Intel/ARM SHA Extensions."
Expand Down
4 changes: 4 additions & 0 deletions builds/gnu/install-gnu.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# Default: --disable-avx2
# --<enable/disable>-avx512 Use Intel AVX512 intrinsics.
# Default: --disable-avx512
# --<enable/disable>-ifma Use Intel AVX512 IFMA intrinsics.
# Default: --disable-ifma
# --<enable/disable>-sse41 Use SSE4.1 hardware instructions.
# Default: --disable-sse41
# --<enable/disable>-shani Use Intel/ARM SHA Extensions.
Expand Down Expand Up @@ -1291,6 +1293,8 @@ help()
msg " Default: --disable-avx2"
msg "--<enable/disable>-avx512 Use Intel AVX512 intrinsics."
msg " Default: --disable-avx512"
msg "--<enable/disable>-ifma Use Intel AVX512 IFMA intrinsics."
msg " Default: --disable-ifma"
msg "--<enable/disable>-sse41 Use SSE4.1 hardware instructions."
msg " Default: --disable-sse41"
msg "--<enable/disable>-shani Use Intel/ARM SHA Extensions."
Expand Down
8 changes: 8 additions & 0 deletions builds/msvc/build-msvc.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ REM
REM Script options:
REM --enable-avx2 Use Intel AVX2 intrinsics.
REM --enable-avx512 Use Intel AVX512 intrinsics.
REM --enable-ifma Use Intel AVX512 IFMA intrinsics.
REM --enable-sse41 Use SSE4.1 hardware instructions.
REM --enable-shani Use Intel/ARM SHA Extensions.
REM --enable-crypto Use ARM Crypto Extensions.
Expand Down Expand Up @@ -249,6 +250,12 @@ if "!libbitcoin_node_TAG!" == "" (
) else (
set "libbitcoin-system_PARAMS=!libbitcoin-system_PARAMS! /p:Option-arch=AdvancedVectorExtensions512"
)
) else if "%~1" == "--enable-ifma" (
if "!libbitcoin-system_PARAMS!" == "" (
set "libbitcoin-system_PARAMS=/p:Option-ifma=true"
) else (
set "libbitcoin-system_PARAMS=!libbitcoin-system_PARAMS! /p:Option-ifma=true"
)
) else if "%~1" == "--enable-sse41" (
if "!libbitcoin-system_PARAMS!" == "" (
set "libbitcoin-system_PARAMS=/p:Option-arch=AdvancedVectorExtensions"
Expand Down Expand Up @@ -512,6 +519,7 @@ if "!libbitcoin_node_TAG!" == "" (
call :msg "Script options:"
call :msg "--enable-avx2 Use Intel AVX2 intrinsics."
call :msg "--enable-avx512 Use Intel AVX512 intrinsics."
call :msg "--enable-ifma Use Intel AVX512 IFMA intrinsics."
call :msg "--enable-sse41 Use SSE4.1 hardware instructions."
call :msg "--enable-shani Use Intel/ARM SHA Extensions."
call :msg "--enable-crypto Use ARM Crypto Extensions."
Expand Down
2 changes: 0 additions & 2 deletions builds/msvc/properties/Release.props
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@
<Optimization>MaxSpeed</Optimization>

<!-- Literal (not macro) values retain property page presentation text. -->
<EnableEnhancedInstructionSet Condition="'$(Option-arch)' == 'NotSet'">NotSet</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Option-arch)' == 'NoExtensions'">NoExtensions</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Option-arch)' == 'StreamingSIMDExtensions'">StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Option-arch)' == 'StreamingSIMDExtensions2'">StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Option-arch)' == 'AdvancedVectorExtensions'">AdvancedVectorExtensions</EnableEnhancedInstructionSet>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,6 @@
<ProjectName>libbitcoin-node-test</ProjectName>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDEXE|ARM">
<Configuration>DebugDEXE</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDEXE|ARM">
<Configuration>ReleaseDEXE</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLEXE|ARM">
<Configuration>DebugLEXE</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLEXE|ARM">
<Configuration>ReleaseLEXE</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugSEXE|ARM">
<Configuration>DebugSEXE</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseSEXE|ARM">
<Configuration>ReleaseSEXE</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDEXE|ARM64">
<Configuration>DebugDEXE</Configuration>
<Platform>ARM64</Platform>
Expand Down
10 changes: 0 additions & 10 deletions builds/msvc/vs2026/libbitcoin-node.sln
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin-node-test", "lib
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
StaticDebug|ARM = StaticDebug|ARM
StaticRelease|ARM = StaticRelease|ARM
StaticDebug|ARM64 = StaticDebug|ARM64
StaticRelease|ARM64 = StaticRelease|ARM64
StaticDebug|Win32 = StaticDebug|Win32
Expand All @@ -19,10 +17,6 @@ Global
StaticRelease|x64 = StaticRelease|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5FFB5F52-0772-4404-BB2F-39BE5F82A158}.StaticDebug|ARM.ActiveCfg = DebugLIB|ARM
{5FFB5F52-0772-4404-BB2F-39BE5F82A158}.StaticDebug|ARM.Build.0 = DebugLIB|ARM
{5FFB5F52-0772-4404-BB2F-39BE5F82A158}.StaticRelease|ARM.ActiveCfg = ReleaseLIB|ARM
{5FFB5F52-0772-4404-BB2F-39BE5F82A158}.StaticRelease|ARM.Build.0 = ReleaseLIB|ARM
{5FFB5F52-0772-4404-BB2F-39BE5F82A158}.StaticDebug|ARM64.ActiveCfg = DebugLIB|ARM64
{5FFB5F52-0772-4404-BB2F-39BE5F82A158}.StaticDebug|ARM64.Build.0 = DebugLIB|ARM64
{5FFB5F52-0772-4404-BB2F-39BE5F82A158}.StaticRelease|ARM64.ActiveCfg = ReleaseLIB|ARM64
Expand All @@ -35,10 +29,6 @@ Global
{5FFB5F52-0772-4404-BB2F-39BE5F82A158}.StaticDebug|x64.Build.0 = DebugLIB|x64
{5FFB5F52-0772-4404-BB2F-39BE5F82A158}.StaticRelease|x64.ActiveCfg = ReleaseLIB|x64
{5FFB5F52-0772-4404-BB2F-39BE5F82A158}.StaticRelease|x64.Build.0 = ReleaseLIB|x64
{4BD50864-D3BC-4F64-AEBB-DDEB8A622FA8}.StaticDebug|ARM.ActiveCfg = DebugSEXE|ARM
{4BD50864-D3BC-4F64-AEBB-DDEB8A622FA8}.StaticDebug|ARM.Build.0 = DebugSEXE|ARM
{4BD50864-D3BC-4F64-AEBB-DDEB8A622FA8}.StaticRelease|ARM.ActiveCfg = ReleaseSEXE|ARM
{4BD50864-D3BC-4F64-AEBB-DDEB8A622FA8}.StaticRelease|ARM.Build.0 = ReleaseSEXE|ARM
{4BD50864-D3BC-4F64-AEBB-DDEB8A622FA8}.StaticDebug|ARM64.ActiveCfg = DebugSEXE|ARM64
{4BD50864-D3BC-4F64-AEBB-DDEB8A622FA8}.StaticDebug|ARM64.Build.0 = DebugSEXE|ARM64
{4BD50864-D3BC-4F64-AEBB-DDEB8A622FA8}.StaticRelease|ARM64.ActiveCfg = ReleaseSEXE|ARM64
Expand Down
24 changes: 0 additions & 24 deletions builds/msvc/vs2026/libbitcoin-node/libbitcoin-node.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,30 +12,6 @@
<ProjectName>libbitcoin-node</ProjectName>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugDLL|ARM">
<Configuration>DebugDLL</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseDLL|ARM">
<Configuration>ReleaseDLL</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLTCG|ARM">
<Configuration>DebugLTCG</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLTCG|ARM">
<Configuration>ReleaseLTCG</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugLIB|ARM">
<Configuration>DebugLIB</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseLIB|ARM">
<Configuration>ReleaseLIB</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDLL|ARM64">
<Configuration>DebugDLL</Configuration>
<Platform>ARM64</Platform>
Expand Down
3 changes: 3 additions & 0 deletions builds/msvc/vs2026/libbitcoin-system.import.props
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
<!--<Option-256>true</Option-256>-->
<!--<Option-128>true</Option-128>-->
<Option-sha Condition="'$(Option-sha)' == ''">false</Option-sha>
<Option-ifma Condition="'$(Option-ifma)' == ''">false</Option-ifma>
<Option-secp256k1 Condition="'$(Option-secp256k1)' == ''">true</Option-secp256k1>
<Option-ultrafast Condition="'$(Option-ultrafast)' == ''">false</Option-ultrafast>
<Option-cuda Condition="'$(Option-cuda)' == ''">false</Option-cuda>
Expand All @@ -39,6 +40,7 @@

<Target Name="SystemOptionInfo" BeforeTargets="PrepareForBuild">
<Message Text="Option-sha : $(Option-sha)" Importance="high"/>
<Message Text="Option-ifma : $(Option-ifma)" Importance="high"/>
<Message Text="Option-secp256k1 : $(Option-secp256k1)" Importance="high"/>
<Message Text="Option-ultrafast : $(Option-ultrafast)" Importance="high"/>
<Message Text="Option-cuda : $(Option-cuda)" Importance="high"/>
Expand All @@ -62,6 +64,7 @@
<!-- Enable use of CPU intrinsics. -->
<!-- Eventually these options will be used to select SVE levels. -->
<PreprocessorDefinitions Condition="'$(Option-sha)' == 'true'">WITH_SHA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Option-ifma)' == 'true'">WITH_IFMA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<!--<PreprocessorDefinitions Condition="'$(Option-512)' == 'true'">WITH_512;%(PreprocessorDefinitions)</PreprocessorDefinitions>-->
<!--<PreprocessorDefinitions Condition="'$(Option-256)' == 'true'">WITH_256;%(PreprocessorDefinitions)</PreprocessorDefinitions>-->
<!--<PreprocessorDefinitions Condition="'$(Option-128)' == 'true'">WITH_128;%(PreprocessorDefinitions)</PreprocessorDefinitions>-->
Expand Down
5 changes: 5 additions & 0 deletions builds/msvc/vs2026/libbitcoin-system.import.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
<!--<Category Name="256" DisplayName="256" />-->
<!--<Category Name="128" DisplayName="128" />-->
<Category Name="sha" DisplayName="sha" />
<Category Name="ifma" DisplayName="ifma" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="" />
Expand All @@ -28,6 +29,10 @@
<EnumValue Name="false" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<EnumProperty Name="Option-ifma" DisplayName="Enable AVX512 IFMA Multiplication" Description="Requires AVX512 IFMA (xcpu) CPU and /arch:AVX512." Category="ifma">
<EnumValue Name="false" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
</EnumProperty>
<!--<EnumProperty Name="Option-512" DisplayName="Enable 512 Bit Vectorization" Description="Requires AVX512 (xcpu) or SVE (arm) CPU." Category="512">
<EnumValue Name="false" DisplayName="No" />
<EnumValue Name="true" DisplayName="Yes" />
Expand Down
Loading