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
install: g++-15-multilib
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
cxxstd: "11,14,17,20,2b"
instruction-set: nehalem
@@ -100,6 +108,14 @@ jobs:
container: ubuntu:24.04
install: g++-13-multilib
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
cxxstd: "11,14,17,20,2b"
instruction-set: haswell
@@ -124,6 +140,16 @@ jobs:
container: ubuntu:24.04
install: g++-13-multilib
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
compiler: clang++-3.9
cxxstd: "11,14"
@@ -238,6 +264,14 @@ jobs:
container: ubuntu:25.10
os: ubuntu-latest
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
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
@@ -246,6 +280,14 @@ jobs:
container: ubuntu:24.04
os: ubuntu-latest
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
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
@@ -270,6 +312,16 @@ jobs:
container: ubuntu:24.04
os: ubuntu-latest
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
os: macos-14
cxxstd: "11,14,17,20,2b"
@@ -346,6 +398,7 @@ jobs:
cd ../boost-root
ADDRMD=${{matrix.address-model}}
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}}" ]
then
cpu_flags="$(lscpu | grep -F "Flags:" | sed "s/^Flags:\\s*//")";
@@ -360,7 +413,14 @@ jobs:
fi
done
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:
strategy: