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

Resolve some McEliece AVX build issues #932

Merged
merged 4 commits into from
Mar 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .CMake/alg_support.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,7 @@ if(OQS_MINIMAL_BUILD)
# Case 3, platform specific
string(REPLACE "_aesni" "" _var_base ${_var})
string(REPLACE "_avx2" "" _var_base ${_var_base})
string(REPLACE "_avx" "" _var_base ${_var_base})
if(${_var}_AVAILABLE)
if(${_var_base}X STREQUAL ${default_kem_switch}X
OR ${_var_base}X STREQUAL ${default_sig_switch}X)
Expand Down
2 changes: 0 additions & 2 deletions .CMake/compiler_opts.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
option(OQS_USE_CPU_EXTENSIONS "Enable compile and run-time support for CPU extensions such as AVX2, SSE, etc." ON)
if(OQS_USE_CPU_EXTENSIONS)
include(${CMAKE_CURRENT_LIST_DIR}/gcc_clang_intrinsics.cmake)
# to allow McEliece AVX code to compile with clang9:
add_compile_options(-Wno-language-extension-token)
endif()

if(OQS_DEBUG_BUILD)
Expand Down
4 changes: 0 additions & 4 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,6 @@ if(OQS_USE_OPENSSL)
target_link_libraries(oqs PUBLIC ${OPENSSL_CRYPTO_LIBRARY})
target_include_directories(oqs PUBLIC ${OPENSSL_INCLUDE_DIR})
endif()
if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND OQS_USE_AVX2_INSTRUCTIONS AND OQS_ENABLE_KEM_CLASSIC_MCELIECE)
# hack to enable McEliece' AVX symbols to link on Linux
target_link_options(oqs PRIVATE -Wl,-Bsymbolic)
endif()

set_target_properties(oqs
PROPERTIES
Expand Down
10 changes: 10 additions & 0 deletions src/kem/classic_mceliece/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_348864_avx)
target_include_directories(classic_mceliece_348864_avx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_mceliece348864_avx)
target_include_directories(classic_mceliece_348864_avx PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(classic_mceliece_348864_avx PRIVATE -mavx2 -mpopcnt)
target_compile_options(classic_mceliece_348864_avx PRIVATE -Wno-language-extension-token)
set(_CLASSIC_MCELIECE_OBJS ${_CLASSIC_MCELIECE_OBJS} $<TARGET_OBJECTS:classic_mceliece_348864_avx>)
endif()

Expand All @@ -32,6 +33,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_348864f_avx)
target_include_directories(classic_mceliece_348864f_avx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_mceliece348864f_avx)
target_include_directories(classic_mceliece_348864f_avx PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(classic_mceliece_348864f_avx PRIVATE -mavx2 -mpopcnt -mbmi)
target_compile_options(classic_mceliece_348864f_avx PRIVATE -Wno-language-extension-token)
set(_CLASSIC_MCELIECE_OBJS ${_CLASSIC_MCELIECE_OBJS} $<TARGET_OBJECTS:classic_mceliece_348864f_avx>)
endif()

Expand All @@ -47,6 +49,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_460896_avx)
target_include_directories(classic_mceliece_460896_avx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_mceliece460896_avx)
target_include_directories(classic_mceliece_460896_avx PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(classic_mceliece_460896_avx PRIVATE -mavx2 -mpopcnt)
target_compile_options(classic_mceliece_460896_avx PRIVATE -Wno-language-extension-token)
set(_CLASSIC_MCELIECE_OBJS ${_CLASSIC_MCELIECE_OBJS} $<TARGET_OBJECTS:classic_mceliece_460896_avx>)
endif()

Expand All @@ -62,6 +65,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_460896f_avx)
target_include_directories(classic_mceliece_460896f_avx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_mceliece460896f_avx)
target_include_directories(classic_mceliece_460896f_avx PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(classic_mceliece_460896f_avx PRIVATE -mavx2 -mbmi -mpopcnt)
target_compile_options(classic_mceliece_460896f_avx PRIVATE -Wno-language-extension-token)
set(_CLASSIC_MCELIECE_OBJS ${_CLASSIC_MCELIECE_OBJS} $<TARGET_OBJECTS:classic_mceliece_460896f_avx>)
endif()

Expand All @@ -77,6 +81,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_6688128_avx)
target_include_directories(classic_mceliece_6688128_avx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_mceliece6688128_avx)
target_include_directories(classic_mceliece_6688128_avx PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(classic_mceliece_6688128_avx PRIVATE -mavx2 -mpopcnt)
target_compile_options(classic_mceliece_6688128_avx PRIVATE -Wno-language-extension-token)
set(_CLASSIC_MCELIECE_OBJS ${_CLASSIC_MCELIECE_OBJS} $<TARGET_OBJECTS:classic_mceliece_6688128_avx>)
endif()

Expand All @@ -92,6 +97,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_6688128f_avx)
target_include_directories(classic_mceliece_6688128f_avx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_mceliece6688128f_avx)
target_include_directories(classic_mceliece_6688128f_avx PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(classic_mceliece_6688128f_avx PRIVATE -mavx2 -mbmi -mpopcnt)
target_compile_options(classic_mceliece_6688128f_avx PRIVATE -Wno-language-extension-token)
set(_CLASSIC_MCELIECE_OBJS ${_CLASSIC_MCELIECE_OBJS} $<TARGET_OBJECTS:classic_mceliece_6688128f_avx>)
endif()

Expand All @@ -107,6 +113,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_6960119_avx)
target_include_directories(classic_mceliece_6960119_avx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_mceliece6960119_avx)
target_include_directories(classic_mceliece_6960119_avx PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(classic_mceliece_6960119_avx PRIVATE -mavx2 -mpopcnt)
target_compile_options(classic_mceliece_6960119_avx PRIVATE -Wno-language-extension-token)
set(_CLASSIC_MCELIECE_OBJS ${_CLASSIC_MCELIECE_OBJS} $<TARGET_OBJECTS:classic_mceliece_6960119_avx>)
endif()

Expand All @@ -122,6 +129,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_6960119f_avx)
target_include_directories(classic_mceliece_6960119f_avx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_mceliece6960119f_avx)
target_include_directories(classic_mceliece_6960119f_avx PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(classic_mceliece_6960119f_avx PRIVATE -mavx2 -mbmi -mpopcnt)
target_compile_options(classic_mceliece_6960119f_avx PRIVATE -Wno-language-extension-token)
set(_CLASSIC_MCELIECE_OBJS ${_CLASSIC_MCELIECE_OBJS} $<TARGET_OBJECTS:classic_mceliece_6960119f_avx>)
endif()

Expand All @@ -137,6 +145,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_8192128_avx)
target_include_directories(classic_mceliece_8192128_avx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_mceliece8192128_avx)
target_include_directories(classic_mceliece_8192128_avx PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(classic_mceliece_8192128_avx PRIVATE -mavx2 -mpopcnt)
target_compile_options(classic_mceliece_8192128_avx PRIVATE -Wno-language-extension-token)
set(_CLASSIC_MCELIECE_OBJS ${_CLASSIC_MCELIECE_OBJS} $<TARGET_OBJECTS:classic_mceliece_8192128_avx>)
endif()

Expand All @@ -152,6 +161,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_8192128f_avx)
target_include_directories(classic_mceliece_8192128f_avx PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_mceliece8192128f_avx)
target_include_directories(classic_mceliece_8192128f_avx PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(classic_mceliece_8192128f_avx PRIVATE -mavx2 -mpopcnt -mbmi)
target_compile_options(classic_mceliece_8192128f_avx PRIVATE -Wno-language-extension-token)
set(_CLASSIC_MCELIECE_OBJS ${_CLASSIC_MCELIECE_OBJS} $<TARGET_OBJECTS:classic_mceliece_8192128f_avx>)
endif()

Expand Down
13 changes: 13 additions & 0 deletions src/kem/classic_mceliece/pqclean_mceliece348864_avx/consts.S
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
.globl PQCLEAN_MCELIECE348864_AVX_MASK5_0
.globl PQCLEAN_MCELIECE348864_AVX_MASK5_1

.hidden PQCLEAN_MCELIECE348864_AVX_MASK0_0
.hidden PQCLEAN_MCELIECE348864_AVX_MASK0_1
.hidden PQCLEAN_MCELIECE348864_AVX_MASK1_0
.hidden PQCLEAN_MCELIECE348864_AVX_MASK1_1
.hidden PQCLEAN_MCELIECE348864_AVX_MASK2_0
.hidden PQCLEAN_MCELIECE348864_AVX_MASK2_1
.hidden PQCLEAN_MCELIECE348864_AVX_MASK3_0
.hidden PQCLEAN_MCELIECE348864_AVX_MASK3_1
.hidden PQCLEAN_MCELIECE348864_AVX_MASK4_0
.hidden PQCLEAN_MCELIECE348864_AVX_MASK4_1
.hidden PQCLEAN_MCELIECE348864_AVX_MASK5_0
.hidden PQCLEAN_MCELIECE348864_AVX_MASK5_1

.p2align 5

PQCLEAN_MCELIECE348864_AVX_MASK0_0: .quad 0x5555555555555555, 0x5555555555555555, 0x5555555555555555, 0x5555555555555555
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <immintrin.h>

typedef __m256i int32x8;
#define int32x8_load(z) _mm256_loadu_si256((__m256i_u *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i_u *) (z),(i))
#define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
#define int32x8_min _mm256_min_epi32
#define int32x8_max _mm256_max_epi32

Expand Down
13 changes: 13 additions & 0 deletions src/kem/classic_mceliece/pqclean_mceliece348864f_avx/consts.S
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
.globl PQCLEAN_MCELIECE348864F_AVX_MASK5_0
.globl PQCLEAN_MCELIECE348864F_AVX_MASK5_1

.hidden PQCLEAN_MCELIECE348864F_AVX_MASK0_0
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK0_1
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK1_0
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK1_1
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK2_0
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK2_1
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK3_0
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK3_1
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK4_0
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK4_1
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK5_0
.hidden PQCLEAN_MCELIECE348864F_AVX_MASK5_1

.p2align 5

PQCLEAN_MCELIECE348864F_AVX_MASK0_0: .quad 0x5555555555555555, 0x5555555555555555, 0x5555555555555555, 0x5555555555555555
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <immintrin.h>

typedef __m256i int32x8;
#define int32x8_load(z) _mm256_loadu_si256((__m256i_u *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i_u *) (z),(i))
#define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
#define int32x8_min _mm256_min_epi32
#define int32x8_max _mm256_max_epi32

Expand Down
13 changes: 13 additions & 0 deletions src/kem/classic_mceliece/pqclean_mceliece460896_avx/consts.S
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
.globl PQCLEAN_MCELIECE460896_AVX_MASK5_0
.globl PQCLEAN_MCELIECE460896_AVX_MASK5_1

.hidden PQCLEAN_MCELIECE460896_AVX_MASK0_0
.hidden PQCLEAN_MCELIECE460896_AVX_MASK0_1
.hidden PQCLEAN_MCELIECE460896_AVX_MASK1_0
.hidden PQCLEAN_MCELIECE460896_AVX_MASK1_1
.hidden PQCLEAN_MCELIECE460896_AVX_MASK2_0
.hidden PQCLEAN_MCELIECE460896_AVX_MASK2_1
.hidden PQCLEAN_MCELIECE460896_AVX_MASK3_0
.hidden PQCLEAN_MCELIECE460896_AVX_MASK3_1
.hidden PQCLEAN_MCELIECE460896_AVX_MASK4_0
.hidden PQCLEAN_MCELIECE460896_AVX_MASK4_1
.hidden PQCLEAN_MCELIECE460896_AVX_MASK5_0
.hidden PQCLEAN_MCELIECE460896_AVX_MASK5_1

.p2align 5

PQCLEAN_MCELIECE460896_AVX_MASK0_0: .quad 0x5555555555555555, 0x5555555555555555, 0x5555555555555555, 0x5555555555555555
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <immintrin.h>

typedef __m256i int32x8;
#define int32x8_load(z) _mm256_loadu_si256((__m256i_u *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i_u *) (z),(i))
#define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
#define int32x8_min _mm256_min_epi32
#define int32x8_max _mm256_max_epi32

Expand Down
13 changes: 13 additions & 0 deletions src/kem/classic_mceliece/pqclean_mceliece460896f_avx/consts.S
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
.globl PQCLEAN_MCELIECE460896F_AVX_MASK5_0
.globl PQCLEAN_MCELIECE460896F_AVX_MASK5_1

.hidden PQCLEAN_MCELIECE460896F_AVX_MASK0_0
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK0_1
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK1_0
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK1_1
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK2_0
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK2_1
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK3_0
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK3_1
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK4_0
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK4_1
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK5_0
.hidden PQCLEAN_MCELIECE460896F_AVX_MASK5_1

.p2align 5

PQCLEAN_MCELIECE460896F_AVX_MASK0_0: .quad 0x5555555555555555, 0x5555555555555555, 0x5555555555555555, 0x5555555555555555
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <immintrin.h>

typedef __m256i int32x8;
#define int32x8_load(z) _mm256_loadu_si256((__m256i_u *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i_u *) (z),(i))
#define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
#define int32x8_min _mm256_min_epi32
#define int32x8_max _mm256_max_epi32

Expand Down
13 changes: 13 additions & 0 deletions src/kem/classic_mceliece/pqclean_mceliece6688128_avx/consts.S
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
.globl PQCLEAN_MCELIECE6688128_AVX_MASK5_0
.globl PQCLEAN_MCELIECE6688128_AVX_MASK5_1

.hidden PQCLEAN_MCELIECE6688128_AVX_MASK0_0
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK0_1
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK1_0
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK1_1
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK2_0
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK2_1
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK3_0
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK3_1
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK4_0
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK4_1
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK5_0
.hidden PQCLEAN_MCELIECE6688128_AVX_MASK5_1

.p2align 5

PQCLEAN_MCELIECE6688128_AVX_MASK0_0: .quad 0x5555555555555555, 0x5555555555555555, 0x5555555555555555, 0x5555555555555555
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <immintrin.h>

typedef __m256i int32x8;
#define int32x8_load(z) _mm256_loadu_si256((__m256i_u *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i_u *) (z),(i))
#define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
#define int32x8_min _mm256_min_epi32
#define int32x8_max _mm256_max_epi32

Expand Down
13 changes: 13 additions & 0 deletions src/kem/classic_mceliece/pqclean_mceliece6688128f_avx/consts.S
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
.globl PQCLEAN_MCELIECE6688128F_AVX_MASK5_0
.globl PQCLEAN_MCELIECE6688128F_AVX_MASK5_1

.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK0_0
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK0_1
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK1_0
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK1_1
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK2_0
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK2_1
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK3_0
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK3_1
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK4_0
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK4_1
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK5_0
.hidden PQCLEAN_MCELIECE6688128F_AVX_MASK5_1

.p2align 5

PQCLEAN_MCELIECE6688128F_AVX_MASK0_0: .quad 0x5555555555555555, 0x5555555555555555, 0x5555555555555555, 0x5555555555555555
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <immintrin.h>

typedef __m256i int32x8;
#define int32x8_load(z) _mm256_loadu_si256((__m256i_u *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i_u *) (z),(i))
#define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
#define int32x8_min _mm256_min_epi32
#define int32x8_max _mm256_max_epi32

Expand Down
13 changes: 13 additions & 0 deletions src/kem/classic_mceliece/pqclean_mceliece6960119_avx/consts.S
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
.globl PQCLEAN_MCELIECE6960119_AVX_MASK5_0
.globl PQCLEAN_MCELIECE6960119_AVX_MASK5_1

.hidden PQCLEAN_MCELIECE6960119_AVX_MASK0_0
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK0_1
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK1_0
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK1_1
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK2_0
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK2_1
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK3_0
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK3_1
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK4_0
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK4_1
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK5_0
.hidden PQCLEAN_MCELIECE6960119_AVX_MASK5_1

.p2align 5

PQCLEAN_MCELIECE6960119_AVX_MASK0_0: .quad 0x5555555555555555, 0x5555555555555555, 0x5555555555555555, 0x5555555555555555
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <immintrin.h>

typedef __m256i int32x8;
#define int32x8_load(z) _mm256_loadu_si256((__m256i_u *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i_u *) (z),(i))
#define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
#define int32x8_min _mm256_min_epi32
#define int32x8_max _mm256_max_epi32

Expand Down
13 changes: 13 additions & 0 deletions src/kem/classic_mceliece/pqclean_mceliece6960119f_avx/consts.S
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
.globl PQCLEAN_MCELIECE6960119F_AVX_MASK5_0
.globl PQCLEAN_MCELIECE6960119F_AVX_MASK5_1

.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK0_0
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK0_1
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK1_0
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK1_1
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK2_0
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK2_1
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK3_0
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK3_1
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK4_0
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK4_1
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK5_0
.hidden PQCLEAN_MCELIECE6960119F_AVX_MASK5_1

.p2align 5

PQCLEAN_MCELIECE6960119F_AVX_MASK0_0: .quad 0x5555555555555555, 0x5555555555555555, 0x5555555555555555, 0x5555555555555555
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <immintrin.h>

typedef __m256i int32x8;
#define int32x8_load(z) _mm256_loadu_si256((__m256i_u *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i_u *) (z),(i))
#define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
#define int32x8_min _mm256_min_epi32
#define int32x8_max _mm256_max_epi32

Expand Down
13 changes: 13 additions & 0 deletions src/kem/classic_mceliece/pqclean_mceliece8192128_avx/consts.S
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
.globl PQCLEAN_MCELIECE8192128_AVX_MASK5_0
.globl PQCLEAN_MCELIECE8192128_AVX_MASK5_1

.hidden PQCLEAN_MCELIECE8192128_AVX_MASK0_0
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK0_1
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK1_0
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK1_1
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK2_0
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK2_1
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK3_0
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK3_1
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK4_0
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK4_1
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK5_0
.hidden PQCLEAN_MCELIECE8192128_AVX_MASK5_1

.p2align 5

PQCLEAN_MCELIECE8192128_AVX_MASK0_0: .quad 0x5555555555555555, 0x5555555555555555, 0x5555555555555555, 0x5555555555555555
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <immintrin.h>

typedef __m256i int32x8;
#define int32x8_load(z) _mm256_loadu_si256((__m256i_u *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i_u *) (z),(i))
#define int32x8_load(z) _mm256_loadu_si256((__m256i *) (z))
#define int32x8_store(z,i) _mm256_storeu_si256((__m256i *) (z),(i))
#define int32x8_min _mm256_min_epi32
#define int32x8_max _mm256_max_epi32

Expand Down
Loading