Implementation notes: amd64, speed2supercop, crypto_sign/aimer128f

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240716
Operation: crypto_sign
Primitive: aimer128f
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2869924152897 0 0155253 760 1632avx2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
2871584134655 0 0146733 800 1568avx2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
2881668130468 0 0144511 792 1632avx2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
2902676133963 0 0146773 760 1632avx2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
2919188148167 0 0160797 800 1600avx2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
2941624156285 0 0165637 800 1600avx2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
3040644131346 0 0144829 760 1632avx2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
3071012129412 0 0142477 752 1600avx2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
820418056086 0 066238 816 1600refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
823312047727 0 061126 816 1600refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
826651239176 0 052054 816 1568refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
831866033035 0 047863 808 1632refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
834298070730 0 073237 776 1632refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
842262837610 0 050621 776 1632refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
854459235015 0 048781 776 1632refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
887904432214 0 045485 768 1600refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
970794852916 0 064566 816 1568refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
1071038448679 0 062086 816 1600mem_optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
1072186056462 0 066622 816 1600mem_optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
1086720440256 0 053142 816 1568mem_optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
1091972433956 0 048823 808 1632mem_optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
1107240872082 0 074597 776 1632mem_optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
1110908838794 0 051813 776 1632mem_optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
1128742835913 0 049645 776 1632mem_optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
1171412433090 0 046389 768 1600mem_optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716
1315641653292 0 064950 816 1568mem_optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072320240716

Compiler output


fips202.c: In file included from fips202.c:11:
fips202.c: ./KeccakP-1600-SnP.h:41:82: warning: multi-line // comment [-Wcomment]
fips202.c: //#define KeccakP1600_StaticInitialize                                           \
fips202.c:                                                                                  ^
fips202.c: ./KeccakP-1600-SnP.h:56:82: warning: multi-line // comment [-Wcomment]
fips202.c: //#define KeccakP1600_OverwriteBytes                                             \
fips202.c:                                                                                  ^
fips202.c: ./KeccakP-1600-SnP.h:63:82: warning: multi-line // comment [-Wcomment]
fips202.c: //#define KeccakP1600_OverwriteWithZeroes                                        \
fips202.c:                                                                                  ^
fips202.c: ./KeccakP-1600-SnP.h:68:82: warning: multi-line // comment [-Wcomment]
fips202.c: //#define KeccakP1600_Permute_Nrounds                                            \
fips202.c:                                                                                  ^
fips202.c: ./KeccakP-1600-SnP.h:72:82: warning: multi-line // comment [-Wcomment]
fips202.c: //#define KeccakP1600_Permute_12rounds                                           \
fips202.c:                                                                                  ^
fips202.c: ./KeccakP-1600-SnP.h:76:82: warning: multi-line // comment [-Wcomment]
fips202.c: //#define KeccakP1600_Permute_24rounds                                           \
fips202.c:                                                                                  ^
fips202.c: ./KeccakP-1600-SnP.h:85:82: warning: multi-line // comment [-Wcomment]
fips202.c: //#define KeccakP1600_ExtractAndAddBytes                                         \
fips202.c:                                                                                  ^
fips202.c: ./KeccakP-1600-SnP.h:93:82: warning: multi-line // comment [-Wcomment]
fips202.c: //#define KeccakF1600_FastLoop_Absorb                                            \
fips202.c:                                                                                  ^
fips202.c: ...
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'avx'
KeccakP-1600-times4-SIMD256.c:         Xor_In4( 0 );
KeccakP-1600-times4-SIMD256.c:         ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:138:38: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: #define Xor_In4( argIndex ) lanes0 = LOAD256u( curData0[argIndex]),\
KeccakP-1600-times4-SIMD256.c:                                      ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:49:33: note: expanded from macro 'LOAD256u'
KeccakP-1600-times4-SIMD256.c: #define LOAD256u(a)             _mm256_loadu_si256((const V256 *)&(a))
KeccakP-1600-times4-SIMD256.c:                                 ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:138:38: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: #define Xor_In4( argIndex ) lanes0 = LOAD256u( curData0[argIndex]),\
KeccakP-1600-times4-SIMD256.c:                                      ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:49:33: note: expanded from macro 'LOAD256u'
KeccakP-1600-times4-SIMD256.c: #define LOAD256u(a)             _mm256_loadu_si256((const V256 *)&(a))
KeccakP-1600-times4-SIMD256.c:                                 ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'avx'
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:139:47: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c:                                      lanes1 = LOAD256u( curData1[argIndex]),\
KeccakP-1600-times4-SIMD256.c:                                               ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:49:33: note: expanded from macro 'LOAD256u'
KeccakP-1600-times4-SIMD256.c: #define LOAD256u(a)             _mm256_loadu_si256((const V256 *)&(a))
KeccakP-1600-times4-SIMD256.c:                                 ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:139:47: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


fips202.c: In file included from fips202.c:11:
fips202.c: KeccakP-1600-SnP.h:41:1: warning: multi-line comment [-Wcomment]
fips202.c:    41 | //#define KeccakP1600_StaticInitialize                                           \
fips202.c:       | ^
fips202.c: KeccakP-1600-SnP.h:56:1: warning: multi-line comment [-Wcomment]
fips202.c:    56 | //#define KeccakP1600_OverwriteBytes                                             \
fips202.c:       | ^
fips202.c: KeccakP-1600-SnP.h:63:1: warning: multi-line comment [-Wcomment]
fips202.c:    63 | //#define KeccakP1600_OverwriteWithZeroes                                        \
fips202.c:       | ^
fips202.c: KeccakP-1600-SnP.h:68:1: warning: multi-line comment [-Wcomment]
fips202.c:    68 | //#define KeccakP1600_Permute_Nrounds                                            \
fips202.c:       | ^
fips202.c: KeccakP-1600-SnP.h:72:1: warning: multi-line comment [-Wcomment]
fips202.c:    72 | //#define KeccakP1600_Permute_12rounds                                           \
fips202.c:       | ^
fips202.c: KeccakP-1600-SnP.h:76:1: warning: multi-line comment [-Wcomment]
fips202.c:    76 | //#define KeccakP1600_Permute_24rounds                                           \
fips202.c:       | ^
fips202.c: KeccakP-1600-SnP.h:85:1: warning: multi-line comment [-Wcomment]
fips202.c:    85 | //#define KeccakP1600_ExtractAndAddBytes                                         \
fips202.c:       | ^
fips202.c: KeccakP-1600-SnP.h:93:1: warning: multi-line comment [-Wcomment]
fips202.c:    93 | //#define KeccakF1600_FastLoop_Absorb                                            \
fips202.c:       | ^
fips202.c: ...
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)

Namespace violations


KeccakP-1600-AVX2.o ALLON a
KeccakP-1600-AVX2.o KeccakF1600_FastLoop_Absorb T
KeccakP-1600-AVX2.o KeccakP1600_12rounds_FastLoop_Absorb T
KeccakP-1600-AVX2.o KeccakP1600_AddByte T
KeccakP-1600-AVX2.o KeccakP1600_AddBytes T
KeccakP-1600-AVX2.o KeccakP1600_ExtractAndAddBytes T
KeccakP-1600-AVX2.o KeccakP1600_ExtractBytes T
KeccakP-1600-AVX2.o KeccakP1600_Initialize T
KeccakP-1600-AVX2.o KeccakP1600_OverwriteBytes T
KeccakP-1600-AVX2.o KeccakP1600_OverwriteWithZeroes T
KeccakP-1600-AVX2.o KeccakP1600_Permute_12rounds T
KeccakP-1600-AVX2.o KeccakP1600_Permute_24rounds T
KeccakP-1600-AVX2.o KeccakP1600_Permute_Nrounds T
KeccakP-1600-AVX2.o _KeccakF1600_FastLoop_Absorb T
KeccakP-1600-AVX2.o _KeccakP1600_12rounds_FastLoop_Absorb T
KeccakP-1600-AVX2.o _KeccakP1600_AddByte T
KeccakP-1600-AVX2.o _KeccakP1600_AddBytes T
KeccakP-1600-AVX2.o _KeccakP1600_ExtractAndAddBytes T
KeccakP-1600-AVX2.o _KeccakP1600_ExtractBytes T
KeccakP-1600-AVX2.o _KeccakP1600_Initialize T
KeccakP-1600-AVX2.o _KeccakP1600_OverwriteBytes T
KeccakP-1600-AVX2.o _KeccakP1600_OverwriteWithZeroes T
KeccakP-1600-AVX2.o _KeccakP1600_Permute_12rounds T
KeccakP-1600-AVX2.o _KeccakP1600_Permute_24rounds T
KeccakP-1600-AVX2.o _KeccakP1600_Permute_Nrounds T
KeccakP-1600-times4-SIMD256.o KeccakF1600times4_FastLoop_Absorb T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_12rounds_FastLoop_Absorb T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_AddBytes T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_AddLanesAll T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_ExtractAndAddBytes T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_ExtractAndAddLanesAll T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_ExtractBytes T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_ExtractLanesAll T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_InitializeAll T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_OverwriteBytes T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_OverwriteLanesAll T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_OverwriteWithZeroes T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_PermuteAll_12rounds T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_PermuteAll_24rounds T
aes.o aes128_ctr T
aes.o aes128_ctr_keyexp T
aes.o aes128_ctx_release T
aes.o aes128_ecb T
aes.o aes128_ecb_keyexp T
aes.o aes192_ctr T
aes.o aes192_ctr_keyexp T
aes.o aes192_ctx_release T
aes.o aes192_ecb T
aes.o aes192_ecb_keyexp T
aes.o aes256_ctr T
aes.o aes256_ctr_keyexp T
aes.o aes256_ctx_release T
aes.o aes256_ecb T
aes.o aes256_ecb_keyexp T
aim2.o samsungsds_aimer128f_avx2_GF_exp_invmer_e_1 T
aim2.o samsungsds_aimer128f_avx2_GF_exp_invmer_e_2 T
aim2.o samsungsds_aimer128f_avx2_GF_exp_mer_e_star T
aim2.o samsungsds_aimer128f_avx2_aim2 T
aim2.o samsungsds_aimer128f_avx2_aim2_sbox_outputs T
aim2.o samsungsds_aimer128f_avx2_generate_matrices_L_and_U T
aim2.o samsungsds_aimer128f_avx2_generate_matrix_LU T
field.o samsungsds_aimer128f_avx2_GF_add T
field.o samsungsds_aimer128f_avx2_GF_copy T
field.o samsungsds_aimer128f_avx2_GF_from_bytes T
field.o samsungsds_aimer128f_avx2_GF_mul T
field.o samsungsds_aimer128f_avx2_GF_mul_N T
field.o samsungsds_aimer128f_avx2_GF_mul_add T
field.o samsungsds_aimer128f_avx2_GF_mul_add_N T
field.o samsungsds_aimer128f_avx2_GF_set0 T
field.o samsungsds_aimer128f_avx2_GF_sqr T
field.o samsungsds_aimer128f_avx2_GF_sqr_N T
field.o samsungsds_aimer128f_avx2_GF_to_bytes T
field.o samsungsds_aimer128f_avx2_GF_transposed_matmul T
field.o samsungsds_aimer128f_avx2_GF_transposed_matmul_add_N T
field.o samsungsds_aimer128f_avx2_POLY_mul_add_N T
field.o samsungsds_aimer128f_avx2_POLY_red_N T
fips202.o fips202avx_sha3_256 T
fips202.o fips202avx_sha3_256_absorb T
fips202.o fips202avx_sha3_256_finalize T
fips202.o fips202avx_sha3_256_init T
fips202.o fips202avx_shake128 T
fips202.o fips202avx_shake128_absorb T
fips202.o fips202avx_shake128_finalize T
fips202.o fips202avx_shake128_init T
fips202.o fips202avx_shake128_squeeze T
fips202.o fips202avx_shake256 T
fips202.o fips202avx_shake256_absorb T
fips202.o fips202avx_shake256_finalize T
fips202.o fips202avx_shake256_init T
fips202.o fips202avx_shake256_squeeze T
hash.o samsungsds_aimer128f_avx2_hash_final T
hash.o samsungsds_aimer128f_avx2_hash_final_x4 T
hash.o samsungsds_aimer128f_avx2_hash_init T
hash.o samsungsds_aimer128f_avx2_hash_init_prefix T
hash.o samsungsds_aimer128f_avx2_hash_init_prefix_x4 T
hash.o samsungsds_aimer128f_avx2_hash_init_x4 T
hash.o samsungsds_aimer128f_avx2_hash_squeeze T
hash.o samsungsds_aimer128f_avx2_hash_squeeze_x4 T
hash.o samsungsds_aimer128f_avx2_hash_update T
hash.o samsungsds_aimer128f_avx2_hash_update_x4 T
hash.o samsungsds_aimer128f_avx2_hash_update_x4_1 T
sign.o samsungsds_aimer128f_avx2_aim2_mpc_N T
sign.o samsungsds_aimer128f_avx2_commit_and_expand_tape_x4 T
sign.o samsungsds_aimer128f_avx2_crypto_sign_signature T
sign.o samsungsds_aimer128f_avx2_crypto_sign_verify T
sign.o samsungsds_aimer128f_avx2_run_phase_1 T
sign.o samsungsds_aimer128f_avx2_run_phase_2_and_3 T
tree.o samsungsds_aimer128f_avx2_expand_trees T
tree.o samsungsds_aimer128f_avx2_reconstruct_tree T
tree.o samsungsds_aimer128f_avx2_reveal_all_but T

Number of similar (implementation,compiler) pairs: 8, namely:
ImplementationCompiler
avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)

Namespace violations


aes.o aes128_ctr T
aes.o aes128_ctr_keyexp T
aes.o aes128_ctx_release T
aes.o aes128_ecb T
aes.o aes128_ecb_keyexp T
aes.o aes192_ctr T
aes.o aes192_ctr_keyexp T
aes.o aes192_ctx_release T
aes.o aes192_ecb T
aes.o aes192_ecb_keyexp T
aes.o aes256_ctr T
aes.o aes256_ctr_keyexp T
aes.o aes256_ctx_release T
aes.o aes256_ecb T
aes.o aes256_ecb_keyexp T
aim2.o samsungsds_aimer128f_mem_opt_GF_exp_invmer_e_1 T
aim2.o samsungsds_aimer128f_mem_opt_GF_exp_invmer_e_2 T
aim2.o samsungsds_aimer128f_mem_opt_GF_exp_mer_e_star T
aim2.o samsungsds_aimer128f_mem_opt_aim2 T
aim2.o samsungsds_aimer128f_mem_opt_aim2_sbox_outputs T
aim2.o samsungsds_aimer128f_mem_opt_generate_matrices_L_and_U T
aim2.o samsungsds_aimer128f_mem_opt_generate_matrix_LU T
field.o samsungsds_aimer128f_mem_opt_GF_add T
field.o samsungsds_aimer128f_mem_opt_GF_copy T
field.o samsungsds_aimer128f_mem_opt_GF_from_bytes T
field.o samsungsds_aimer128f_mem_opt_GF_mul T
field.o samsungsds_aimer128f_mem_opt_GF_mul_add T
field.o samsungsds_aimer128f_mem_opt_GF_mul_add_s T
field.o samsungsds_aimer128f_mem_opt_GF_mul_s T
field.o samsungsds_aimer128f_mem_opt_GF_set0 T
field.o samsungsds_aimer128f_mem_opt_GF_sqr_s T
field.o samsungsds_aimer128f_mem_opt_GF_to_bytes T
field.o samsungsds_aimer128f_mem_opt_GF_transposed_matmul T
field.o samsungsds_aimer128f_mem_opt_GF_transposed_matmul_add T
fips202.o sha3_256 T
fips202.o sha3_256_inc_absorb T
fips202.o sha3_256_inc_ctx_clone T
fips202.o sha3_256_inc_ctx_release T
fips202.o sha3_256_inc_finalize T
fips202.o sha3_256_inc_init T
fips202.o sha3_384 T
fips202.o sha3_384_inc_absorb T
fips202.o sha3_384_inc_ctx_clone T
fips202.o sha3_384_inc_ctx_release T
fips202.o sha3_384_inc_finalize T
fips202.o sha3_384_inc_init T
fips202.o sha3_512 T
fips202.o sha3_512_inc_absorb T
fips202.o sha3_512_inc_ctx_clone T
fips202.o sha3_512_inc_ctx_release T
fips202.o sha3_512_inc_finalize T
fips202.o sha3_512_inc_init T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_ctx_clone T
fips202.o shake128_ctx_release T
fips202.o shake128_inc_absorb T
fips202.o shake128_inc_ctx_clone T
fips202.o shake128_inc_ctx_release T
fips202.o shake128_inc_finalize T
fips202.o shake128_inc_init T
fips202.o shake128_inc_squeeze T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_ctx_clone T
fips202.o shake256_ctx_release T
fips202.o shake256_inc_absorb T
fips202.o shake256_inc_ctx_clone T
fips202.o shake256_inc_ctx_release T
fips202.o shake256_inc_finalize T
fips202.o shake256_inc_init T
fips202.o shake256_inc_squeeze T
fips202.o shake256_squeezeblocks T
hash.o samsungsds_aimer128f_mem_opt_hash_ctx_clone T
hash.o samsungsds_aimer128f_mem_opt_hash_ctx_release T
hash.o samsungsds_aimer128f_mem_opt_hash_final T
hash.o samsungsds_aimer128f_mem_opt_hash_init T
hash.o samsungsds_aimer128f_mem_opt_hash_init_prefix T
hash.o samsungsds_aimer128f_mem_opt_hash_squeeze T
hash.o samsungsds_aimer128f_mem_opt_hash_update T
sign.o samsungsds_aimer128f_mem_opt_aim2_mpc T
sign.o samsungsds_aimer128f_mem_opt_commit_and_expand_tape T
sign.o samsungsds_aimer128f_mem_opt_crypto_sign_signature T
sign.o samsungsds_aimer128f_mem_opt_crypto_sign_verify T
sign.o samsungsds_aimer128f_mem_opt_run_phase_1 T
sign.o samsungsds_aimer128f_mem_opt_run_phase_1_to_3 T
sign.o samsungsds_aimer128f_mem_opt_run_phase_1_to_5 T
tree.o samsungsds_aimer128f_mem_opt_expand_tree T
tree.o samsungsds_aimer128f_mem_opt_reconstruct_tree T
tree.o samsungsds_aimer128f_mem_opt_reveal_all_but T

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
mem_optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
mem_optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
mem_optclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
mem_optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
mem_optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
mem_optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
mem_optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
mem_optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
mem_optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)

Namespace violations


aes.o aes128_ctr T
aes.o aes128_ctr_keyexp T
aes.o aes128_ctx_release T
aes.o aes128_ecb T
aes.o aes128_ecb_keyexp T
aes.o aes192_ctr T
aes.o aes192_ctr_keyexp T
aes.o aes192_ctx_release T
aes.o aes192_ecb T
aes.o aes192_ecb_keyexp T
aes.o aes256_ctr T
aes.o aes256_ctr_keyexp T
aes.o aes256_ctx_release T
aes.o aes256_ecb T
aes.o aes256_ecb_keyexp T
aim2.o samsungsds_aimer128f_ref_GF_exp_invmer_e_1 T
aim2.o samsungsds_aimer128f_ref_GF_exp_invmer_e_2 T
aim2.o samsungsds_aimer128f_ref_GF_exp_mer_e_star T
aim2.o samsungsds_aimer128f_ref_aim2 T
aim2.o samsungsds_aimer128f_ref_aim2_sbox_outputs T
aim2.o samsungsds_aimer128f_ref_generate_matrices_L_and_U T
aim2.o samsungsds_aimer128f_ref_generate_matrix_LU T
field.o samsungsds_aimer128f_ref_GF_add T
field.o samsungsds_aimer128f_ref_GF_copy T
field.o samsungsds_aimer128f_ref_GF_from_bytes T
field.o samsungsds_aimer128f_ref_GF_mul T
field.o samsungsds_aimer128f_ref_GF_mul_add T
field.o samsungsds_aimer128f_ref_GF_mul_add_s T
field.o samsungsds_aimer128f_ref_GF_mul_s T
field.o samsungsds_aimer128f_ref_GF_set0 T
field.o samsungsds_aimer128f_ref_GF_sqr_s T
field.o samsungsds_aimer128f_ref_GF_to_bytes T
field.o samsungsds_aimer128f_ref_GF_transposed_matmul T
field.o samsungsds_aimer128f_ref_GF_transposed_matmul_add T
fips202.o sha3_256 T
fips202.o sha3_256_inc_absorb T
fips202.o sha3_256_inc_ctx_clone T
fips202.o sha3_256_inc_ctx_release T
fips202.o sha3_256_inc_finalize T
fips202.o sha3_256_inc_init T
fips202.o sha3_384 T
fips202.o sha3_384_inc_absorb T
fips202.o sha3_384_inc_ctx_clone T
fips202.o sha3_384_inc_ctx_release T
fips202.o sha3_384_inc_finalize T
fips202.o sha3_384_inc_init T
fips202.o sha3_512 T
fips202.o sha3_512_inc_absorb T
fips202.o sha3_512_inc_ctx_clone T
fips202.o sha3_512_inc_ctx_release T
fips202.o sha3_512_inc_finalize T
fips202.o sha3_512_inc_init T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_ctx_clone T
fips202.o shake128_ctx_release T
fips202.o shake128_inc_absorb T
fips202.o shake128_inc_ctx_clone T
fips202.o shake128_inc_ctx_release T
fips202.o shake128_inc_finalize T
fips202.o shake128_inc_init T
fips202.o shake128_inc_squeeze T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_ctx_clone T
fips202.o shake256_ctx_release T
fips202.o shake256_inc_absorb T
fips202.o shake256_inc_ctx_clone T
fips202.o shake256_inc_ctx_release T
fips202.o shake256_inc_finalize T
fips202.o shake256_inc_init T
fips202.o shake256_inc_squeeze T
fips202.o shake256_squeezeblocks T
hash.o samsungsds_aimer128f_ref_hash_ctx_clone T
hash.o samsungsds_aimer128f_ref_hash_ctx_release T
hash.o samsungsds_aimer128f_ref_hash_final T
hash.o samsungsds_aimer128f_ref_hash_init T
hash.o samsungsds_aimer128f_ref_hash_init_prefix T
hash.o samsungsds_aimer128f_ref_hash_squeeze T
hash.o samsungsds_aimer128f_ref_hash_update T
sign.o samsungsds_aimer128f_ref_aim2_mpc T
sign.o samsungsds_aimer128f_ref_commit_and_expand_tape T
sign.o samsungsds_aimer128f_ref_crypto_sign_signature T
sign.o samsungsds_aimer128f_ref_crypto_sign_verify T
sign.o samsungsds_aimer128f_ref_run_phase_1 T
sign.o samsungsds_aimer128f_ref_run_phase_2_and_3 T
tree.o samsungsds_aimer128f_ref_expand_trees T
tree.o samsungsds_aimer128f_ref_reconstruct_tree T
tree.o samsungsds_aimer128f_ref_reveal_all_but T

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)

TIMECOP error (can be valgrind bug)


error 1
VEX temporary storage exhausted.
Pool = TEMP,  start 0x597d1668 curr 0x59c23ed8 end 0x59c961a7 (size 5000000)
vex: the `impossible' happened:
VEX temporary storage exhausted.
Increase N_{TEMPORARY,PERMANENT}_BYTES and recompile.
vex storage: T total 369668272 bytes allocated
vex storage: P total 512 bytes allocated
valgrind: the 'impossible' happened:
LibVEX called failure_exit().
host stacktrace:
   at 0x...: show_sched_status_wrk (m_libcassert.c:407)
   by 0x...: report_and_quit (m_libcassert.c:478)
   by 0x...: panic (m_libcassert.c:554)
   by 0x...: vgPlain_core_panic_at (m_libcassert.c:559)
   by 0x...: vgPlain_core_panic (m_libcassert.c:564)
   by 0x...: failure_exit (m_translate.c:761)
   by 0x...: vpanic (main_util.c:253)
   by 0x...: private_LibVEX_alloc_OOM (main_util.c:181)
   by 0x...: LibVEX_Alloc_inline (main_util.h:176)
   by 0x...: doRegisterAllocation_v3 (host_generic_reg_alloc3.c:494)
   by 0x...: libvex_BackEnd (main_main.c:1133)
   by 0x...: LibVEX_Translate (main_main.c:1236)
   by 0x...: vgPlain_translate (m_translate.c:1831)
   by 0x...: handle_tt_miss (scheduler.c:1138)
   by 0x...: vgPlain_scheduler (scheduler.c:1551)
   by 0x...: thread_wrapper (syswrap-linux.c:102)
   by 0x...: run_a_thread_NORETURN (syswrap-linux.c:155)
sched status:
running_tid=1
Thread 1: status = VgTs_Runnable (lwpid 2967139)
   at 0x...: samsungsds_aimer128f_avx2_aim2 (aim2.c:431)
   by 0x...: crypto_sign_aimer128f_avx2_constbranchindex_keypair (sign.c:292)
   by 0x...: test (try.c:128)
   by 0x...: main (try-anything.c:345)
client stack range: [0x1FFEFFE000 0x1FFF000FFF] client SP: 0x1FFEFFE3B0
valgrind stack range: [0x10091CF000 0x10092CEFFF] top usage: 18104 of 1048576
Note: see also the FAQ in the source distribution.
It contains workarounds to several common problems.
In particular, if Valgrind aborted or crashed after
identifying problems in your program, there's a good chance
that fixing those problems will prevent Valgrind aborting or
crashing, especially if it happened in m_mallocfree.c.
If that doesn't help, please report this bug to: www.valgrind.org
In the bug report, send all the above text, the valgrind
version, and what OS and version you are using.  Thanks.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Passed TIMECOP


TIMECOP iterations: 10

Number of similar (implementation,compiler) pairs: 25, namely:
ImplementationCompiler
avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
mem_optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
mem_optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
mem_optclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
mem_optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
mem_optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
mem_optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
mem_optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
mem_optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
mem_optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)