Implementation notes: amd64, latour, crypto_kem/lac192

Computer: latour
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: lac192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
441504923741 18600 039551 19480 1824T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020090420200826
442458921563 18600 036455 19480 1824T:optclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020090420200826
442654219472 18624 033853 19472 1856T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020090420200826
444046521563 18600 036455 19480 1824T:optclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020090420200826
447901228243 18624 044469 19472 1856T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020090420200826
447976817024 18600 031557 19472 1824T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020090420200826
451873824061 18600 039871 19480 1824T:optclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020090420200826
644202015958 18624 030365 19464 1824T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020090420200826
1124758819096 0 033933 840 1608T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020090420200826
1150575318354 0 032765 840 1608T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020090420200826
1215684014992 0 029333 832 1576T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020090420200826
1643279430172 0 046389 840 1608T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020090420200826
1907377221232 0 036055 872 1576T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020090420200826
1910128523486 0 039247 872 1576T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020090420200826
1910231121232 0 036055 872 1576T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020090420200826
1913317223498 0 039263 872 1576T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020090420200826
1966535116285 0 030765 864 1576T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020090420200826

Checksum failure

Implementation: T:opt
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
ec0bf71001731dea9af39da465c1a4f2d5fb272bb2bff1017a23306198cbd7ea
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
bin-lwe.c: bin-lwe.c:91:10: error: always_inline function '_mm256_set_epi16' requires target feature 'xsave', but would be inlined into function 'poly_mul' that is compiled without support for 'xsave'
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:103:9: error: always_inline function '_mm256_setzero_si256' requires target feature 'xsave', but would be inlined into function 'poly_mul' that is compiled without support for 'xsave'
bin-lwe.c: tmp2 =_mm256_setzero_si256();
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:106:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'poly_mul' that is compiled without support for 'xsave'
bin-lwe.c: tmp0 = _mm256_loadu_si256((__m256i *)(v_p+j));
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:107:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'poly_mul' that is compiled without support for 'xsave'
bin-lwe.c: tmp1 = _mm256_loadu_si256((__m256i *)(s+j));
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:108:11: error: always_inline function '_mm256_maddubs_epi16' requires target feature 'xsave', but would be inlined into function 'poly_mul' that is compiled without support for 'xsave'
bin-lwe.c: tmp0 = _mm256_maddubs_epi16(tmp0, tmp1);
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:109:11: error: always_inline function '_mm256_add_epi16' requires target feature 'xsave', but would be inlined into function 'poly_mul' that is compiled without support for 'xsave'
bin-lwe.c: tmp2 = _mm256_add_epi16(tmp2, tmp0);
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:111:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'poly_mul' that is compiled without support for 'xsave'
bin-lwe.c: tmp0 = _mm256_loadu_si256((__m256i *)(v_p+j+32));
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:112:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'poly_mul' that is compiled without support for 'xsave'
bin-lwe.c: tmp1 = _mm256_loadu_si256((__m256i *)(s+j+32));
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:113:11: error: always_inline function '_mm256_maddubs_epi16' requires target feature 'xsave', but would be inlined into function 'poly_mul' that is compiled without support for 'xsave'
bin-lwe.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
bin-lwe.c: bin-lwe.c:91:10: error: always_inline function '_mm256_set_epi16' requires target feature 'sse4.2', but would be inlined into function 'poly_mul' that is compiled without support for 'sse4.2'
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:103:9: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'poly_mul' that is compiled without support for 'sse4.2'
bin-lwe.c: tmp2 =_mm256_setzero_si256();
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:106:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'poly_mul' that is compiled without support for 'sse4.2'
bin-lwe.c: tmp0 = _mm256_loadu_si256((__m256i *)(v_p+j));
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:107:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'poly_mul' that is compiled without support for 'sse4.2'
bin-lwe.c: tmp1 = _mm256_loadu_si256((__m256i *)(s+j));
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:108:11: error: always_inline function '_mm256_maddubs_epi16' requires target feature 'sse4.2', but would be inlined into function 'poly_mul' that is compiled without support for 'sse4.2'
bin-lwe.c: tmp0 = _mm256_maddubs_epi16(tmp0, tmp1);
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:109:11: error: always_inline function '_mm256_add_epi16' requires target feature 'sse4.2', but would be inlined into function 'poly_mul' that is compiled without support for 'sse4.2'
bin-lwe.c: tmp2 = _mm256_add_epi16(tmp2, tmp0);
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:111:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'poly_mul' that is compiled without support for 'sse4.2'
bin-lwe.c: tmp0 = _mm256_loadu_si256((__m256i *)(v_p+j+32));
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:112:11: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'poly_mul' that is compiled without support for 'sse4.2'
bin-lwe.c: tmp1 = _mm256_loadu_si256((__m256i *)(s+j+32));
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:113:11: error: always_inline function '_mm256_maddubs_epi16' requires target feature 'sse4.2', but would be inlined into function 'poly_mul' that is compiled without support for 'sse4.2'
bin-lwe.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
bin-lwe.c: bin-lwe.c: In function 'poly_mul':
bin-lwe.c: bin-lwe.c:91:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
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: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
bin-lwe.c: from bin-lwe.c:1:
bin-lwe.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1240:1: error: inlining failed in call to always_inline '_mm256_set_epi16': target specific option mismatch
bin-lwe.c: _mm256_set_epi16 (short __q15, short __q14, short __q13, short __q12,
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:91:9: error: called from here
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: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
bin-lwe.c: from bin-lwe.c:1:
bin-lwe.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1209:1: error: inlining failed in call to always_inline '_mm256_setzero_si256': target specific option mismatch
bin-lwe.c: _mm256_setzero_si256 (void)
bin-lwe.c: ^
bin-lwe.c: bin-lwe.c:103:8: error: called from here
bin-lwe.c: tmp2 =_mm256_setzero_si256();
bin-lwe.c: ^
bin-lwe.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
bin-lwe.c: from bin-lwe.c:1:
bin-lwe.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:112:1: error: inlining failed in call to always_inline '_mm256_add_epi16': target specific option mismatch
bin-lwe.c: _mm256_add_epi16 (__m256i __A, __m256i __B)
bin-lwe.c: ^
bin-lwe.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2

Namespace violations

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 C
ecc.o ecc_bch D
ecc.o ecc_buf C
ecc.o ecc_buf2 C
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 C
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 C
rng.o handleErrors T
rng.o seedexpander T
rng.o seedexpander_init T

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 C
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 C
rng.o handleErrors T
rng.o seedexpander T
rng.o seedexpander_init T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref