23
23
optimization : " debug"
24
24
assert : " debug"
25
25
coverage : " nocov"
26
+ detectcpuflags : " ignore"
26
27
boost : " --build-boost"
27
28
icu : " "
28
29
secp256k1 : " --build-secp256k1"
38
39
optimization : " size"
39
40
assert : " ndebug"
40
41
coverage : " nocov"
42
+ detectcpuflags : " ignore"
41
43
boost : " --build-boost"
42
44
icu : " --build-icu --with-icu"
43
45
secp256k1 : " --build-secp256k1"
53
55
optimization : " size"
54
56
assert : " ndebug"
55
57
coverage : " nocov"
58
+ detectcpuflags : " ignore"
56
59
boost : " --build-boost"
57
60
icu : " "
58
61
secp256k1 : " --build-secp256k1"
68
71
optimization : " size"
69
72
assert : " ndebug"
70
73
coverage : " cov"
74
+ detectcpuflags : " detect"
71
75
boost : " --build-boost"
72
76
icu : " --build-icu --with-icu"
73
77
secp256k1 : " --build-secp256k1"
83
87
optimization : " size"
84
88
assert : " ndebug"
85
89
coverage : " nocov"
90
+ detectcpuflags : " ignore"
86
91
boost : " --build-boost"
87
92
icu : " "
88
93
secp256k1 : " --build-secp256k1"
98
103
optimization : " size"
99
104
assert : " ndebug"
100
105
coverage : " nocov"
106
+ detectcpuflags : " ignore"
101
107
boost : " --build-boost"
102
108
icu : " "
103
109
secp256k1 : " --build-secp256k1"
@@ -136,6 +142,29 @@ jobs:
136
142
run : |
137
143
brew install autoconf automake libtool ${{ matrix.packages }}
138
144
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
+
139
168
- name : Denormalize parameterization
140
169
shell : bash
141
170
run : |
@@ -174,6 +203,7 @@ jobs:
174
203
--prefix=${{ env.LIBBITCOIN_SRC_PATH }}prefix
175
204
${{ env.LINKAGE }}
176
205
${{ env.ASSERT_NDEBUG }}
206
+ ${{ env.CPU_SUPPORTED_FLAGS }}
177
207
${{ matrix.boost }}
178
208
${{ matrix.icu }}
179
209
${{ matrix.secp256k1 }}
@@ -255,6 +285,7 @@ jobs:
255
285
optimization : " debug"
256
286
assert : " debug"
257
287
coverage : " nocov"
288
+ detectcpuflags : " ignore"
258
289
boost : " --build-boost"
259
290
icu : " "
260
291
secp256k1 : " --build-secp256k1"
@@ -270,6 +301,7 @@ jobs:
270
301
optimization : " size"
271
302
assert : " ndebug"
272
303
coverage : " nocov"
304
+ detectcpuflags : " ignore"
273
305
boost : " --build-boost"
274
306
icu : " --build-icu --with-icu"
275
307
secp256k1 : " --build-secp256k1"
@@ -285,6 +317,7 @@ jobs:
285
317
optimization : " size"
286
318
assert : " ndebug"
287
319
coverage : " nocov"
320
+ detectcpuflags : " ignore"
288
321
boost : " --build-boost"
289
322
icu : " "
290
323
secp256k1 : " --build-secp256k1"
@@ -300,6 +333,7 @@ jobs:
300
333
optimization : " size"
301
334
assert : " ndebug"
302
335
coverage : " nocov"
336
+ detectcpuflags : " ignore"
303
337
boost : " --build-boost"
304
338
icu : " --build-icu --with-icu"
305
339
secp256k1 : " --build-secp256k1"
@@ -315,6 +349,7 @@ jobs:
315
349
optimization : " size"
316
350
assert : " ndebug"
317
351
coverage : " nocov"
352
+ detectcpuflags : " ignore"
318
353
boost : " --build-boost"
319
354
icu : " "
320
355
secp256k1 : " --build-secp256k1"
@@ -330,6 +365,7 @@ jobs:
330
365
optimization : " size"
331
366
assert : " ndebug"
332
367
coverage : " nocov"
368
+ detectcpuflags : " ignore"
333
369
boost : " --build-boost"
334
370
icu : " "
335
371
secp256k1 : " --build-secp256k1"
@@ -368,6 +404,29 @@ jobs:
368
404
run : |
369
405
brew install autoconf automake libtool ${{ matrix.packages }}
370
406
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
+
371
430
- name : Denormalize parameterization
372
431
shell : bash
373
432
run : |
@@ -409,6 +468,7 @@ jobs:
409
468
--prefix=${{ env.LIBBITCOIN_SRC_PATH }}prefix
410
469
${{ env.LINKAGE }}
411
470
${{ env.ASSERT_NDEBUG }}
471
+ ${{ env.CPU_SUPPORTED_FLAGS }}
412
472
${{ matrix.boost }}
413
473
${{ matrix.icu }}
414
474
${{ matrix.secp256k1 }}
@@ -501,6 +561,7 @@ jobs:
501
561
optimization : " debug"
502
562
assert : " debug"
503
563
coverage : " nocov"
564
+ detectcpuflags : " ignore"
504
565
boost : " --build-boost"
505
566
icu : " "
506
567
secp256k1 : " --build-secp256k1"
@@ -517,6 +578,7 @@ jobs:
517
578
optimization : " size"
518
579
assert : " ndebug"
519
580
coverage : " nocov"
581
+ detectcpuflags : " ignore"
520
582
boost : " --build-boost"
521
583
icu : " --build-icu --with-icu"
522
584
secp256k1 : " --build-secp256k1"
@@ -533,6 +595,7 @@ jobs:
533
595
optimization : " size"
534
596
assert : " ndebug"
535
597
coverage : " nocov"
598
+ detectcpuflags : " ignore"
536
599
boost : " --build-boost"
537
600
icu : " "
538
601
secp256k1 : " --build-secp256k1"
@@ -571,6 +634,29 @@ jobs:
571
634
run : |
572
635
brew install autoconf automake libtool ${{ matrix.packages }}
573
636
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
+
574
660
- name : Denormalize parameterization
575
661
shell : bash
576
662
run : |
@@ -613,6 +699,7 @@ jobs:
613
699
--preset=${{ matrix.preset }}
614
700
${{ env.LINKAGE }}
615
701
${{ env.ASSERT_NDEBUG }}
702
+ ${{ env.CPU_SUPPORTED_FLAGS }}
616
703
${{ matrix.boost }}
617
704
${{ matrix.icu }}
618
705
${{ matrix.secp256k1 }}
0 commit comments