aarch64 dist build (#1148)

* aarch64 dist generator run

* removing undocumented OQS_DIST_ARM64_V8_BUILD

* re-activate ARMV8 specific dist build
This commit is contained in:
Michael Baentsch 2021-12-09 17:47:45 +01:00 committed by GitHub
parent c97706c6b3
commit 3b7b8d7816
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 212 additions and 64 deletions

View File

@ -179,7 +179,7 @@ endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS)))
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEON_INSTRUCTIONS)))
if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))))
cmake_dependent_option(OQS_ENABLE_KEM_kyber_512_aarch64 "" ON "OQS_ENABLE_KEM_kyber_512" OFF)
else()
@ -196,7 +196,7 @@ endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS)))
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEON_INSTRUCTIONS)))
if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))))
cmake_dependent_option(OQS_ENABLE_KEM_kyber_768_aarch64 "" ON "OQS_ENABLE_KEM_kyber_768" OFF)
else()
@ -213,7 +213,7 @@ endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS)))
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEON_INSTRUCTIONS)))
if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))))
cmake_dependent_option(OQS_ENABLE_KEM_kyber_1024_aarch64 "" ON "OQS_ENABLE_KEM_kyber_1024" OFF)
else()
@ -343,7 +343,7 @@ endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS)))
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEON_INSTRUCTIONS)))
if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))))
cmake_dependent_option(OQS_ENABLE_KEM_saber_lightsaber_aarch64 "" ON "OQS_ENABLE_KEM_saber_lightsaber" OFF)
else()
@ -360,7 +360,7 @@ endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS)))
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEON_INSTRUCTIONS)))
if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))))
cmake_dependent_option(OQS_ENABLE_KEM_saber_saber_aarch64 "" ON "OQS_ENABLE_KEM_saber_saber" OFF)
else()
@ -377,7 +377,7 @@ endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS)))
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEON_INSTRUCTIONS)))
if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))))
cmake_dependent_option(OQS_ENABLE_KEM_saber_firesaber_aarch64 "" ON "OQS_ENABLE_KEM_saber_firesaber" OFF)
else()

View File

@ -15,7 +15,7 @@ endif()
{%- for platform in impl['supported_platforms'] if platform['architecture'] == 'ARM64_V8' %}
{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
{% endif -%}
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_ARM_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%})))
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%})))
{% if impl['upstream']['name'] == 'pqclean' -%}
if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))))
{%- endif %}
@ -50,7 +50,7 @@ endif()
{%- for platform in impl['supported_platforms'] if platform['architecture'] == 'ARM64_V8' %}
{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
{% endif -%}
if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_ARM_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%}))
if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%}))
cmake_dependent_option(OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
endif()
{% if platform['operating_systems'] %}endif()

View File

@ -521,12 +521,13 @@ def process_families(instructions, basedir, with_kat, with_generator):
try:
for i in range(len(impl['supported_platforms'])):
req = impl['supported_platforms'][i]
# if compiling for ARM64_V8 the asimd is implied and will cause errors
# when provided to the compiler, so we need to remove it
# if compiling for ARM64_V8, asimd/neon is implied and will cause errors
# when provided to the compiler; OQS uses the term ARM_NEON
if req['architecture'] == 'arm_8':
req['architecture'] = 'ARM64_V8'
if req['architecture'] == 'ARM64_V8' and 'asimd' in req['required_flags']:
req['required_flags'].remove('asimd')
req['required_flags'].append('arm_neon')
impl['required_flags'] = req['required_flags']
family['all_required_flags'].update(req['required_flags'])
except KeyError as ke:

View File

@ -40,8 +40,11 @@ if(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme_c'] }}_{{ impl['name'] }})
{%- endif %}
target_include_directories({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }})
target_include_directories({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
{%- if impl['name'] != scheme['default_implementation'] and impl['required_flags'] %}
target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE {%- for flag in impl['required_flags'] %} -m{%- if flag == 'bmi1' -%} bmi {%- elif flag == 'sse4_1' -%} sse4.1 {%- elif flag == 'pclmulqdq' -%} pclmul {%- else -%}{{ flag }}{%- endif -%}{%- endfor -%})
{%- if impl['name'] != scheme['default_implementation'] and impl['required_flags'] -%}
{%- set opts %}{% for flag in impl['required_flags'] %}{%- if flag != 'arm_neon' -%}-m{%- if flag == 'bmi1' -%} bmi {% elif flag == 'sse4_1' -%} sse4.1 {% elif flag == 'pclmulqdq' -%} pclmul {% else -%}{{ flag }} {% endif %}{% endif -%}{% endfor %}{% endset %}
{%- if opts|length > 0 %}
target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE {{ opts }})
{%- endif -%}
{%- endif %}
{%- if impl['compile_opts'] %}
target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PUBLIC {{ impl['compile_opts'] }})

View File

@ -16,7 +16,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_348864_avx)
add_library(classic_mceliece_348864_avx OBJECT pqclean_mceliece348864_avx/aes256ctr.c pqclean_mceliece348864_avx/benes.c pqclean_mceliece348864_avx/bm.c pqclean_mceliece348864_avx/consts.S pqclean_mceliece348864_avx/controlbits.c pqclean_mceliece348864_avx/decrypt.c pqclean_mceliece348864_avx/encrypt.c pqclean_mceliece348864_avx/fft.c pqclean_mceliece348864_avx/fft_tr.c pqclean_mceliece348864_avx/gf.c pqclean_mceliece348864_avx/int32_sort.c pqclean_mceliece348864_avx/operations.c pqclean_mceliece348864_avx/pk_gen.c pqclean_mceliece348864_avx/sk_gen.c pqclean_mceliece348864_avx/syndrome_asm.S pqclean_mceliece348864_avx/transpose.c pqclean_mceliece348864_avx/transpose_64x256_sp_asm.S pqclean_mceliece348864_avx/transpose_64x64_asm.S pqclean_mceliece348864_avx/uint32_sort.c pqclean_mceliece348864_avx/update_asm.S pqclean_mceliece348864_avx/util.c pqclean_mceliece348864_avx/vec.c pqclean_mceliece348864_avx/vec128.c pqclean_mceliece348864_avx/vec128_mul_asm.S pqclean_mceliece348864_avx/vec256.c pqclean_mceliece348864_avx/vec256_mul_asm.S pqclean_mceliece348864_avx/vec_mul_asm.S pqclean_mceliece348864_avx/vec_mul_sp_asm.S pqclean_mceliece348864_avx/vec_reduce_asm.S)
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 -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()
@ -32,7 +32,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_348864f_avx)
add_library(classic_mceliece_348864f_avx OBJECT pqclean_mceliece348864f_avx/aes256ctr.c pqclean_mceliece348864f_avx/benes.c pqclean_mceliece348864f_avx/bm.c pqclean_mceliece348864f_avx/consts.S pqclean_mceliece348864f_avx/controlbits.c pqclean_mceliece348864f_avx/decrypt.c pqclean_mceliece348864f_avx/encrypt.c pqclean_mceliece348864f_avx/fft.c pqclean_mceliece348864f_avx/fft_tr.c pqclean_mceliece348864f_avx/gf.c pqclean_mceliece348864f_avx/int32_sort.c pqclean_mceliece348864f_avx/operations.c pqclean_mceliece348864f_avx/pk_gen.c pqclean_mceliece348864f_avx/sk_gen.c pqclean_mceliece348864f_avx/syndrome_asm.S pqclean_mceliece348864f_avx/transpose.c pqclean_mceliece348864f_avx/transpose_64x256_sp_asm.S pqclean_mceliece348864f_avx/transpose_64x64_asm.S pqclean_mceliece348864f_avx/uint32_sort.c pqclean_mceliece348864f_avx/update_asm.S pqclean_mceliece348864f_avx/util.c pqclean_mceliece348864f_avx/vec.c pqclean_mceliece348864f_avx/vec128.c pqclean_mceliece348864f_avx/vec128_mul_asm.S pqclean_mceliece348864f_avx/vec256.c pqclean_mceliece348864f_avx/vec256_mul_asm.S pqclean_mceliece348864f_avx/vec_mul_asm.S pqclean_mceliece348864f_avx/vec_mul_sp_asm.S pqclean_mceliece348864f_avx/vec_reduce_asm.S)
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 -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()
@ -48,7 +48,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_460896_avx)
add_library(classic_mceliece_460896_avx OBJECT pqclean_mceliece460896_avx/aes256ctr.c pqclean_mceliece460896_avx/benes.c pqclean_mceliece460896_avx/bm.c pqclean_mceliece460896_avx/consts.S pqclean_mceliece460896_avx/controlbits.c pqclean_mceliece460896_avx/decrypt.c pqclean_mceliece460896_avx/encrypt.c pqclean_mceliece460896_avx/fft.c pqclean_mceliece460896_avx/fft_tr.c pqclean_mceliece460896_avx/gf.c pqclean_mceliece460896_avx/int32_sort.c pqclean_mceliece460896_avx/operations.c pqclean_mceliece460896_avx/pk_gen.c pqclean_mceliece460896_avx/sk_gen.c pqclean_mceliece460896_avx/syndrome_asm.S pqclean_mceliece460896_avx/transpose.c pqclean_mceliece460896_avx/transpose_64x128_sp_asm.S pqclean_mceliece460896_avx/transpose_64x256_sp_asm.S pqclean_mceliece460896_avx/uint32_sort.c pqclean_mceliece460896_avx/update_asm.S pqclean_mceliece460896_avx/util.c pqclean_mceliece460896_avx/vec128.c pqclean_mceliece460896_avx/vec128_mul_asm.S pqclean_mceliece460896_avx/vec256.c pqclean_mceliece460896_avx/vec256_ama_asm.S pqclean_mceliece460896_avx/vec256_maa_asm.S pqclean_mceliece460896_avx/vec256_mul_asm.S pqclean_mceliece460896_avx/vec_reduce_asm.S)
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 -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()
@ -64,7 +64,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_460896f_avx)
add_library(classic_mceliece_460896f_avx OBJECT pqclean_mceliece460896f_avx/aes256ctr.c pqclean_mceliece460896f_avx/benes.c pqclean_mceliece460896f_avx/bm.c pqclean_mceliece460896f_avx/consts.S pqclean_mceliece460896f_avx/controlbits.c pqclean_mceliece460896f_avx/decrypt.c pqclean_mceliece460896f_avx/encrypt.c pqclean_mceliece460896f_avx/fft.c pqclean_mceliece460896f_avx/fft_tr.c pqclean_mceliece460896f_avx/gf.c pqclean_mceliece460896f_avx/int32_sort.c pqclean_mceliece460896f_avx/operations.c pqclean_mceliece460896f_avx/pk_gen.c pqclean_mceliece460896f_avx/sk_gen.c pqclean_mceliece460896f_avx/syndrome_asm.S pqclean_mceliece460896f_avx/transpose.c pqclean_mceliece460896f_avx/transpose_64x128_sp_asm.S pqclean_mceliece460896f_avx/transpose_64x256_sp_asm.S pqclean_mceliece460896f_avx/uint32_sort.c pqclean_mceliece460896f_avx/update_asm.S pqclean_mceliece460896f_avx/util.c pqclean_mceliece460896f_avx/vec128.c pqclean_mceliece460896f_avx/vec128_mul_asm.S pqclean_mceliece460896f_avx/vec256.c pqclean_mceliece460896f_avx/vec256_ama_asm.S pqclean_mceliece460896f_avx/vec256_maa_asm.S pqclean_mceliece460896f_avx/vec256_mul_asm.S pqclean_mceliece460896f_avx/vec_reduce_asm.S)
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 -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()
@ -80,7 +80,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_6688128_avx)
add_library(classic_mceliece_6688128_avx OBJECT pqclean_mceliece6688128_avx/aes256ctr.c pqclean_mceliece6688128_avx/benes.c pqclean_mceliece6688128_avx/bm.c pqclean_mceliece6688128_avx/consts.S pqclean_mceliece6688128_avx/controlbits.c pqclean_mceliece6688128_avx/decrypt.c pqclean_mceliece6688128_avx/encrypt.c pqclean_mceliece6688128_avx/fft.c pqclean_mceliece6688128_avx/fft_tr.c pqclean_mceliece6688128_avx/gf.c pqclean_mceliece6688128_avx/int32_sort.c pqclean_mceliece6688128_avx/operations.c pqclean_mceliece6688128_avx/pk_gen.c pqclean_mceliece6688128_avx/sk_gen.c pqclean_mceliece6688128_avx/syndrome_asm.S pqclean_mceliece6688128_avx/transpose.c pqclean_mceliece6688128_avx/transpose_64x128_sp_asm.S pqclean_mceliece6688128_avx/transpose_64x256_sp_asm.S pqclean_mceliece6688128_avx/uint32_sort.c pqclean_mceliece6688128_avx/update_asm.S pqclean_mceliece6688128_avx/util.c pqclean_mceliece6688128_avx/vec128.c pqclean_mceliece6688128_avx/vec128_mul_asm.S pqclean_mceliece6688128_avx/vec256.c pqclean_mceliece6688128_avx/vec256_ama_asm.S pqclean_mceliece6688128_avx/vec256_maa_asm.S pqclean_mceliece6688128_avx/vec256_mul_asm.S pqclean_mceliece6688128_avx/vec_reduce_asm.S)
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 -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()
@ -96,7 +96,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_6688128f_avx)
add_library(classic_mceliece_6688128f_avx OBJECT pqclean_mceliece6688128f_avx/aes256ctr.c pqclean_mceliece6688128f_avx/benes.c pqclean_mceliece6688128f_avx/bm.c pqclean_mceliece6688128f_avx/consts.S pqclean_mceliece6688128f_avx/controlbits.c pqclean_mceliece6688128f_avx/decrypt.c pqclean_mceliece6688128f_avx/encrypt.c pqclean_mceliece6688128f_avx/fft.c pqclean_mceliece6688128f_avx/fft_tr.c pqclean_mceliece6688128f_avx/gf.c pqclean_mceliece6688128f_avx/int32_sort.c pqclean_mceliece6688128f_avx/operations.c pqclean_mceliece6688128f_avx/pk_gen.c pqclean_mceliece6688128f_avx/sk_gen.c pqclean_mceliece6688128f_avx/syndrome_asm.S pqclean_mceliece6688128f_avx/transpose.c pqclean_mceliece6688128f_avx/transpose_64x128_sp_asm.S pqclean_mceliece6688128f_avx/transpose_64x256_sp_asm.S pqclean_mceliece6688128f_avx/uint32_sort.c pqclean_mceliece6688128f_avx/update_asm.S pqclean_mceliece6688128f_avx/util.c pqclean_mceliece6688128f_avx/vec128.c pqclean_mceliece6688128f_avx/vec128_mul_asm.S pqclean_mceliece6688128f_avx/vec256.c pqclean_mceliece6688128f_avx/vec256_ama_asm.S pqclean_mceliece6688128f_avx/vec256_maa_asm.S pqclean_mceliece6688128f_avx/vec256_mul_asm.S pqclean_mceliece6688128f_avx/vec_reduce_asm.S)
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 -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()
@ -112,7 +112,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_6960119_avx)
add_library(classic_mceliece_6960119_avx OBJECT pqclean_mceliece6960119_avx/aes256ctr.c pqclean_mceliece6960119_avx/benes.c pqclean_mceliece6960119_avx/bm.c pqclean_mceliece6960119_avx/consts.S pqclean_mceliece6960119_avx/controlbits.c pqclean_mceliece6960119_avx/decrypt.c pqclean_mceliece6960119_avx/encrypt.c pqclean_mceliece6960119_avx/fft.c pqclean_mceliece6960119_avx/fft_tr.c pqclean_mceliece6960119_avx/gf.c pqclean_mceliece6960119_avx/int32_sort.c pqclean_mceliece6960119_avx/operations.c pqclean_mceliece6960119_avx/pk_gen.c pqclean_mceliece6960119_avx/sk_gen.c pqclean_mceliece6960119_avx/syndrome_asm.S pqclean_mceliece6960119_avx/transpose.c pqclean_mceliece6960119_avx/transpose_64x128_sp_asm.S pqclean_mceliece6960119_avx/transpose_64x256_sp_asm.S pqclean_mceliece6960119_avx/uint32_sort.c pqclean_mceliece6960119_avx/update_asm.S pqclean_mceliece6960119_avx/util.c pqclean_mceliece6960119_avx/vec128.c pqclean_mceliece6960119_avx/vec128_mul_asm.S pqclean_mceliece6960119_avx/vec256.c pqclean_mceliece6960119_avx/vec256_ama_asm.S pqclean_mceliece6960119_avx/vec256_maa_asm.S pqclean_mceliece6960119_avx/vec256_mul_asm.S pqclean_mceliece6960119_avx/vec_reduce_asm.S)
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 -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()
@ -128,7 +128,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_6960119f_avx)
add_library(classic_mceliece_6960119f_avx OBJECT pqclean_mceliece6960119f_avx/aes256ctr.c pqclean_mceliece6960119f_avx/benes.c pqclean_mceliece6960119f_avx/bm.c pqclean_mceliece6960119f_avx/consts.S pqclean_mceliece6960119f_avx/controlbits.c pqclean_mceliece6960119f_avx/decrypt.c pqclean_mceliece6960119f_avx/encrypt.c pqclean_mceliece6960119f_avx/fft.c pqclean_mceliece6960119f_avx/fft_tr.c pqclean_mceliece6960119f_avx/gf.c pqclean_mceliece6960119f_avx/int32_sort.c pqclean_mceliece6960119f_avx/operations.c pqclean_mceliece6960119f_avx/pk_gen.c pqclean_mceliece6960119f_avx/sk_gen.c pqclean_mceliece6960119f_avx/syndrome_asm.S pqclean_mceliece6960119f_avx/transpose.c pqclean_mceliece6960119f_avx/transpose_64x128_sp_asm.S pqclean_mceliece6960119f_avx/transpose_64x256_sp_asm.S pqclean_mceliece6960119f_avx/uint32_sort.c pqclean_mceliece6960119f_avx/update_asm.S pqclean_mceliece6960119f_avx/util.c pqclean_mceliece6960119f_avx/vec128.c pqclean_mceliece6960119f_avx/vec128_mul_asm.S pqclean_mceliece6960119f_avx/vec256.c pqclean_mceliece6960119f_avx/vec256_ama_asm.S pqclean_mceliece6960119f_avx/vec256_maa_asm.S pqclean_mceliece6960119f_avx/vec256_mul_asm.S pqclean_mceliece6960119f_avx/vec_reduce_asm.S)
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 -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()
@ -144,7 +144,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_8192128_avx)
add_library(classic_mceliece_8192128_avx OBJECT pqclean_mceliece8192128_avx/aes256ctr.c pqclean_mceliece8192128_avx/benes.c pqclean_mceliece8192128_avx/bm.c pqclean_mceliece8192128_avx/consts.S pqclean_mceliece8192128_avx/controlbits.c pqclean_mceliece8192128_avx/decrypt.c pqclean_mceliece8192128_avx/encrypt.c pqclean_mceliece8192128_avx/fft.c pqclean_mceliece8192128_avx/fft_tr.c pqclean_mceliece8192128_avx/gf.c pqclean_mceliece8192128_avx/int32_sort.c pqclean_mceliece8192128_avx/operations.c pqclean_mceliece8192128_avx/pk_gen.c pqclean_mceliece8192128_avx/sk_gen.c pqclean_mceliece8192128_avx/syndrome_asm.S pqclean_mceliece8192128_avx/transpose.c pqclean_mceliece8192128_avx/transpose_64x128_sp_asm.S pqclean_mceliece8192128_avx/transpose_64x256_sp_asm.S pqclean_mceliece8192128_avx/uint32_sort.c pqclean_mceliece8192128_avx/update_asm.S pqclean_mceliece8192128_avx/util.c pqclean_mceliece8192128_avx/vec128.c pqclean_mceliece8192128_avx/vec128_mul_asm.S pqclean_mceliece8192128_avx/vec256.c pqclean_mceliece8192128_avx/vec256_ama_asm.S pqclean_mceliece8192128_avx/vec256_maa_asm.S pqclean_mceliece8192128_avx/vec256_mul_asm.S pqclean_mceliece8192128_avx/vec_reduce_asm.S)
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 -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()
@ -160,7 +160,7 @@ if(OQS_ENABLE_KEM_classic_mceliece_8192128f_avx)
add_library(classic_mceliece_8192128f_avx OBJECT pqclean_mceliece8192128f_avx/aes256ctr.c pqclean_mceliece8192128f_avx/benes.c pqclean_mceliece8192128f_avx/bm.c pqclean_mceliece8192128f_avx/consts.S pqclean_mceliece8192128f_avx/controlbits.c pqclean_mceliece8192128f_avx/decrypt.c pqclean_mceliece8192128f_avx/encrypt.c pqclean_mceliece8192128f_avx/fft.c pqclean_mceliece8192128f_avx/fft_tr.c pqclean_mceliece8192128f_avx/gf.c pqclean_mceliece8192128f_avx/int32_sort.c pqclean_mceliece8192128f_avx/operations.c pqclean_mceliece8192128f_avx/pk_gen.c pqclean_mceliece8192128f_avx/sk_gen.c pqclean_mceliece8192128f_avx/syndrome_asm.S pqclean_mceliece8192128f_avx/transpose.c pqclean_mceliece8192128f_avx/transpose_64x128_sp_asm.S pqclean_mceliece8192128f_avx/transpose_64x256_sp_asm.S pqclean_mceliece8192128f_avx/uint32_sort.c pqclean_mceliece8192128f_avx/update_asm.S pqclean_mceliece8192128f_avx/util.c pqclean_mceliece8192128f_avx/vec128.c pqclean_mceliece8192128f_avx/vec128_mul_asm.S pqclean_mceliece8192128f_avx/vec256.c pqclean_mceliece8192128f_avx/vec256_ama_asm.S pqclean_mceliece8192128f_avx/vec256_maa_asm.S pqclean_mceliece8192128f_avx/vec256_mul_asm.S pqclean_mceliece8192128f_avx/vec_reduce_asm.S)
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 -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()

View File

@ -16,7 +16,7 @@ if(OQS_ENABLE_KEM_hqc_128_avx2)
add_library(hqc_128_avx2 OBJECT pqclean_hqc-rmrs-128_avx2/code.c pqclean_hqc-rmrs-128_avx2/fft.c pqclean_hqc-rmrs-128_avx2/gf.c pqclean_hqc-rmrs-128_avx2/gf2x.c pqclean_hqc-rmrs-128_avx2/hqc.c pqclean_hqc-rmrs-128_avx2/kem.c pqclean_hqc-rmrs-128_avx2/parsing.c pqclean_hqc-rmrs-128_avx2/reed_muller.c pqclean_hqc-rmrs-128_avx2/reed_solomon.c pqclean_hqc-rmrs-128_avx2/vector.c)
target_include_directories(hqc_128_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_hqc-rmrs-128_avx2)
target_include_directories(hqc_128_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(hqc_128_avx2 PRIVATE -mavx2 -mbmi -mpclmul)
target_compile_options(hqc_128_avx2 PRIVATE -mavx2 -mbmi -mpclmul )
target_compile_options(hqc_128_avx2 PRIVATE -Wno-missing-braces)
set(_HQC_OBJS ${_HQC_OBJS} $<TARGET_OBJECTS:hqc_128_avx2>)
endif()
@ -32,7 +32,7 @@ if(OQS_ENABLE_KEM_hqc_192_avx2)
add_library(hqc_192_avx2 OBJECT pqclean_hqc-rmrs-192_avx2/code.c pqclean_hqc-rmrs-192_avx2/fft.c pqclean_hqc-rmrs-192_avx2/gf.c pqclean_hqc-rmrs-192_avx2/gf2x.c pqclean_hqc-rmrs-192_avx2/hqc.c pqclean_hqc-rmrs-192_avx2/kem.c pqclean_hqc-rmrs-192_avx2/parsing.c pqclean_hqc-rmrs-192_avx2/reed_muller.c pqclean_hqc-rmrs-192_avx2/reed_solomon.c pqclean_hqc-rmrs-192_avx2/vector.c)
target_include_directories(hqc_192_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_hqc-rmrs-192_avx2)
target_include_directories(hqc_192_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(hqc_192_avx2 PRIVATE -mavx2 -mbmi -mpclmul)
target_compile_options(hqc_192_avx2 PRIVATE -mavx2 -mbmi -mpclmul )
target_compile_options(hqc_192_avx2 PRIVATE -Wno-missing-braces)
set(_HQC_OBJS ${_HQC_OBJS} $<TARGET_OBJECTS:hqc_192_avx2>)
endif()
@ -48,7 +48,7 @@ if(OQS_ENABLE_KEM_hqc_256_avx2)
add_library(hqc_256_avx2 OBJECT pqclean_hqc-rmrs-256_avx2/code.c pqclean_hqc-rmrs-256_avx2/fft.c pqclean_hqc-rmrs-256_avx2/gf.c pqclean_hqc-rmrs-256_avx2/gf2x.c pqclean_hqc-rmrs-256_avx2/hqc.c pqclean_hqc-rmrs-256_avx2/kem.c pqclean_hqc-rmrs-256_avx2/parsing.c pqclean_hqc-rmrs-256_avx2/reed_muller.c pqclean_hqc-rmrs-256_avx2/reed_solomon.c pqclean_hqc-rmrs-256_avx2/vector.c)
target_include_directories(hqc_256_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_hqc-rmrs-256_avx2)
target_include_directories(hqc_256_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(hqc_256_avx2 PRIVATE -mavx2 -mbmi -mpclmul)
target_compile_options(hqc_256_avx2 PRIVATE -mavx2 -mbmi -mpclmul )
target_compile_options(hqc_256_avx2 PRIVATE -Wno-missing-braces)
set(_HQC_OBJS ${_HQC_OBJS} $<TARGET_OBJECTS:hqc_256_avx2>)
endif()

View File

@ -31,7 +31,7 @@ if(OQS_ENABLE_KEM_kyber_512_avx2)
add_library(kyber_512_avx2 OBJECT pqcrystals-kyber_kyber512_avx2/basemul.S pqcrystals-kyber_kyber512_avx2/cbd.c pqcrystals-kyber_kyber512_avx2/consts.c pqcrystals-kyber_kyber512_avx2/fq.S pqcrystals-kyber_kyber512_avx2/indcpa.c pqcrystals-kyber_kyber512_avx2/invntt.S pqcrystals-kyber_kyber512_avx2/kem.c pqcrystals-kyber_kyber512_avx2/ntt.S pqcrystals-kyber_kyber512_avx2/poly.c pqcrystals-kyber_kyber512_avx2/polyvec.c pqcrystals-kyber_kyber512_avx2/rejsample.c pqcrystals-kyber_kyber512_avx2/shuffle.S pqcrystals-kyber_kyber512_avx2/symmetric-shake.c pqcrystals-kyber_kyber512_avx2/verify.c)
target_include_directories(kyber_512_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber_kyber512_avx2)
target_include_directories(kyber_512_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(kyber_512_avx2 PRIVATE -mavx2 -mbmi2 -mpopcnt)
target_compile_options(kyber_512_avx2 PRIVATE -mavx2 -mbmi2 -mpopcnt )
target_compile_options(kyber_512_avx2 PUBLIC -DKYBER_K=2)
set(_KYBER_OBJS ${_KYBER_OBJS} $<TARGET_OBJECTS:kyber_512_avx2>)
endif()
@ -56,7 +56,7 @@ if(OQS_ENABLE_KEM_kyber_768_avx2)
add_library(kyber_768_avx2 OBJECT pqcrystals-kyber_kyber768_avx2/basemul.S pqcrystals-kyber_kyber768_avx2/cbd.c pqcrystals-kyber_kyber768_avx2/consts.c pqcrystals-kyber_kyber768_avx2/fq.S pqcrystals-kyber_kyber768_avx2/indcpa.c pqcrystals-kyber_kyber768_avx2/invntt.S pqcrystals-kyber_kyber768_avx2/kem.c pqcrystals-kyber_kyber768_avx2/ntt.S pqcrystals-kyber_kyber768_avx2/poly.c pqcrystals-kyber_kyber768_avx2/polyvec.c pqcrystals-kyber_kyber768_avx2/rejsample.c pqcrystals-kyber_kyber768_avx2/shuffle.S pqcrystals-kyber_kyber768_avx2/symmetric-shake.c pqcrystals-kyber_kyber768_avx2/verify.c)
target_include_directories(kyber_768_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber_kyber768_avx2)
target_include_directories(kyber_768_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(kyber_768_avx2 PRIVATE -mavx2 -mbmi2 -mpopcnt)
target_compile_options(kyber_768_avx2 PRIVATE -mavx2 -mbmi2 -mpopcnt )
target_compile_options(kyber_768_avx2 PUBLIC -DKYBER_K=3)
set(_KYBER_OBJS ${_KYBER_OBJS} $<TARGET_OBJECTS:kyber_768_avx2>)
endif()
@ -81,7 +81,7 @@ if(OQS_ENABLE_KEM_kyber_1024_avx2)
add_library(kyber_1024_avx2 OBJECT pqcrystals-kyber_kyber1024_avx2/basemul.S pqcrystals-kyber_kyber1024_avx2/cbd.c pqcrystals-kyber_kyber1024_avx2/consts.c pqcrystals-kyber_kyber1024_avx2/fq.S pqcrystals-kyber_kyber1024_avx2/indcpa.c pqcrystals-kyber_kyber1024_avx2/invntt.S pqcrystals-kyber_kyber1024_avx2/kem.c pqcrystals-kyber_kyber1024_avx2/ntt.S pqcrystals-kyber_kyber1024_avx2/poly.c pqcrystals-kyber_kyber1024_avx2/polyvec.c pqcrystals-kyber_kyber1024_avx2/rejsample.c pqcrystals-kyber_kyber1024_avx2/shuffle.S pqcrystals-kyber_kyber1024_avx2/symmetric-shake.c pqcrystals-kyber_kyber1024_avx2/verify.c)
target_include_directories(kyber_1024_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber_kyber1024_avx2)
target_include_directories(kyber_1024_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(kyber_1024_avx2 PRIVATE -mavx2 -mbmi2 -mpopcnt)
target_compile_options(kyber_1024_avx2 PRIVATE -mavx2 -mbmi2 -mpopcnt )
target_compile_options(kyber_1024_avx2 PUBLIC -DKYBER_K=4)
set(_KYBER_OBJS ${_KYBER_OBJS} $<TARGET_OBJECTS:kyber_1024_avx2>)
endif()
@ -106,7 +106,7 @@ if(OQS_ENABLE_KEM_kyber_512_90s_avx2)
add_library(kyber_512_90s_avx2 OBJECT pqcrystals-kyber_kyber512-90s_avx2/basemul.S pqcrystals-kyber_kyber512-90s_avx2/cbd.c pqcrystals-kyber_kyber512-90s_avx2/consts.c pqcrystals-kyber_kyber512-90s_avx2/fq.S pqcrystals-kyber_kyber512-90s_avx2/indcpa.c pqcrystals-kyber_kyber512-90s_avx2/invntt.S pqcrystals-kyber_kyber512-90s_avx2/kem.c pqcrystals-kyber_kyber512-90s_avx2/ntt.S pqcrystals-kyber_kyber512-90s_avx2/poly.c pqcrystals-kyber_kyber512-90s_avx2/polyvec.c pqcrystals-kyber_kyber512-90s_avx2/rejsample.c pqcrystals-kyber_kyber512-90s_avx2/shuffle.S pqcrystals-kyber_kyber512-90s_avx2/verify.c)
target_include_directories(kyber_512_90s_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber_kyber512-90s_avx2)
target_include_directories(kyber_512_90s_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(kyber_512_90s_avx2 PRIVATE -maes -mavx2 -mbmi2 -mpopcnt)
target_compile_options(kyber_512_90s_avx2 PRIVATE -maes -mavx2 -mbmi2 -mpopcnt )
target_compile_options(kyber_512_90s_avx2 PUBLIC -DKYBER_K=2 -DKYBER_90S)
set(_KYBER_OBJS ${_KYBER_OBJS} $<TARGET_OBJECTS:kyber_512_90s_avx2>)
endif()
@ -124,7 +124,7 @@ if(OQS_ENABLE_KEM_kyber_768_90s_avx2)
add_library(kyber_768_90s_avx2 OBJECT pqcrystals-kyber_kyber768-90s_avx2/basemul.S pqcrystals-kyber_kyber768-90s_avx2/cbd.c pqcrystals-kyber_kyber768-90s_avx2/consts.c pqcrystals-kyber_kyber768-90s_avx2/fq.S pqcrystals-kyber_kyber768-90s_avx2/indcpa.c pqcrystals-kyber_kyber768-90s_avx2/invntt.S pqcrystals-kyber_kyber768-90s_avx2/kem.c pqcrystals-kyber_kyber768-90s_avx2/ntt.S pqcrystals-kyber_kyber768-90s_avx2/poly.c pqcrystals-kyber_kyber768-90s_avx2/polyvec.c pqcrystals-kyber_kyber768-90s_avx2/rejsample.c pqcrystals-kyber_kyber768-90s_avx2/shuffle.S pqcrystals-kyber_kyber768-90s_avx2/verify.c)
target_include_directories(kyber_768_90s_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber_kyber768-90s_avx2)
target_include_directories(kyber_768_90s_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(kyber_768_90s_avx2 PRIVATE -maes -mavx2 -mbmi2 -mpopcnt)
target_compile_options(kyber_768_90s_avx2 PRIVATE -maes -mavx2 -mbmi2 -mpopcnt )
target_compile_options(kyber_768_90s_avx2 PUBLIC -DKYBER_K=3 -DKYBER_90S)
set(_KYBER_OBJS ${_KYBER_OBJS} $<TARGET_OBJECTS:kyber_768_90s_avx2>)
endif()
@ -142,7 +142,7 @@ if(OQS_ENABLE_KEM_kyber_1024_90s_avx2)
add_library(kyber_1024_90s_avx2 OBJECT pqcrystals-kyber_kyber1024-90s_avx2/basemul.S pqcrystals-kyber_kyber1024-90s_avx2/cbd.c pqcrystals-kyber_kyber1024-90s_avx2/consts.c pqcrystals-kyber_kyber1024-90s_avx2/fq.S pqcrystals-kyber_kyber1024-90s_avx2/indcpa.c pqcrystals-kyber_kyber1024-90s_avx2/invntt.S pqcrystals-kyber_kyber1024-90s_avx2/kem.c pqcrystals-kyber_kyber1024-90s_avx2/ntt.S pqcrystals-kyber_kyber1024-90s_avx2/poly.c pqcrystals-kyber_kyber1024-90s_avx2/polyvec.c pqcrystals-kyber_kyber1024-90s_avx2/rejsample.c pqcrystals-kyber_kyber1024-90s_avx2/shuffle.S pqcrystals-kyber_kyber1024-90s_avx2/verify.c)
target_include_directories(kyber_1024_90s_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber_kyber1024-90s_avx2)
target_include_directories(kyber_1024_90s_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(kyber_1024_90s_avx2 PRIVATE -maes -mavx2 -mbmi2 -mpopcnt)
target_compile_options(kyber_1024_90s_avx2 PRIVATE -maes -mavx2 -mbmi2 -mpopcnt )
target_compile_options(kyber_1024_90s_avx2 PUBLIC -DKYBER_K=4 -DKYBER_90S)
set(_KYBER_OBJS ${_KYBER_OBJS} $<TARGET_OBJECTS:kyber_1024_90s_avx2>)
endif()

View File

@ -58,7 +58,15 @@ OQS_API OQS_STATUS OQS_KEM_kyber_1024_keypair(uint8_t *public_key, uint8_t *secr
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_kyber_1024_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_KYBER1024_AARCH64_crypto_kem_keypair(public_key, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) pqcrystals_kyber1024_ref_keypair(public_key, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) pqcrystals_kyber1024_ref_keypair(public_key, secret_key);
#endif
@ -76,7 +84,15 @@ OQS_API OQS_STATUS OQS_KEM_kyber_1024_encaps(uint8_t *ciphertext, uint8_t *share
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_kyber_1024_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_KYBER1024_AARCH64_crypto_kem_enc(ciphertext, shared_secret, public_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) pqcrystals_kyber1024_ref_enc(ciphertext, shared_secret, public_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) pqcrystals_kyber1024_ref_enc(ciphertext, shared_secret, public_key);
#endif
@ -94,7 +110,15 @@ OQS_API OQS_STATUS OQS_KEM_kyber_1024_decaps(uint8_t *shared_secret, const uint8
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_kyber_1024_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_KYBER1024_AARCH64_crypto_kem_dec(shared_secret, ciphertext, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) pqcrystals_kyber1024_ref_dec(shared_secret, ciphertext, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) pqcrystals_kyber1024_ref_dec(shared_secret, ciphertext, secret_key);
#endif

View File

@ -58,7 +58,15 @@ OQS_API OQS_STATUS OQS_KEM_kyber_512_keypair(uint8_t *public_key, uint8_t *secre
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_kyber_512_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_KYBER512_AARCH64_crypto_kem_keypair(public_key, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) pqcrystals_kyber512_ref_keypair(public_key, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) pqcrystals_kyber512_ref_keypair(public_key, secret_key);
#endif
@ -76,7 +84,15 @@ OQS_API OQS_STATUS OQS_KEM_kyber_512_encaps(uint8_t *ciphertext, uint8_t *shared
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_kyber_512_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_KYBER512_AARCH64_crypto_kem_enc(ciphertext, shared_secret, public_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) pqcrystals_kyber512_ref_enc(ciphertext, shared_secret, public_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) pqcrystals_kyber512_ref_enc(ciphertext, shared_secret, public_key);
#endif
@ -94,7 +110,15 @@ OQS_API OQS_STATUS OQS_KEM_kyber_512_decaps(uint8_t *shared_secret, const uint8_
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_kyber_512_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_KYBER512_AARCH64_crypto_kem_dec(shared_secret, ciphertext, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) pqcrystals_kyber512_ref_dec(shared_secret, ciphertext, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) pqcrystals_kyber512_ref_dec(shared_secret, ciphertext, secret_key);
#endif

View File

@ -58,7 +58,15 @@ OQS_API OQS_STATUS OQS_KEM_kyber_768_keypair(uint8_t *public_key, uint8_t *secre
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_kyber_768_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_KYBER768_AARCH64_crypto_kem_keypair(public_key, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) pqcrystals_kyber768_ref_keypair(public_key, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) pqcrystals_kyber768_ref_keypair(public_key, secret_key);
#endif
@ -76,7 +84,15 @@ OQS_API OQS_STATUS OQS_KEM_kyber_768_encaps(uint8_t *ciphertext, uint8_t *shared
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_kyber_768_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_KYBER768_AARCH64_crypto_kem_enc(ciphertext, shared_secret, public_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) pqcrystals_kyber768_ref_enc(ciphertext, shared_secret, public_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) pqcrystals_kyber768_ref_enc(ciphertext, shared_secret, public_key);
#endif
@ -94,7 +110,15 @@ OQS_API OQS_STATUS OQS_KEM_kyber_768_decaps(uint8_t *shared_secret, const uint8_
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_kyber_768_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_KYBER768_AARCH64_crypto_kem_dec(shared_secret, ciphertext, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) pqcrystals_kyber768_ref_dec(shared_secret, ciphertext, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) pqcrystals_kyber768_ref_dec(shared_secret, ciphertext, secret_key);
#endif

View File

@ -16,7 +16,7 @@ if(OQS_ENABLE_KEM_ntru_hps2048509_avx2)
add_library(ntru_hps2048509_avx2 OBJECT pqclean_ntruhps2048509_avx2/cmov.c pqclean_ntruhps2048509_avx2/crypto_sort_int32.c pqclean_ntruhps2048509_avx2/kem.c pqclean_ntruhps2048509_avx2/owcpa.c pqclean_ntruhps2048509_avx2/pack3.c pqclean_ntruhps2048509_avx2/packq.c pqclean_ntruhps2048509_avx2/poly.c pqclean_ntruhps2048509_avx2/poly_lift.c pqclean_ntruhps2048509_avx2/poly_mod_3_Phi_n.s pqclean_ntruhps2048509_avx2/poly_mod_q_Phi_n.s pqclean_ntruhps2048509_avx2/poly_r2_inv.c pqclean_ntruhps2048509_avx2/poly_r2_mul.s pqclean_ntruhps2048509_avx2/poly_rq_mul.s pqclean_ntruhps2048509_avx2/poly_rq_to_s3.s pqclean_ntruhps2048509_avx2/poly_s3_inv.c pqclean_ntruhps2048509_avx2/sample.c pqclean_ntruhps2048509_avx2/sample_iid.c pqclean_ntruhps2048509_avx2/square_126_509_shufbytes.s pqclean_ntruhps2048509_avx2/square_15_509_shufbytes.s pqclean_ntruhps2048509_avx2/square_1_509_patience.s pqclean_ntruhps2048509_avx2/square_252_509_shufbytes.s pqclean_ntruhps2048509_avx2/square_30_509_shufbytes.s pqclean_ntruhps2048509_avx2/square_3_509_patience.s pqclean_ntruhps2048509_avx2/square_63_509_shufbytes.s pqclean_ntruhps2048509_avx2/square_6_509_patience.s pqclean_ntruhps2048509_avx2/vec32_sample_iid.s)
target_include_directories(ntru_hps2048509_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_ntruhps2048509_avx2)
target_include_directories(ntru_hps2048509_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntru_hps2048509_avx2 PRIVATE -mavx2 -mbmi2)
target_compile_options(ntru_hps2048509_avx2 PRIVATE -mavx2 -mbmi2 )
set(_NTRU_OBJS ${_NTRU_OBJS} $<TARGET_OBJECTS:ntru_hps2048509_avx2>)
endif()
@ -31,7 +31,7 @@ if(OQS_ENABLE_KEM_ntru_hps2048677_avx2)
add_library(ntru_hps2048677_avx2 OBJECT pqclean_ntruhps2048677_avx2/cmov.c pqclean_ntruhps2048677_avx2/crypto_sort_int32.c pqclean_ntruhps2048677_avx2/kem.c pqclean_ntruhps2048677_avx2/owcpa.c pqclean_ntruhps2048677_avx2/pack3.c pqclean_ntruhps2048677_avx2/packq.c pqclean_ntruhps2048677_avx2/poly.c pqclean_ntruhps2048677_avx2/poly_lift.c pqclean_ntruhps2048677_avx2/poly_mod_3_Phi_n.s pqclean_ntruhps2048677_avx2/poly_mod_q_Phi_n.s pqclean_ntruhps2048677_avx2/poly_r2_inv.c pqclean_ntruhps2048677_avx2/poly_r2_mul.s pqclean_ntruhps2048677_avx2/poly_rq_mul.s pqclean_ntruhps2048677_avx2/poly_rq_to_s3.s pqclean_ntruhps2048677_avx2/poly_s3_inv.c pqclean_ntruhps2048677_avx2/sample.c pqclean_ntruhps2048677_avx2/sample_iid.c pqclean_ntruhps2048677_avx2/square_10_677_shufbytes.s pqclean_ntruhps2048677_avx2/square_168_677_shufbytes.s pqclean_ntruhps2048677_avx2/square_1_677_patience.s pqclean_ntruhps2048677_avx2/square_21_677_shufbytes.s pqclean_ntruhps2048677_avx2/square_2_677_patience.s pqclean_ntruhps2048677_avx2/square_336_677_shufbytes.s pqclean_ntruhps2048677_avx2/square_3_677_patience.s pqclean_ntruhps2048677_avx2/square_42_677_shufbytes.s pqclean_ntruhps2048677_avx2/square_5_677_patience.s pqclean_ntruhps2048677_avx2/square_84_677_shufbytes.s pqclean_ntruhps2048677_avx2/vec32_sample_iid.s)
target_include_directories(ntru_hps2048677_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_ntruhps2048677_avx2)
target_include_directories(ntru_hps2048677_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntru_hps2048677_avx2 PRIVATE -mavx2 -mbmi2)
target_compile_options(ntru_hps2048677_avx2 PRIVATE -mavx2 -mbmi2 )
set(_NTRU_OBJS ${_NTRU_OBJS} $<TARGET_OBJECTS:ntru_hps2048677_avx2>)
endif()
@ -46,7 +46,7 @@ if(OQS_ENABLE_KEM_ntru_hps4096821_avx2)
add_library(ntru_hps4096821_avx2 OBJECT pqclean_ntruhps4096821_avx2/cmov.c pqclean_ntruhps4096821_avx2/crypto_sort_int32.c pqclean_ntruhps4096821_avx2/kem.c pqclean_ntruhps4096821_avx2/owcpa.c pqclean_ntruhps4096821_avx2/pack3.c pqclean_ntruhps4096821_avx2/packq.c pqclean_ntruhps4096821_avx2/poly.c pqclean_ntruhps4096821_avx2/poly_lift.c pqclean_ntruhps4096821_avx2/poly_mod_3_Phi_n.s pqclean_ntruhps4096821_avx2/poly_mod_q_Phi_n.s pqclean_ntruhps4096821_avx2/poly_r2_inv.c pqclean_ntruhps4096821_avx2/poly_r2_mul.s pqclean_ntruhps4096821_avx2/poly_rq_mul.s pqclean_ntruhps4096821_avx2/poly_rq_to_s3.s pqclean_ntruhps4096821_avx2/poly_s3_inv.c pqclean_ntruhps4096821_avx2/sample.c pqclean_ntruhps4096821_avx2/sample_iid.c pqclean_ntruhps4096821_avx2/square_102_821_shufbytes.s pqclean_ntruhps4096821_avx2/square_12_821_shufbytes.s pqclean_ntruhps4096821_avx2/square_1_821_patience.s pqclean_ntruhps4096821_avx2/square_204_821_shufbytes.s pqclean_ntruhps4096821_avx2/square_24_821_shufbytes.s pqclean_ntruhps4096821_avx2/square_3_821_patience.s pqclean_ntruhps4096821_avx2/square_408_821_shufbytes.s pqclean_ntruhps4096821_avx2/square_51_821_shufbytes.s pqclean_ntruhps4096821_avx2/square_6_821_patience.s pqclean_ntruhps4096821_avx2/vec32_sample_iid.s)
target_include_directories(ntru_hps4096821_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_ntruhps4096821_avx2)
target_include_directories(ntru_hps4096821_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntru_hps4096821_avx2 PRIVATE -mavx2 -mbmi2)
target_compile_options(ntru_hps4096821_avx2 PRIVATE -mavx2 -mbmi2 )
set(_NTRU_OBJS ${_NTRU_OBJS} $<TARGET_OBJECTS:ntru_hps4096821_avx2>)
endif()
@ -68,7 +68,7 @@ if(OQS_ENABLE_KEM_ntru_hrss701_avx2)
add_library(ntru_hrss701_avx2 OBJECT pqclean_ntruhrss701_avx2/cmov.c pqclean_ntruhrss701_avx2/kem.c pqclean_ntruhrss701_avx2/owcpa.c pqclean_ntruhrss701_avx2/pack3.c pqclean_ntruhrss701_avx2/packq.c pqclean_ntruhrss701_avx2/poly.c pqclean_ntruhrss701_avx2/poly_lift.s pqclean_ntruhrss701_avx2/poly_mod_3_Phi_n.s pqclean_ntruhrss701_avx2/poly_mod_q_Phi_n.s pqclean_ntruhrss701_avx2/poly_r2_inv.c pqclean_ntruhrss701_avx2/poly_r2_mul.s pqclean_ntruhrss701_avx2/poly_rq_mul.s pqclean_ntruhrss701_avx2/poly_rq_to_s3.s pqclean_ntruhrss701_avx2/poly_s3_inv.c pqclean_ntruhrss701_avx2/sample.c pqclean_ntruhrss701_avx2/sample_iid.c pqclean_ntruhrss701_avx2/square_12_701_shufbytes.s pqclean_ntruhrss701_avx2/square_15_701_shufbytes.s pqclean_ntruhrss701_avx2/square_168_701_shufbytes.s pqclean_ntruhrss701_avx2/square_1_701_patience.s pqclean_ntruhrss701_avx2/square_27_701_shufbytes.s pqclean_ntruhrss701_avx2/square_336_701_shufbytes.s pqclean_ntruhrss701_avx2/square_3_701_patience.s pqclean_ntruhrss701_avx2/square_42_701_shufbytes.s pqclean_ntruhrss701_avx2/square_6_701_patience.s pqclean_ntruhrss701_avx2/square_84_701_shufbytes.s pqclean_ntruhrss701_avx2/vec32_sample_iid.s)
target_include_directories(ntru_hrss701_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_ntruhrss701_avx2)
target_include_directories(ntru_hrss701_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntru_hrss701_avx2 PRIVATE -mavx2 -mbmi2)
target_compile_options(ntru_hrss701_avx2 PRIVATE -mavx2 -mbmi2 )
set(_NTRU_OBJS ${_NTRU_OBJS} $<TARGET_OBJECTS:ntru_hrss701_avx2>)
endif()

View File

@ -16,7 +16,7 @@ if(OQS_ENABLE_KEM_ntruprime_ntrulpr653_avx2)
add_library(ntruprime_ntrulpr653_avx2 OBJECT pqclean_ntrulpr653_avx2/crypto_core_multsntrup653.c pqclean_ntrulpr653_avx2/crypto_core_multsntrup653_ntt.c pqclean_ntrulpr653_avx2/crypto_decode_256x16.c pqclean_ntrulpr653_avx2/crypto_decode_256x2.c pqclean_ntrulpr653_avx2/crypto_decode_653x1541.c pqclean_ntrulpr653_avx2/crypto_decode_653x3.c pqclean_ntrulpr653_avx2/crypto_decode_653xint16.c pqclean_ntrulpr653_avx2/crypto_decode_653xint32.c pqclean_ntrulpr653_avx2/crypto_encode_256x16.c pqclean_ntrulpr653_avx2/crypto_encode_256x2.c pqclean_ntrulpr653_avx2/crypto_encode_653x1541.c pqclean_ntrulpr653_avx2/crypto_encode_653x1541round.c pqclean_ntrulpr653_avx2/crypto_encode_653x3.c pqclean_ntrulpr653_avx2/crypto_encode_653xint16.c pqclean_ntrulpr653_avx2/crypto_sort_int32.c pqclean_ntrulpr653_avx2/crypto_sort_uint32.c pqclean_ntrulpr653_avx2/crypto_stream_aes256ctr.c pqclean_ntrulpr653_avx2/crypto_verify_1025.c pqclean_ntrulpr653_avx2/kem.c)
target_include_directories(ntruprime_ntrulpr653_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_ntrulpr653_avx2)
target_include_directories(ntruprime_ntrulpr653_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntruprime_ntrulpr653_avx2 PRIVATE -mavx2)
target_compile_options(ntruprime_ntrulpr653_avx2 PRIVATE -mavx2 )
set(_NTRUPRIME_OBJS ${_NTRUPRIME_OBJS} $<TARGET_OBJECTS:ntruprime_ntrulpr653_avx2>)
endif()
@ -31,7 +31,7 @@ if(OQS_ENABLE_KEM_ntruprime_ntrulpr761_avx2)
add_library(ntruprime_ntrulpr761_avx2 OBJECT pqclean_ntrulpr761_avx2/crypto_core_multsntrup761.c pqclean_ntrulpr761_avx2/crypto_core_multsntrup761_ntt.c pqclean_ntrulpr761_avx2/crypto_decode_256x16.c pqclean_ntrulpr761_avx2/crypto_decode_256x2.c pqclean_ntrulpr761_avx2/crypto_decode_761x1531.c pqclean_ntrulpr761_avx2/crypto_decode_761x3.c pqclean_ntrulpr761_avx2/crypto_decode_761xint16.c pqclean_ntrulpr761_avx2/crypto_decode_761xint32.c pqclean_ntrulpr761_avx2/crypto_encode_256x16.c pqclean_ntrulpr761_avx2/crypto_encode_256x2.c pqclean_ntrulpr761_avx2/crypto_encode_761x1531.c pqclean_ntrulpr761_avx2/crypto_encode_761x1531round.c pqclean_ntrulpr761_avx2/crypto_encode_761x3.c pqclean_ntrulpr761_avx2/crypto_encode_761xint16.c pqclean_ntrulpr761_avx2/crypto_sort_int32.c pqclean_ntrulpr761_avx2/crypto_sort_uint32.c pqclean_ntrulpr761_avx2/crypto_stream_aes256ctr.c pqclean_ntrulpr761_avx2/crypto_verify_1167.c pqclean_ntrulpr761_avx2/kem.c)
target_include_directories(ntruprime_ntrulpr761_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_ntrulpr761_avx2)
target_include_directories(ntruprime_ntrulpr761_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntruprime_ntrulpr761_avx2 PRIVATE -mavx2)
target_compile_options(ntruprime_ntrulpr761_avx2 PRIVATE -mavx2 )
set(_NTRUPRIME_OBJS ${_NTRUPRIME_OBJS} $<TARGET_OBJECTS:ntruprime_ntrulpr761_avx2>)
endif()
@ -46,7 +46,7 @@ if(OQS_ENABLE_KEM_ntruprime_ntrulpr857_avx2)
add_library(ntruprime_ntrulpr857_avx2 OBJECT pqclean_ntrulpr857_avx2/crypto_core_multsntrup857.c pqclean_ntrulpr857_avx2/crypto_core_multsntrup857_ntt.c pqclean_ntrulpr857_avx2/crypto_decode_256x16.c pqclean_ntrulpr857_avx2/crypto_decode_256x2.c pqclean_ntrulpr857_avx2/crypto_decode_857x1723.c pqclean_ntrulpr857_avx2/crypto_decode_857x3.c pqclean_ntrulpr857_avx2/crypto_decode_857xint16.c pqclean_ntrulpr857_avx2/crypto_decode_857xint32.c pqclean_ntrulpr857_avx2/crypto_encode_256x16.c pqclean_ntrulpr857_avx2/crypto_encode_256x2.c pqclean_ntrulpr857_avx2/crypto_encode_857x1723.c pqclean_ntrulpr857_avx2/crypto_encode_857x1723round.c pqclean_ntrulpr857_avx2/crypto_encode_857x3.c pqclean_ntrulpr857_avx2/crypto_encode_857xint16.c pqclean_ntrulpr857_avx2/crypto_sort_int32.c pqclean_ntrulpr857_avx2/crypto_sort_uint32.c pqclean_ntrulpr857_avx2/crypto_stream_aes256ctr.c pqclean_ntrulpr857_avx2/crypto_verify_1312.c pqclean_ntrulpr857_avx2/kem.c)
target_include_directories(ntruprime_ntrulpr857_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_ntrulpr857_avx2)
target_include_directories(ntruprime_ntrulpr857_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntruprime_ntrulpr857_avx2 PRIVATE -mavx2)
target_compile_options(ntruprime_ntrulpr857_avx2 PRIVATE -mavx2 )
set(_NTRUPRIME_OBJS ${_NTRUPRIME_OBJS} $<TARGET_OBJECTS:ntruprime_ntrulpr857_avx2>)
endif()
@ -61,7 +61,7 @@ if(OQS_ENABLE_KEM_ntruprime_ntrulpr1277_avx2)
add_library(ntruprime_ntrulpr1277_avx2 OBJECT pqclean_ntrulpr1277_avx2/crypto_core_multsntrup1277.c pqclean_ntrulpr1277_avx2/crypto_core_multsntrup1277_ntt.c pqclean_ntrulpr1277_avx2/crypto_decode_1277x2627.c pqclean_ntrulpr1277_avx2/crypto_decode_1277x3.c pqclean_ntrulpr1277_avx2/crypto_decode_1277xint16.c pqclean_ntrulpr1277_avx2/crypto_decode_1277xint32.c pqclean_ntrulpr1277_avx2/crypto_decode_256x16.c pqclean_ntrulpr1277_avx2/crypto_decode_256x2.c pqclean_ntrulpr1277_avx2/crypto_encode_1277x2627.c pqclean_ntrulpr1277_avx2/crypto_encode_1277x2627round.c pqclean_ntrulpr1277_avx2/crypto_encode_1277x3.c pqclean_ntrulpr1277_avx2/crypto_encode_1277xint16.c pqclean_ntrulpr1277_avx2/crypto_encode_256x16.c pqclean_ntrulpr1277_avx2/crypto_encode_256x2.c pqclean_ntrulpr1277_avx2/crypto_sort_int32.c pqclean_ntrulpr1277_avx2/crypto_sort_uint32.c pqclean_ntrulpr1277_avx2/crypto_stream_aes256ctr.c pqclean_ntrulpr1277_avx2/crypto_verify_1975.c pqclean_ntrulpr1277_avx2/kem.c)
target_include_directories(ntruprime_ntrulpr1277_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_ntrulpr1277_avx2)
target_include_directories(ntruprime_ntrulpr1277_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntruprime_ntrulpr1277_avx2 PRIVATE -mavx2)
target_compile_options(ntruprime_ntrulpr1277_avx2 PRIVATE -mavx2 )
set(_NTRUPRIME_OBJS ${_NTRUPRIME_OBJS} $<TARGET_OBJECTS:ntruprime_ntrulpr1277_avx2>)
endif()
@ -76,7 +76,7 @@ if(OQS_ENABLE_KEM_ntruprime_sntrup653_avx2)
add_library(ntruprime_sntrup653_avx2 OBJECT pqclean_sntrup653_avx2/crypto_core_inv3sntrup653.c pqclean_sntrup653_avx2/crypto_core_invsntrup653.c pqclean_sntrup653_avx2/crypto_core_mult3sntrup653.c pqclean_sntrup653_avx2/crypto_core_multsntrup653.c pqclean_sntrup653_avx2/crypto_core_multsntrup653_ntt.c pqclean_sntrup653_avx2/crypto_core_scale3sntrup653.c pqclean_sntrup653_avx2/crypto_core_weightsntrup653.c pqclean_sntrup653_avx2/crypto_core_wforcesntrup653.c pqclean_sntrup653_avx2/crypto_decode_653x1541.c pqclean_sntrup653_avx2/crypto_decode_653x3.c pqclean_sntrup653_avx2/crypto_decode_653x4621.c pqclean_sntrup653_avx2/crypto_decode_653xint16.c pqclean_sntrup653_avx2/crypto_decode_653xint32.c pqclean_sntrup653_avx2/crypto_decode_int16.c pqclean_sntrup653_avx2/crypto_encode_653x1541.c pqclean_sntrup653_avx2/crypto_encode_653x1541round.c pqclean_sntrup653_avx2/crypto_encode_653x3.c pqclean_sntrup653_avx2/crypto_encode_653x4621.c pqclean_sntrup653_avx2/crypto_encode_653xfreeze3.c pqclean_sntrup653_avx2/crypto_encode_653xint16.c pqclean_sntrup653_avx2/crypto_encode_int16.c pqclean_sntrup653_avx2/crypto_sort_int32.c pqclean_sntrup653_avx2/crypto_sort_uint32.c pqclean_sntrup653_avx2/crypto_verify_897.c pqclean_sntrup653_avx2/kem.c)
target_include_directories(ntruprime_sntrup653_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_sntrup653_avx2)
target_include_directories(ntruprime_sntrup653_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntruprime_sntrup653_avx2 PRIVATE -mavx2)
target_compile_options(ntruprime_sntrup653_avx2 PRIVATE -mavx2 )
set(_NTRUPRIME_OBJS ${_NTRUPRIME_OBJS} $<TARGET_OBJECTS:ntruprime_sntrup653_avx2>)
endif()
@ -91,7 +91,7 @@ if(OQS_ENABLE_KEM_ntruprime_sntrup761_avx2)
add_library(ntruprime_sntrup761_avx2 OBJECT pqclean_sntrup761_avx2/crypto_core_inv3sntrup761.c pqclean_sntrup761_avx2/crypto_core_invsntrup761.c pqclean_sntrup761_avx2/crypto_core_mult3sntrup761.c pqclean_sntrup761_avx2/crypto_core_multsntrup761.c pqclean_sntrup761_avx2/crypto_core_multsntrup761_ntt.c pqclean_sntrup761_avx2/crypto_core_scale3sntrup761.c pqclean_sntrup761_avx2/crypto_core_weightsntrup761.c pqclean_sntrup761_avx2/crypto_core_wforcesntrup761.c pqclean_sntrup761_avx2/crypto_decode_761x1531.c pqclean_sntrup761_avx2/crypto_decode_761x3.c pqclean_sntrup761_avx2/crypto_decode_761x4591.c pqclean_sntrup761_avx2/crypto_decode_761xint16.c pqclean_sntrup761_avx2/crypto_decode_761xint32.c pqclean_sntrup761_avx2/crypto_decode_int16.c pqclean_sntrup761_avx2/crypto_encode_761x1531.c pqclean_sntrup761_avx2/crypto_encode_761x1531round.c pqclean_sntrup761_avx2/crypto_encode_761x3.c pqclean_sntrup761_avx2/crypto_encode_761x4591.c pqclean_sntrup761_avx2/crypto_encode_761xfreeze3.c pqclean_sntrup761_avx2/crypto_encode_761xint16.c pqclean_sntrup761_avx2/crypto_encode_int16.c pqclean_sntrup761_avx2/crypto_sort_int32.c pqclean_sntrup761_avx2/crypto_sort_uint32.c pqclean_sntrup761_avx2/crypto_verify_1039.c pqclean_sntrup761_avx2/kem.c)
target_include_directories(ntruprime_sntrup761_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_sntrup761_avx2)
target_include_directories(ntruprime_sntrup761_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntruprime_sntrup761_avx2 PRIVATE -mavx2)
target_compile_options(ntruprime_sntrup761_avx2 PRIVATE -mavx2 )
set(_NTRUPRIME_OBJS ${_NTRUPRIME_OBJS} $<TARGET_OBJECTS:ntruprime_sntrup761_avx2>)
endif()
@ -106,7 +106,7 @@ if(OQS_ENABLE_KEM_ntruprime_sntrup857_avx2)
add_library(ntruprime_sntrup857_avx2 OBJECT pqclean_sntrup857_avx2/crypto_core_inv3sntrup857.c pqclean_sntrup857_avx2/crypto_core_invsntrup857.c pqclean_sntrup857_avx2/crypto_core_mult3sntrup857.c pqclean_sntrup857_avx2/crypto_core_multsntrup857.c pqclean_sntrup857_avx2/crypto_core_multsntrup857_ntt.c pqclean_sntrup857_avx2/crypto_core_scale3sntrup857.c pqclean_sntrup857_avx2/crypto_core_weightsntrup857.c pqclean_sntrup857_avx2/crypto_core_wforcesntrup857.c pqclean_sntrup857_avx2/crypto_decode_857x1723.c pqclean_sntrup857_avx2/crypto_decode_857x3.c pqclean_sntrup857_avx2/crypto_decode_857x5167.c pqclean_sntrup857_avx2/crypto_decode_857xint16.c pqclean_sntrup857_avx2/crypto_decode_857xint32.c pqclean_sntrup857_avx2/crypto_decode_int16.c pqclean_sntrup857_avx2/crypto_encode_857x1723.c pqclean_sntrup857_avx2/crypto_encode_857x1723round.c pqclean_sntrup857_avx2/crypto_encode_857x3.c pqclean_sntrup857_avx2/crypto_encode_857x5167.c pqclean_sntrup857_avx2/crypto_encode_857xfreeze3.c pqclean_sntrup857_avx2/crypto_encode_857xint16.c pqclean_sntrup857_avx2/crypto_encode_int16.c pqclean_sntrup857_avx2/crypto_sort_int32.c pqclean_sntrup857_avx2/crypto_sort_uint32.c pqclean_sntrup857_avx2/crypto_verify_1184.c pqclean_sntrup857_avx2/kem.c)
target_include_directories(ntruprime_sntrup857_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_sntrup857_avx2)
target_include_directories(ntruprime_sntrup857_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntruprime_sntrup857_avx2 PRIVATE -mavx2)
target_compile_options(ntruprime_sntrup857_avx2 PRIVATE -mavx2 )
set(_NTRUPRIME_OBJS ${_NTRUPRIME_OBJS} $<TARGET_OBJECTS:ntruprime_sntrup857_avx2>)
endif()
@ -121,7 +121,7 @@ if(OQS_ENABLE_KEM_ntruprime_sntrup1277_avx2)
add_library(ntruprime_sntrup1277_avx2 OBJECT pqclean_sntrup1277_avx2/crypto_core_inv3sntrup1277.c pqclean_sntrup1277_avx2/crypto_core_invsntrup1277.c pqclean_sntrup1277_avx2/crypto_core_mult3sntrup1277.c pqclean_sntrup1277_avx2/crypto_core_multsntrup1277.c pqclean_sntrup1277_avx2/crypto_core_multsntrup1277_ntt.c pqclean_sntrup1277_avx2/crypto_core_scale3sntrup1277.c pqclean_sntrup1277_avx2/crypto_core_weightsntrup1277.c pqclean_sntrup1277_avx2/crypto_core_wforcesntrup1277.c pqclean_sntrup1277_avx2/crypto_decode_1277x2627.c pqclean_sntrup1277_avx2/crypto_decode_1277x3.c pqclean_sntrup1277_avx2/crypto_decode_1277x7879.c pqclean_sntrup1277_avx2/crypto_decode_1277xint16.c pqclean_sntrup1277_avx2/crypto_decode_1277xint32.c pqclean_sntrup1277_avx2/crypto_decode_int16.c pqclean_sntrup1277_avx2/crypto_encode_1277x2627.c pqclean_sntrup1277_avx2/crypto_encode_1277x2627round.c pqclean_sntrup1277_avx2/crypto_encode_1277x3.c pqclean_sntrup1277_avx2/crypto_encode_1277x7879.c pqclean_sntrup1277_avx2/crypto_encode_1277xfreeze3.c pqclean_sntrup1277_avx2/crypto_encode_1277xint16.c pqclean_sntrup1277_avx2/crypto_encode_int16.c pqclean_sntrup1277_avx2/crypto_sort_int32.c pqclean_sntrup1277_avx2/crypto_sort_uint32.c pqclean_sntrup1277_avx2/crypto_verify_1847.c pqclean_sntrup1277_avx2/kem.c)
target_include_directories(ntruprime_sntrup1277_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_sntrup1277_avx2)
target_include_directories(ntruprime_sntrup1277_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(ntruprime_sntrup1277_avx2 PRIVATE -mavx2)
target_compile_options(ntruprime_sntrup1277_avx2 PRIVATE -mavx2 )
set(_NTRUPRIME_OBJS ${_NTRUPRIME_OBJS} $<TARGET_OBJECTS:ntruprime_sntrup1277_avx2>)
endif()

View File

@ -16,7 +16,7 @@ if(OQS_ENABLE_KEM_saber_lightsaber_avx2)
add_library(saber_lightsaber_avx2 OBJECT pqclean_lightsaber_avx2/cbd.c pqclean_lightsaber_avx2/kem.c pqclean_lightsaber_avx2/pack_unpack.c pqclean_lightsaber_avx2/poly.c pqclean_lightsaber_avx2/poly_mul.c pqclean_lightsaber_avx2/SABER_indcpa.c pqclean_lightsaber_avx2/verify.c)
target_include_directories(saber_lightsaber_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_lightsaber_avx2)
target_include_directories(saber_lightsaber_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(saber_lightsaber_avx2 PRIVATE -mavx2)
target_compile_options(saber_lightsaber_avx2 PRIVATE -mavx2 )
set(_SABER_OBJS ${_SABER_OBJS} $<TARGET_OBJECTS:saber_lightsaber_avx2>)
endif()
@ -38,7 +38,7 @@ if(OQS_ENABLE_KEM_saber_saber_avx2)
add_library(saber_saber_avx2 OBJECT pqclean_saber_avx2/cbd.c pqclean_saber_avx2/kem.c pqclean_saber_avx2/pack_unpack.c pqclean_saber_avx2/poly.c pqclean_saber_avx2/poly_mul.c pqclean_saber_avx2/SABER_indcpa.c pqclean_saber_avx2/verify.c)
target_include_directories(saber_saber_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_saber_avx2)
target_include_directories(saber_saber_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(saber_saber_avx2 PRIVATE -mavx2)
target_compile_options(saber_saber_avx2 PRIVATE -mavx2 )
set(_SABER_OBJS ${_SABER_OBJS} $<TARGET_OBJECTS:saber_saber_avx2>)
endif()
@ -60,7 +60,7 @@ if(OQS_ENABLE_KEM_saber_firesaber_avx2)
add_library(saber_firesaber_avx2 OBJECT pqclean_firesaber_avx2/cbd.c pqclean_firesaber_avx2/kem.c pqclean_firesaber_avx2/pack_unpack.c pqclean_firesaber_avx2/poly.c pqclean_firesaber_avx2/poly_mul.c pqclean_firesaber_avx2/SABER_indcpa.c pqclean_firesaber_avx2/verify.c)
target_include_directories(saber_firesaber_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqclean_firesaber_avx2)
target_include_directories(saber_firesaber_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
target_compile_options(saber_firesaber_avx2 PRIVATE -mavx2)
target_compile_options(saber_firesaber_avx2 PRIVATE -mavx2 )
set(_SABER_OBJS ${_SABER_OBJS} $<TARGET_OBJECTS:saber_firesaber_avx2>)
endif()

View File

@ -58,7 +58,15 @@ OQS_API OQS_STATUS OQS_KEM_saber_firesaber_keypair(uint8_t *public_key, uint8_t
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_saber_firesaber_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_FIRESABER_AARCH64_crypto_kem_keypair(public_key, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) PQCLEAN_FIRESABER_CLEAN_crypto_kem_keypair(public_key, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) PQCLEAN_FIRESABER_CLEAN_crypto_kem_keypair(public_key, secret_key);
#endif
@ -76,7 +84,15 @@ OQS_API OQS_STATUS OQS_KEM_saber_firesaber_encaps(uint8_t *ciphertext, uint8_t *
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_saber_firesaber_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_FIRESABER_AARCH64_crypto_kem_enc(ciphertext, shared_secret, public_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) PQCLEAN_FIRESABER_CLEAN_crypto_kem_enc(ciphertext, shared_secret, public_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) PQCLEAN_FIRESABER_CLEAN_crypto_kem_enc(ciphertext, shared_secret, public_key);
#endif
@ -94,7 +110,15 @@ OQS_API OQS_STATUS OQS_KEM_saber_firesaber_decaps(uint8_t *shared_secret, const
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_saber_firesaber_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_FIRESABER_AARCH64_crypto_kem_dec(shared_secret, ciphertext, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) PQCLEAN_FIRESABER_CLEAN_crypto_kem_dec(shared_secret, ciphertext, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) PQCLEAN_FIRESABER_CLEAN_crypto_kem_dec(shared_secret, ciphertext, secret_key);
#endif

View File

@ -58,7 +58,15 @@ OQS_API OQS_STATUS OQS_KEM_saber_lightsaber_keypair(uint8_t *public_key, uint8_t
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_saber_lightsaber_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_LIGHTSABER_AARCH64_crypto_kem_keypair(public_key, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) PQCLEAN_LIGHTSABER_CLEAN_crypto_kem_keypair(public_key, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) PQCLEAN_LIGHTSABER_CLEAN_crypto_kem_keypair(public_key, secret_key);
#endif
@ -76,7 +84,15 @@ OQS_API OQS_STATUS OQS_KEM_saber_lightsaber_encaps(uint8_t *ciphertext, uint8_t
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_saber_lightsaber_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_LIGHTSABER_AARCH64_crypto_kem_enc(ciphertext, shared_secret, public_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) PQCLEAN_LIGHTSABER_CLEAN_crypto_kem_enc(ciphertext, shared_secret, public_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) PQCLEAN_LIGHTSABER_CLEAN_crypto_kem_enc(ciphertext, shared_secret, public_key);
#endif
@ -94,7 +110,15 @@ OQS_API OQS_STATUS OQS_KEM_saber_lightsaber_decaps(uint8_t *shared_secret, const
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_saber_lightsaber_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_LIGHTSABER_AARCH64_crypto_kem_dec(shared_secret, ciphertext, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) PQCLEAN_LIGHTSABER_CLEAN_crypto_kem_dec(shared_secret, ciphertext, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) PQCLEAN_LIGHTSABER_CLEAN_crypto_kem_dec(shared_secret, ciphertext, secret_key);
#endif

View File

@ -58,7 +58,15 @@ OQS_API OQS_STATUS OQS_KEM_saber_saber_keypair(uint8_t *public_key, uint8_t *sec
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_saber_saber_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_SABER_AARCH64_crypto_kem_keypair(public_key, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) PQCLEAN_SABER_CLEAN_crypto_kem_keypair(public_key, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) PQCLEAN_SABER_CLEAN_crypto_kem_keypair(public_key, secret_key);
#endif
@ -76,7 +84,15 @@ OQS_API OQS_STATUS OQS_KEM_saber_saber_encaps(uint8_t *ciphertext, uint8_t *shar
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_saber_saber_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_SABER_AARCH64_crypto_kem_enc(ciphertext, shared_secret, public_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) PQCLEAN_SABER_CLEAN_crypto_kem_enc(ciphertext, shared_secret, public_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) PQCLEAN_SABER_CLEAN_crypto_kem_enc(ciphertext, shared_secret, public_key);
#endif
@ -94,7 +110,15 @@ OQS_API OQS_STATUS OQS_KEM_saber_saber_decaps(uint8_t *shared_secret, const uint
}
#endif /* OQS_DIST_BUILD */
#elif defined(OQS_ENABLE_KEM_saber_saber_aarch64)
#if defined(OQS_DIST_BUILD)
if (OQS_CPU_has_extension(OQS_CPU_EXT_ARM_NEON)) {
#endif /* OQS_DIST_BUILD */
return (OQS_STATUS) PQCLEAN_SABER_AARCH64_crypto_kem_dec(shared_secret, ciphertext, secret_key);
#if defined(OQS_DIST_BUILD)
} else {
return (OQS_STATUS) PQCLEAN_SABER_CLEAN_crypto_kem_dec(shared_secret, ciphertext, secret_key);
}
#endif /* OQS_DIST_BUILD */
#else
return (OQS_STATUS) PQCLEAN_SABER_CLEAN_crypto_kem_dec(shared_secret, ciphertext, secret_key);
#endif