Implementation notes: amd64, r24000, crypto_kem/lac256

Computer: r24000
Microarchitecture: amd64; Coffee Lake (906ea)
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_kem
Primitive: lac256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
52421842886 77992 110062715 78924 2888T:avx2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
53283831363 77992 110051491 78924 2824T:avx2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
56137020317 78016 111638340 78932 2888T:avx2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
56948118592 77992 110036709 78916 2888T:avx2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
58668219515 78016 111637100 78932 2888T:avx2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
62446334343 78016 111653820 78932 2888T:avx2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
65559818609 77992 110036172 78924 2824T:avx2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
73086516060 78016 111632876 78924 2856T:avx2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
213456729411 77992 110047932 78924 2824T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
261731720143 78016 111637692 78932 2888T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
305756616549 78016 111633364 78924 2856T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
306809719122 77992 110036708 78924 2824T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
552846829815 0 6049763 924 1768T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
565040532139 0 6051388 908 1832T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
578373041058 0 6060707 924 1832T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
637339735369 78016 111654836 78932 2888T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
639577722982 78016 111640996 78932 2888T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
706366018156 0 6036069 916 1832T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
787655619897 0 6037692 908 1832T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
1083014928622 0 6046948 924 1768T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
1502766518942 0 6036292 908 1832T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
1507777517464 0 6034844 924 1768T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
2023677315540 0 6032140 900 1800T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
2704661241029 77992 110060827 78924 2888T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
2709054820306 77992 110038349 78916 2888T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
2725639531682 77992 110051779 78924 2824T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716

Compiler output


bin-lwe.c: bin-lwe.c:91:10: error: always_inline function '_mm256_set_epi16' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c:         tmp_one=_mm256_set_epi16(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
bin-lwe.c:                 ^
bin-lwe.c: bin-lwe.c:91:10: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:103:9: error: always_inline function '_mm256_setzero_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c:                 tmp2 =_mm256_setzero_si256();
bin-lwe.c:                       ^
bin-lwe.c: bin-lwe.c:103:9: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:106:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c:                         tmp0 = _mm256_loadu_si256((__m256i *)(v_p+j));
bin-lwe.c:                                ^
bin-lwe.c: bin-lwe.c:106:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:107:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c:                         tmp1 = _mm256_loadu_si256((__m256i *)(s+j));
bin-lwe.c:                                ^
bin-lwe.c: bin-lwe.c:107:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:108:11: error: always_inline function '_mm256_maddubs_epi16' requires target feature 'avx2', but would be inlined into function 'poly_mul' that is compiled without support for 'avx2'
bin-lwe.c:                         tmp0 = _mm256_maddubs_epi16(tmp0, tmp1);
bin-lwe.c:                                ^
bin-lwe.c: bin-lwe.c:108:11: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:109:11: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'poly_mul' that is compiled without support for 'avx2'
bin-lwe.c:                         tmp2 = _mm256_add_epi16(tmp2, tmp0);
bin-lwe.c:                                ^
bin-lwe.c: bin-lwe.c:109:11: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
bin-lwe.c: bin-lwe.c:111:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'poly_mul' that is compiled without support for 'avx'
bin-lwe.c: ...

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

Namespace violations


ake.o crypto_ake_alice_receive T
ake.o crypto_ake_alice_send T
ake.o crypto_ake_bob_receive T
bch.o compute_even_syndromes T
bch.o decode_bch T
bch.o encode_bch T
bch.o free_bch T
bch.o init_bch T
bin-lwe.o gen_a T
bin-lwe.o gen_psi T
bin-lwe.o poly_aff T
bin-lwe.o poly_mul T
ecc.o a_log_tab D
ecc.o a_pow_tab D
ecc.o cache B
ecc.o ecc_bch D
ecc.o ecc_buf B
ecc.o ecc_buf2 B
ecc.o ecc_dec T
ecc.o ecc_enc T
ecc.o ecc_free T
ecc.o ecc_init T
ecc.o mod8_tab D
ecc.o syn B
ecc.o xi_tab D
encrypt.o crypto_encrypt T
encrypt.o crypto_encrypt_keypair T
encrypt.o crypto_encrypt_open T
encrypt.o kg T
encrypt.o kg_seed T
encrypt.o pke_dec T
encrypt.o pke_enc T
encrypt.o pke_enc_seed T
ke.o crypto_ke_alice_receive T
ke.o crypto_ke_alice_send T
ke.o crypto_ke_bob_receive T
kem.o kem_dec_fo T
kem.o kem_enc_fo T
kem.o kem_enc_fo_seed T
rand.o gen_seed T
rand.o hash T
rand.o pseudo_random_bytes T
rand.o random_bytes T
rng.o AES256_CTR_DRBG_Update T
rng.o AES256_ECB T
rng.o DRBG_ctx B
rng.o handleErrors T
rng.o seedexpander T
rng.o seedexpander_init T

Number of similar (implementation,compiler) pairs: 17, namely:
ImplementationCompiler
T:avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:optclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_16.0.6_(15))
T:optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


ake.o crypto_ake_alice_receive T
ake.o crypto_ake_alice_send T
ake.o crypto_ake_bob_receive T
bch.o compute_even_syndromes T
bch.o decode_bch T
bch.o encode_bch T
bch.o free_bch T
bch.o init_bch T
bin-lwe.o gen_a T
bin-lwe.o gen_psi T
bin-lwe.o poly_aff T
bin-lwe.o poly_mul T
ecc.o ecc_bch B
ecc.o ecc_dec T
ecc.o ecc_enc T
encrypt.o crypto_encrypt T
encrypt.o crypto_encrypt_keypair T
encrypt.o crypto_encrypt_open T
encrypt.o kg T
encrypt.o kg_seed T
encrypt.o pke_dec T
encrypt.o pke_enc T
encrypt.o pke_enc_seed T
ke.o crypto_ke_alice_receive T
ke.o crypto_ke_alice_send T
ke.o crypto_ke_bob_receive T
kem.o kem_dec_fo T
kem.o kem_enc_fo T
kem.o kem_enc_fo_seed T
rand.o gen_seed T
rand.o hash T
rand.o pseudo_random_bytes T
rand.o random_bytes T
rng.o AES256_CTR_DRBG_Update T
rng.o AES256_ECB T
rng.o DRBG_ctx B
rng.o handleErrors T
rng.o seedexpander T
rng.o seedexpander_init T

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