2
0
mirror of https://github.com/boostorg/uuid.git synced 2026-01-19 04:42:16 +00:00

Added GitHub Actions jobs for SSSE3 and AVX targets.

The targets verify the respective code paths in SIMD algorithms.
The recently added SSE2 paths are already tested in the other,
unspecialized jobs.

Also added jobs to compile tests with BOOST_UUID_TO_FROM_CHARS_X86_USE_ZMM
and BOOST_UUID_FROM_CHARS_X86_USE_VPERMI2B experimental macros defined.
This commit is contained in:
Andrey Semashev
2026-01-09 03:10:09 +03:00
parent b135a5d816
commit 3af17a4236

View File

@@ -92,6 +92,14 @@ jobs:
os: ubuntu-latest os: ubuntu-latest
install: g++-15-multilib install: g++-15-multilib
address-model: 32,64 address-model: 32,64
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
instruction-set: core2
cpu-requirements: [ ssse3 ]
os: ubuntu-latest
container: ubuntu:24.04
install: g++-13-multilib
address-model: 32,64
- toolset: gcc-13 - toolset: gcc-13
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
instruction-set: nehalem instruction-set: nehalem
@@ -100,6 +108,14 @@ jobs:
container: ubuntu:24.04 container: ubuntu:24.04
install: g++-13-multilib install: g++-13-multilib
address-model: 32,64 address-model: 32,64
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
instruction-set: sandy-bridge
cpu-requirements: [ avx ]
os: ubuntu-latest
container: ubuntu:24.04
install: g++-13-multilib
address-model: 32,64
- toolset: gcc-13 - toolset: gcc-13
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
instruction-set: haswell instruction-set: haswell
@@ -124,6 +140,16 @@ jobs:
container: ubuntu:24.04 container: ubuntu:24.04
install: g++-13-multilib install: g++-13-multilib
address-model: 32,64 address-model: 32,64
# Experimental features
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
instruction-set: rocketlake
cpu-requirements: [ avx512f, avx512cd, avx512vl, avx512dq, avx512bw, avx512vbmi, avx512_vbmi2, avx512_bitalg, bmi1, bmi2 ]
defines: [ BOOST_UUID_TO_FROM_CHARS_X86_USE_ZMM, BOOST_UUID_FROM_CHARS_X86_USE_VPERMI2B ]
os: ubuntu-latest
container: ubuntu:24.04
install: g++-13-multilib
address-model: 32,64
- toolset: clang - toolset: clang
compiler: clang++-3.9 compiler: clang++-3.9
cxxstd: "11,14" cxxstd: "11,14"
@@ -238,6 +264,14 @@ jobs:
container: ubuntu:25.10 container: ubuntu:25.10
os: ubuntu-latest os: ubuntu-latest
install: clang-21 install: clang-21
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
instruction-set: core2
cpu-requirements: [ ssse3 ]
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang - toolset: clang
compiler: clang++-17 compiler: clang++-17
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
@@ -246,6 +280,14 @@ jobs:
container: ubuntu:24.04 container: ubuntu:24.04
os: ubuntu-latest os: ubuntu-latest
install: clang-17 install: clang-17
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
instruction-set: sandy-bridge
cpu-requirements: [ avx ]
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang - toolset: clang
compiler: clang++-17 compiler: clang++-17
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
@@ -270,6 +312,16 @@ jobs:
container: ubuntu:24.04 container: ubuntu:24.04
os: ubuntu-latest os: ubuntu-latest
install: clang-17 install: clang-17
# Experimental features
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
instruction-set: rocketlake
cpu-requirements: [ avx512f, avx512cd, avx512vl, avx512dq, avx512bw, avx512vbmi, avx512_vbmi2, avx512_bitalg, bmi1, bmi2 ]
defines: [ BOOST_UUID_TO_FROM_CHARS_X86_USE_ZMM, BOOST_UUID_FROM_CHARS_X86_USE_VPERMI2B ]
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang - toolset: clang
os: macos-14 os: macos-14
cxxstd: "11,14,17,20,2b" cxxstd: "11,14,17,20,2b"
@@ -346,6 +398,7 @@ jobs:
cd ../boost-root cd ../boost-root
ADDRMD=${{matrix.address-model}} ADDRMD=${{matrix.address-model}}
INSTRUCTION_SET=${{matrix.instruction-set}} INSTRUCTION_SET=${{matrix.instruction-set}}
b2_args=(-j2 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} ${ADDRMD:+address-model=$ADDRMD} ${INSTRUCTION_SET:+instruction-set=$INSTRUCTION_SET} variant=debug,release)
if [ -n "${{matrix.cpu-requirements}}" ] if [ -n "${{matrix.cpu-requirements}}" ]
then then
cpu_flags="$(lscpu | grep -F "Flags:" | sed "s/^Flags:\\s*//")"; cpu_flags="$(lscpu | grep -F "Flags:" | sed "s/^Flags:\\s*//")";
@@ -360,7 +413,14 @@ jobs:
fi fi
done done
fi fi
./b2 -j2 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} ${ADDRMD:+address-model=$ADDRMD} ${INSTRUCTION_SET:+instruction-set=$INSTRUCTION_SET} variant=debug,release if [ -n "${{matrix.defines}}" ]
then
for define in ${{join(matrix.defines, ' ')}}
do
b2_args+=("define=$define")
done
fi
./b2 "${b2_args[@]}"
windows: windows:
strategy: strategy: