Skip to content

Commit 98b075a

Browse files
authored
Merge pull request #1598 from evoskuil/master
Incorporate MIT Licensed PoolSTL single file impl.
2 parents 67bbd3f + 7b47ca9 commit 98b075a

8 files changed

Lines changed: 2834 additions & 94 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@ jobs:
2323
optimization: "debug"
2424
assert: "debug"
2525
coverage: "nocov"
26-
detectcpuflags: "ignore"
2726
boost: "--build-boost"
2827
icu: ""
2928
secp256k1: "--build-secp256k1"
3029
cc: "clang-15"
3130
flags: "-Og -fPIE"
32-
options: "--enable-isystem --enable-avx2 --enable-sse41"
31+
options: "--enable-isystem --enable-avx2 --enable-sse4"
3332
packager: "apt"
3433
packages: ""
3534

@@ -39,7 +38,6 @@ jobs:
3938
optimization: "size"
4039
assert: "ndebug"
4140
coverage: "nocov"
42-
detectcpuflags: "ignore"
4341
boost: "--build-boost"
4442
icu: "--build-icu --with-icu"
4543
secp256k1: "--build-secp256k1"
@@ -55,13 +53,12 @@ jobs:
5553
optimization: "size"
5654
assert: "ndebug"
5755
coverage: "nocov"
58-
detectcpuflags: "ignore"
5956
boost: "--build-boost"
6057
icu: ""
6158
secp256k1: "--build-secp256k1"
6259
cc: "gcc-11"
6360
flags: "-Os -fPIE"
64-
options: "--enable-isystem --enable-sse41"
61+
options: "--enable-isystem --enable-sse4"
6562
packager: "apt"
6663
packages: ""
6764

@@ -71,7 +68,6 @@ jobs:
7168
optimization: "size"
7269
assert: "ndebug"
7370
coverage: "cov"
74-
detectcpuflags: "detect"
7571
boost: "--build-boost"
7672
icu: "--build-icu --with-icu"
7773
secp256k1: "--build-secp256k1"
@@ -87,7 +83,6 @@ jobs:
8783
optimization: "size"
8884
assert: "ndebug"
8985
coverage: "nocov"
90-
detectcpuflags: "ignore"
9186
boost: "--build-boost"
9287
icu: ""
9388
secp256k1: "--build-secp256k1"
@@ -103,7 +98,6 @@ jobs:
10398
optimization: "size"
10499
assert: "ndebug"
105100
coverage: "nocov"
106-
detectcpuflags: "ignore"
107101
boost: "--build-boost"
108102
icu: ""
109103
secp256k1: "--build-secp256k1"
@@ -142,29 +136,6 @@ jobs:
142136
run: |
143137
brew install autoconf automake libtool ${{ matrix.packages }}
144138
145-
- name: Determine CPU flags
146-
shell: bash
147-
run: |
148-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " sse4_1 ") ]]; then
149-
echo "CPU_SUPPORT_SSE41=--enable-sse41" >> $GITHUB_ENV
150-
fi
151-
152-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " avx " | grep " avx2 ") ]]; then
153-
echo "CPU_SUPPORT_AVX2=--enable-avx2" >> $GITHUB_ENV
154-
fi
155-
156-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " avx512bw ") ]]; then
157-
echo "CPU_SUPPORT_AVX512=--enable-avx512" >> $GITHUB_ENV
158-
fi
159-
160-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " sha_ni ") ]]; then
161-
echo "CPU_SUPPORT_SHANI=--enable-shani" >> $GITHUB_ENV
162-
fi
163-
164-
if [[ ${{ matrix.detectcpuflags }} == 'detect' ]]; then
165-
echo "CPU_SUPPORTED_FLAGS='$CPU_SUPPORT_SSE41 $CPU_SUPPORT_AVX2 $CPU_SUPPORT_AVX512 $CPU_SUPPORT_SHANI'" >> $GITHUB_ENV
166-
fi
167-
168139
- name: Denormalize parameterization
169140
shell: bash
170141
run: |
@@ -203,7 +174,6 @@ jobs:
203174
--prefix=${{ env.LIBBITCOIN_SRC_PATH }}prefix
204175
${{ env.LINKAGE }}
205176
${{ env.ASSERT_NDEBUG }}
206-
${{ env.CPU_SUPPORTED_FLAGS }}
207177
${{ matrix.boost }}
208178
${{ matrix.icu }}
209179
${{ matrix.secp256k1 }}
@@ -285,13 +255,12 @@ jobs:
285255
optimization: "debug"
286256
assert: "debug"
287257
coverage: "nocov"
288-
detectcpuflags: "ignore"
289258
boost: "--build-boost"
290259
icu: ""
291260
secp256k1: "--build-secp256k1"
292261
cc: "clang-15"
293262
flags: "-Og -fPIE"
294-
options: "-Denable-avx2=on -Denable-sse41=on"
263+
options: "-Denable-avx2=on -Denable-sse4=on"
295264
packager: "apt"
296265
packages: ""
297266

@@ -301,7 +270,6 @@ jobs:
301270
optimization: "size"
302271
assert: "ndebug"
303272
coverage: "nocov"
304-
detectcpuflags: "ignore"
305273
boost: "--build-boost"
306274
icu: "--build-icu --with-icu"
307275
secp256k1: "--build-secp256k1"
@@ -317,13 +285,12 @@ jobs:
317285
optimization: "size"
318286
assert: "ndebug"
319287
coverage: "nocov"
320-
detectcpuflags: "ignore"
321288
boost: "--build-boost"
322289
icu: ""
323290
secp256k1: "--build-secp256k1"
324291
cc: "gcc-11"
325292
flags: "-Os -fPIE"
326-
options: "-Denable-sse41=on"
293+
options: "-Denable-sse4=on"
327294
packager: "apt"
328295
packages: ""
329296

@@ -333,7 +300,6 @@ jobs:
333300
optimization: "size"
334301
assert: "ndebug"
335302
coverage: "nocov"
336-
detectcpuflags: "ignore"
337303
boost: "--build-boost"
338304
icu: "--build-icu --with-icu"
339305
secp256k1: "--build-secp256k1"
@@ -349,7 +315,6 @@ jobs:
349315
optimization: "size"
350316
assert: "ndebug"
351317
coverage: "nocov"
352-
detectcpuflags: "ignore"
353318
boost: "--build-boost"
354319
icu: ""
355320
secp256k1: "--build-secp256k1"
@@ -365,7 +330,6 @@ jobs:
365330
optimization: "size"
366331
assert: "ndebug"
367332
coverage: "nocov"
368-
detectcpuflags: "ignore"
369333
boost: "--build-boost"
370334
icu: ""
371335
secp256k1: "--build-secp256k1"
@@ -404,29 +368,6 @@ jobs:
404368
run: |
405369
brew install autoconf automake libtool ${{ matrix.packages }}
406370
407-
- name: Determine CPU flags
408-
shell: bash
409-
run: |
410-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " sse4_1 ") ]]; then
411-
echo "CPU_SUPPORT_SSE41=-Denable-sse41=on" >> $GITHUB_ENV
412-
fi
413-
414-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " avx " | grep " avx2 ") ]]; then
415-
echo "CPU_SUPPORT_AVX2=-Denable-avx2=on" >> $GITHUB_ENV
416-
fi
417-
418-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " avx512bw ") ]]; then
419-
echo "CPU_SUPPORT_AVX512=-Denable-avx512=on" >> $GITHUB_ENV
420-
fi
421-
422-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " sha_ni ") ]]; then
423-
echo "CPU_SUPPORT_SHANI=-Denable-shani=on" >> $GITHUB_ENV
424-
fi
425-
426-
if [[ ${{ matrix.detectcpuflags }} == 'detect' ]]; then
427-
echo "CPU_SUPPORTED_FLAGS='$CPU_SUPPORT_SSE41 $CPU_SUPPORT_AVX2 $CPU_SUPPORT_AVX512 $CPU_SUPPORT_SHANI'" >> $GITHUB_ENV
428-
fi
429-
430371
- name: Denormalize parameterization
431372
shell: bash
432373
run: |
@@ -468,7 +409,6 @@ jobs:
468409
--prefix=${{ env.LIBBITCOIN_SRC_PATH }}prefix
469410
${{ env.LINKAGE }}
470411
${{ env.ASSERT_NDEBUG }}
471-
${{ env.CPU_SUPPORTED_FLAGS }}
472412
${{ matrix.boost }}
473413
${{ matrix.icu }}
474414
${{ matrix.secp256k1 }}
@@ -561,13 +501,12 @@ jobs:
561501
optimization: "debug"
562502
assert: "debug"
563503
coverage: "nocov"
564-
detectcpuflags: "ignore"
565504
boost: "--build-boost"
566505
icu: ""
567506
secp256k1: "--build-secp256k1"
568507
cc: "clang-15"
569508
flags: "-Og -fPIE"
570-
options: "-Denable-avx2=on -Denable-sse41=on"
509+
options: "-Denable-avx2=on -Denable-sse4=on"
571510
packager: "apt"
572511
packages: ""
573512

@@ -578,7 +517,6 @@ jobs:
578517
optimization: "size"
579518
assert: "ndebug"
580519
coverage: "nocov"
581-
detectcpuflags: "ignore"
582520
boost: "--build-boost"
583521
icu: "--build-icu --with-icu"
584522
secp256k1: "--build-secp256k1"
@@ -595,13 +533,12 @@ jobs:
595533
optimization: "size"
596534
assert: "ndebug"
597535
coverage: "nocov"
598-
detectcpuflags: "ignore"
599536
boost: "--build-boost"
600537
icu: ""
601538
secp256k1: "--build-secp256k1"
602539
cc: "gcc-11"
603540
flags: "-Os -fPIE"
604-
options: "-Denable-sse41=on"
541+
options: "-Denable-sse4=on"
605542
packager: "apt"
606543
packages: ""
607544

@@ -634,29 +571,6 @@ jobs:
634571
run: |
635572
brew install autoconf automake libtool ${{ matrix.packages }}
636573
637-
- name: Determine CPU flags
638-
shell: bash
639-
run: |
640-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " sse4_1 ") ]]; then
641-
echo "CPU_SUPPORT_SSE41=-Denable-sse41=on" >> $GITHUB_ENV
642-
fi
643-
644-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " avx " | grep " avx2 ") ]]; then
645-
echo "CPU_SUPPORT_AVX2=-Denable-avx2=on" >> $GITHUB_ENV
646-
fi
647-
648-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " avx512bw ") ]]; then
649-
echo "CPU_SUPPORT_AVX512=-Denable-avx512=on" >> $GITHUB_ENV
650-
fi
651-
652-
if [[ -n $(cat /proc/cpuinfo | grep flags | grep " sha_ni ") ]]; then
653-
echo "CPU_SUPPORT_SHANI=-Denable-shani=on" >> $GITHUB_ENV
654-
fi
655-
656-
if [[ ${{ matrix.detectcpuflags }} == 'detect' ]]; then
657-
echo "CPU_SUPPORTED_FLAGS='$CPU_SUPPORT_SSE41 $CPU_SUPPORT_AVX2 $CPU_SUPPORT_AVX512 $CPU_SUPPORT_SHANI'" >> $GITHUB_ENV
658-
fi
659-
660574
- name: Denormalize parameterization
661575
shell: bash
662576
run: |
@@ -699,7 +613,6 @@ jobs:
699613
--preset=${{ matrix.preset }}
700614
${{ env.LINKAGE }}
701615
${{ env.ASSERT_NDEBUG }}
702-
${{ env.CPU_SUPPORTED_FLAGS }}
703616
${{ matrix.boost }}
704617
${{ matrix.icu }}
705618
${{ matrix.secp256k1 }}

Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,7 @@ include_bitcoin_system_HEADERS = \
425425
include/bitcoin/system/constraints.hpp \
426426
include/bitcoin/system/define.hpp \
427427
include/bitcoin/system/exceptions.hpp \
428+
include/bitcoin/system/execution.hpp \
428429
include/bitcoin/system/forks.hpp \
429430
include/bitcoin/system/funclets.hpp \
430431
include/bitcoin/system/have.hpp \

builds/msvc/vs2022/libbitcoin-system/libbitcoin-system.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,7 @@
331331
<ClInclude Include="..\..\..\..\include\bitcoin\system\error\script_error_t.hpp" />
332332
<ClInclude Include="..\..\..\..\include\bitcoin\system\error\transaction_error_t.hpp" />
333333
<ClInclude Include="..\..\..\..\include\bitcoin\system\exceptions.hpp" />
334+
<ClInclude Include="..\..\..\..\include\bitcoin\system\execution.hpp" />
334335
<ClInclude Include="..\..\..\..\include\bitcoin\system\forks.hpp" />
335336
<ClInclude Include="..\..\..\..\include\bitcoin\system\funclets.hpp" />
336337
<ClInclude Include="..\..\..\..\include\bitcoin\system\hash\accumulator.hpp" />

builds/msvc/vs2022/libbitcoin-system/libbitcoin-system.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,9 @@
869869
<ClInclude Include="..\..\..\..\include\bitcoin\system\exceptions.hpp">
870870
<Filter>include\bitcoin\system</Filter>
871871
</ClInclude>
872+
<ClInclude Include="..\..\..\..\include\bitcoin\system\execution.hpp">
873+
<Filter>include\bitcoin\system</Filter>
874+
</ClInclude>
872875
<ClInclude Include="..\..\..\..\include\bitcoin\system\forks.hpp">
873876
<Filter>include\bitcoin\system</Filter>
874877
</ClInclude>

include/bitcoin/system.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include <bitcoin/system/constraints.hpp>
2222
#include <bitcoin/system/define.hpp>
2323
#include <bitcoin/system/exceptions.hpp>
24+
#include <bitcoin/system/execution.hpp>
2425
#include <bitcoin/system/forks.hpp>
2526
#include <bitcoin/system/funclets.hpp>
2627
#include <bitcoin/system/have.hpp>

0 commit comments

Comments
 (0)