Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix avx512f build on x86-32; fix avx512gfni test fail #1264

Merged
merged 3 commits into from
Dec 9, 2021

Conversation

luojia65
Copy link
Contributor

@luojia65 luojia65 commented Dec 9, 2021

This pull request includes:

Note: after I finished fixes I tested with a CPU that supports avx512gfni. The test failed with:

The failed test cases are:
    core_arch::x86::avx512gfni::tests::test_mm256_gf2p8affine_epi64_epi8
    core_arch::x86::avx512gfni::tests::test_mm256_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm256_mask_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm256_maskz_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm512_gf2p8affine_epi64_epi8
    core_arch::x86::avx512gfni::tests::test_mm512_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm512_mask_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm512_maskz_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm_gf2p8affine_epi64_epi8
    core_arch::x86::avx512gfni::tests::test_mm_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm_mask_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm_maskz_gf2p8mul_epi8
    ---- core_arch::x86::avx512gfni::tests::test_mm256_gf2p8affine_epi64_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm256_gf2p8affine_epi64_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- core_arch::x86::avx512gfni::tests::test_mm256_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm256_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm256_mask_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm256_mask_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm256_maskz_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm256_maskz_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm512_gf2p8affine_epi64_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm512_gf2p8affine_epi64_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm512_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm512_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm512_mask_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm512_mask_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm512_maskz_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm512_maskz_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm_gf2p8affine_epi64_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm_gf2p8affine_epi64_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm_mask_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm_mask_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm_maskz_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm_maskz_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

... the cause of this test failure is a multiplication with overflow in test case generating function. I included fix to this function in this pull request.

Please review with error given by rust-lang/rust#91658 (comment) in case I missed any function (which may cause rollup failure again). After this pull request is merged, I'd update pull request rust-lang/rust#91548 to adapt to latest stdarch submodule change.

Caused by multiply overflow when generating test case array.

The failed test cases are:
    core_arch::x86::avx512gfni::tests::test_mm256_gf2p8affine_epi64_epi8
    core_arch::x86::avx512gfni::tests::test_mm256_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm256_mask_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm256_maskz_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm512_gf2p8affine_epi64_epi8
    core_arch::x86::avx512gfni::tests::test_mm512_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm512_mask_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm512_maskz_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm_gf2p8affine_epi64_epi8
    core_arch::x86::avx512gfni::tests::test_mm_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm_mask_gf2p8mul_epi8
    core_arch::x86::avx512gfni::tests::test_mm_maskz_gf2p8mul_epi8
    ---- core_arch::x86::avx512gfni::tests::test_mm256_gf2p8affine_epi64_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm256_gf2p8affine_epi64_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- core_arch::x86::avx512gfni::tests::test_mm256_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm256_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm256_mask_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm256_mask_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm256_maskz_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm256_maskz_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm512_gf2p8affine_epi64_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm512_gf2p8affine_epi64_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm512_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm512_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm512_mask_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm512_mask_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm512_maskz_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm512_maskz_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm_gf2p8affine_epi64_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm_gf2p8affine_epi64_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm_mask_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm_mask_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24

---- core_arch::x86::avx512gfni::tests::test_mm_maskz_gf2p8mul_epi8 stdout ----
thread 'core_arch::x86::avx512gfni::tests::test_mm_maskz_gf2p8mul_epi8' panicked at 'attempt to multiply with overflow', crates\core_arch\src\x86\avx512gfni.rs:822:24
@rust-highfive
Copy link

r? @Amanieu

(rust-highfive has picked a reviewer for you, use r? to override)

@Amanieu Amanieu merged commit b70ae88 into rust-lang:master Dec 9, 2021
@luojia65 luojia65 deleted the fix-avx512 branch December 9, 2021 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants