diff options
| author | Jack O'Connor <[email protected]> | 2020-03-29 19:05:04 -0400 |
|---|---|---|
| committer | Jack O'Connor <[email protected]> | 2020-03-29 23:12:47 -0400 |
| commit | 152740578e65ba16e4d008917aad7ea5673dd88f (patch) | |
| tree | 3469654feee3382dbb3ba3b80faf9c125ca55426 /.github | |
| parent | e06a0f255ae22449e96b62d0d733943c6a86cb71 (diff) | |
add testing-only flags to disable individual instruction sets
This lets CI test a wider range of possible SIMD support settings.
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/ci.yml | 39 |
1 files changed, 33 insertions, 6 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4cdd644..6c2a77d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,14 +30,41 @@ jobs: - run: cargo test --features=rayon # no_std tests. - run: cargo test --no-default-features - # Test the intrinsics implementations. + + # A matrix of different test settings: + # - debug vs release + # - assembly vs Rust+C intrinsics vs pure Rust intrinsics + # - different levels of SIMD support + # + # Full SIMD support. + - run: cargo test --features= - run: cargo test --features=prefer_intrinsics - # Test the pure Rust build. - run: cargo test --features=pure - # Test release mode. This does more iteratations in test_fuzz_hasher. - - run: cargo test --release - - run: cargo test --release --features=prefer_intrinsics - - run: cargo test --release --features=pure + - run: cargo test --features= --release + - run: cargo test --features=prefer_intrinsics --release + - run: cargo test --features=pure --release + # No AVX-512. + - run: cargo test --features=no_avx512 + - run: cargo test --features=no_avx512,prefer_intrinsics + - run: cargo test --features=no_avx512,pure + - run: cargo test --features=no_avx512 --release + - run: cargo test --features=no_avx512,prefer_intrinsics --release + - run: cargo test --features=no_avx512,pure --release + # No AVX2. + - run: cargo test --features=no_avx512,no_avx2 + - run: cargo test --features=no_avx512,no_avx2,prefer_intrinsics + - run: cargo test --features=no_avx512,no_avx2,pure + - run: cargo test --features=no_avx512,no_avx2 --release + - run: cargo test --features=no_avx512,no_avx2,prefer_intrinsics --release + - run: cargo test --features=no_avx512,no_avx2,pure --release + # No SSE4.1 + - run: cargo test --features=no_avx512,no_avx2,no_sse41 + - run: cargo test --features=no_avx512,no_avx2,no_sse41,prefer_intrinsics + - run: cargo test --features=no_avx512,no_avx2,no_sse41,pure + - run: cargo test --features=no_avx512,no_avx2,no_sse41 --release + - run: cargo test --features=no_avx512,no_avx2,no_sse41,prefer_intrinsics --release + - run: cargo test --features=no_avx512,no_avx2,no_sse41,pure --release + # Test benchmarks. RUSTC_BOOTSTRAP=1 lets this run on non-nightly toolchains. - run: cargo test --benches env: |
