From 9c817ac18c561d85bec0680f29c74074e4a5a897 Mon Sep 17 00:00:00 2001 From: Hang Su Date: Wed, 22 Jan 2025 16:36:29 -0500 Subject: [PATCH] init commit for the gf2 avx256 fix --- .github/workflows/ci.yml | 2 +- arith/gf2_128/src/gf2_ext128x8/avx256.rs | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 32a8f535..bcffafa4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ jobs: matrix: include: - os: macos-latest - # - os: ubuntu-latest + - os: ubuntu-latest steps: - name: Checkout code diff --git a/arith/gf2_128/src/gf2_ext128x8/avx256.rs b/arith/gf2_128/src/gf2_ext128x8/avx256.rs index 27721302..a5810fb8 100644 --- a/arith/gf2_128/src/gf2_ext128x8/avx256.rs +++ b/arith/gf2_128/src/gf2_ext128x8/avx256.rs @@ -596,10 +596,10 @@ impl ExtensionField for AVX256GF2_128x8 { let v7 = -((base.v & 1u8) as i64); let mut res = *self; - res.data[0] = unsafe { _mm256_and_si256(res.data[0], _mm256_set_epi64x(v0, v0, v2, v2)) }; - res.data[1] = unsafe { _mm256_and_si256(res.data[1], _mm256_set_epi64x(v4, v4, v6, v6)) }; - res.data[2] = unsafe { _mm256_and_si256(res.data[2], _mm256_set_epi64x(v1, v1, v3, v3)) }; - res.data[3] = unsafe { _mm256_and_si256(res.data[3], _mm256_set_epi64x(v5, v5, v7, v7)) }; + res.data[0] = unsafe { _mm256_and_si256(res.data[0], _mm256_set_epi64x(v1, v1, v0, v0)) }; + res.data[1] = unsafe { _mm256_and_si256(res.data[1], _mm256_set_epi64x(v3, v3, v2, v2)) }; + res.data[2] = unsafe { _mm256_and_si256(res.data[2], _mm256_set_epi64x(v5, v5, v4, v4)) }; + res.data[3] = unsafe { _mm256_and_si256(res.data[3], _mm256_set_epi64x(v7, v7, v6, v6)) }; res } @@ -616,10 +616,10 @@ impl ExtensionField for AVX256GF2_128x8 { let v7 = (base.v & 1u8) as i64; let mut res = *self; - res.data[0] = unsafe { _mm256_xor_si256(res.data[0], _mm256_set_epi64x(0, v0, 0, v2)) }; - res.data[1] = unsafe { _mm256_xor_si256(res.data[1], _mm256_set_epi64x(0, v4, 0, v6)) }; - res.data[2] = unsafe { _mm256_xor_si256(res.data[2], _mm256_set_epi64x(0, v1, 0, v3)) }; - res.data[3] = unsafe { _mm256_xor_si256(res.data[3], _mm256_set_epi64x(0, v5, 0, v7)) }; + res.data[0] = unsafe { _mm256_xor_si256(res.data[0], _mm256_set_epi64x(0, v1, 0, v0)) }; + res.data[1] = unsafe { _mm256_xor_si256(res.data[1], _mm256_set_epi64x(0, v3, 0, v2)) }; + res.data[2] = unsafe { _mm256_xor_si256(res.data[2], _mm256_set_epi64x(0, v5, 0, v4)) }; + res.data[3] = unsafe { _mm256_xor_si256(res.data[3], _mm256_set_epi64x(0, v7, 0, v6)) }; res } @@ -729,10 +729,10 @@ impl From for AVX256GF2_128x8 { AVX256GF2_128x8 { data: [ - unsafe { _mm256_set_epi64x(0, v0, 0, v2) }, // even - unsafe { _mm256_set_epi64x(0, v4, 0, v6) }, // even - unsafe { _mm256_set_epi64x(0, v1, 0, v3) }, // odd - unsafe { _mm256_set_epi64x(0, v5, 0, v7) }, // odd + unsafe { _mm256_set_epi64x(0, v1, 0, v0) }, + unsafe { _mm256_set_epi64x(0, v3, 0, v2) }, + unsafe { _mm256_set_epi64x(0, v5, 0, v4) }, + unsafe { _mm256_set_epi64x(0, v7, 0, v6) }, ], } }