Implementation notes: amd64, gcc68, crypto_kem/mceliece348864

Computer: gcc68
Architecture: amd64
CPU ID: AuthenticAMD-00800f82-178bfbff
SUPERCOP version: 20191221
Operation: crypto_kem
Primitive: mceliece348864
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
199008176527 0 0206668 808 1608ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
201696119602 0 0159492 808 1608avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
21782464192 0 093316 808 1608ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
22073664007 0 0102892 808 1608avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
22572862964 0 0101468 808 1608avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
23004862994 0 091860 808 1608ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
23251257847 0 095268 800 1576avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
23984057908 0 085660 800 1576ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
608384174613 0 0205564 808 1608vecgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
611072112468 0 0144363 792 1576vecclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
63452866363 0 097699 792 1576vecclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
63536066363 0 097699 792 1576vecclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
63689688024 0 0119563 792 1576vecclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
67964844498 0 073105 784 1576vecclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
74096048434 0 078460 808 1608vecgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
81952039252 0 067884 800 1576vecgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
88764847840 0 077564 808 1608vecgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
4685891248126 0 080195 792 1576refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
4918044841928 0 073811 792 1576refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
4918736025969 0 057659 792 1576refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
4928860825969 0 057659 792 1576refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
54999712102511 0 0133910 816 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
6338153611979 0 040785 784 1576refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020010120191221
6676924813737 0 043724 808 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
6698816010180 0 038756 800 1576refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221
7114726413533 0 043252 808 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020010120191221

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
bm.c: bm.c:126:30: error: argument to '__builtin_ia32_vec_ext_v2di' must be a constant integer
bm.c: out[ (4*j + k)*16 + i ] = (vec128_extract(buf[i], j) >> (k*16)) & GFMASK;
bm.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
bm.c: ./vec128.h:26:42: note: expanded from macro 'vec128_extract'
bm.c: #define vec128_extract(a, i) ((uint64_t) _mm_extract_epi64((vec128) (a), (i)))
bm.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bm.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/smmintrin.h:1097:14: note: expanded from macro '_mm_extract_epi64'
bm.c: (long long)__builtin_ia32_vec_ext_v2di((__v2di)(__m128i)(X), (int)(N))
bm.c: ^ ~~~~~~~~
bm.c: 1 error generated.

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

Compiler output

Implementation: sse
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
bm.c: bm.c:152:30: error: argument to '__builtin_ia32_vec_ext_v2di' must be a constant integer
bm.c: out[ (4*j + k)*16 + i ] = (vec128_extract(buf[i], j) >> (k*16)) & GFMASK;
bm.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
bm.c: ./vec128.h:26:42: note: expanded from macro 'vec128_extract'
bm.c: #define vec128_extract(a, i) ((uint64_t) _mm_extract_epi64((vec128) (a), (i)))
bm.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bm.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/smmintrin.h:1097:14: note: expanded from macro '_mm_extract_epi64'
bm.c: (long long)__builtin_ia32_vec_ext_v2di((__v2di)(__m128i)(X), (int)(N))
bm.c: ^ ~~~~~~~~
bm.c: 1 error generated.

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

Namespace violations

Implementation: avx
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
benes.o benes T
benes.o load_bits T
bm.o bm T
consts.o MASK0_0 R
consts.o MASK0_1 R
consts.o MASK1_0 R
consts.o MASK1_1 R
consts.o MASK2_0 R
consts.o MASK2_1 R
consts.o MASK3_0 R
consts.o MASK3_1 R
consts.o MASK4_0 R
consts.o MASK4_1 R
consts.o MASK5_0 R
consts.o MASK5_1 R
controlbits.o controlbits T
controlbits.o sort_63b T
decrypt.o decrypt T
encrypt.o encrypt T
encrypt.o syndrome T
fft.o butterflies T
fft.o fft T
fft.o radix_conversions T
fft_tr.o butterflies_tr T
fft_tr.o fft_tr T
fft_tr.o radix_conversions_tr T
gf.o GF_mul T
gf.o gf_add T
gf.o gf_frac T
gf.o gf_inv T
gf.o gf_iszero T
gf.o gf_mul T
pk_gen.o pk_gen T
sk_gen.o genpoly_gen T
sk_gen.o perm_check T
syndrome_asm.o _syndrome_asm T
syndrome_asm.o syndrome_asm T
transpose_64x256_sp_asm.o _transpose_64x256_sp_asm T
transpose_64x256_sp_asm.o transpose_64x256_sp_asm T
transpose_64x64_asm.o _transpose_64x64_asm T
transpose_64x64_asm.o transpose_64x64_asm T
update_asm.o _update_asm T
update_asm.o update_asm T
vec128_mul_asm.o _vec128_mul_asm T
vec128_mul_asm.o vec128_mul_asm T
vec256.o vec256_inv T
vec256.o vec256_sq T
vec256_mul_asm.o _vec256_mul_asm T
vec256_mul_asm.o vec256_mul_asm T
vec_mul_asm.o _vec_mul_asm T
vec_mul_asm.o vec_mul_asm T
vec_mul_sp_asm.o _vec_mul_sp_asm T
vec_mul_sp_asm.o vec_mul_sp_asm T
vec_reduce_asm.o _vec_reduce_asm T
vec_reduce_asm.o vec_reduce_asm T

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

Namespace violations

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
benes.o apply_benes T
benes.o support_gen T
bm.o bm T
controlbits.o controlbits T
controlbits.o sort_63b T
decrypt.o decrypt T
encrypt.o encrypt T
encrypt.o syndrome T
gf.o GF_mul T
gf.o gf_add T
gf.o gf_frac T
gf.o gf_inv T
gf.o gf_iszero T
gf.o gf_mul T
pk_gen.o pk_gen T
root.o eval T
root.o root T
sk_gen.o genpoly_gen T
sk_gen.o perm_check T
synd.o synd T
transpose.o transpose_64x64 T
util.o bitrev T
util.o load2 T
util.o load4 T
util.o load8 T
util.o store2 T
util.o store8 T

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

Namespace violations

Implementation: sse
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
benes.o benes T
benes.o load_bits T
bm.o bm T
bm.o vec_cmov T
bm.o vec_mul_sp T
consts.o MASK0_0 R
consts.o MASK0_1 R
consts.o MASK1_0 R
consts.o MASK1_1 R
consts.o MASK2_0 R
consts.o MASK2_1 R
consts.o MASK3_0 R
consts.o MASK3_1 R
consts.o MASK4_0 R
consts.o MASK4_1 R
consts.o MASK5_0 R
consts.o MASK5_1 R
controlbits.o controlbits T
controlbits.o sort_63b T
decrypt.o decrypt T
encrypt.o encrypt T
encrypt.o syndrome T
fft.o butterflies T
fft.o fft T
fft.o radix_conversions T
fft_tr.o butterflies_tr T
fft_tr.o fft_tr T
fft_tr.o radix_conversions_tr T
gf.o GF_mul T
gf.o gf_add T
gf.o gf_frac T
gf.o gf_inv T
gf.o gf_iszero T
gf.o gf_mul T
pk_gen.o pk_gen T
sk_gen.o genpoly_gen T
sk_gen.o perm_check T
syndrome_asm.o _syndrome_asm T
syndrome_asm.o syndrome_asm T
transpose_64x128_sp_asm.o _transpose_64x128_sp_asm T
transpose_64x128_sp_asm.o transpose_64x128_sp_asm T
transpose_64x64_asm.o _transpose_64x64_asm T
transpose_64x64_asm.o transpose_64x64_asm T
update_asm.o _update_asm T
update_asm.o update_asm T
vec128.o vec128_inv T
vec128.o vec128_sq T
vec128_mul_asm.o _vec128_mul_asm T
vec128_mul_asm.o vec128_mul_asm T
vec_mul_asm.o _vec_mul_asm T
vec_mul_asm.o vec_mul_asm T
vec_reduce_asm.o _vec_reduce_asm T
vec_reduce_asm.o vec_reduce_asm T

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

Namespace violations

Implementation: vec
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
benes.o benes T
bm.o bm T
controlbits.o controlbits T
controlbits.o sort_63b T
decrypt.o decrypt T
encrypt.o encrypt T
encrypt.o syndrome T
fft.o fft T
fft_tr.o fft_tr T
gf.o GF_mul T
gf.o gf_add T
gf.o gf_frac T
gf.o gf_inv T
gf.o gf_iszero T
gf.o gf_mul T
pk_gen.o pk_gen T
sk_gen.o genpoly_gen T
sk_gen.o perm_check T
vec.o vec_inv T
vec.o vec_mul T
vec.o vec_sq T

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