Implementation notes: amd64, ygritte, crypto_kem/mceliece348864

Computer: ygritte
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20200525
Operation: crypto_kem
Primitive: mceliece348864
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
142314132386 0 0198452 808 1608avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
16801264693 0 0129092 808 1608avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
17700263996 0 0128140 808 1608avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
184616230388 0 0285276 808 1608ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
18501259133 0 0122204 800 1576avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
21685263829 0 0117020 808 1608ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
22585663253 0 0116188 808 1608ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
23952458224 0 0110100 800 1576ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
545496236154 0 0291964 808 1608vecgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
548614112468 0 0168491 792 1576vecclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052820200525
554108117115 0 0173259 792 1608vecclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052820200525
56310290358 0 0146075 792 1608vecclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052820200525
62544290358 0 0146075 792 1608vecclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052820200525
72609644190 0 096937 784 1576vecclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052820200525
86345647850 0 0101900 808 1608vecgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
91886439211 0 092012 800 1576vecgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
93158647883 0 0101708 808 1608vecgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
4487107048126 0 0104323 792 1576refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052820200525
4549582035131 0 091515 792 1608refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052820200525
4550065446409 0 0103123 792 1608refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052820200525
4555363835131 0 091515 792 1608refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052820200525
54405754149651 0 0206134 816 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
6120488613475 0 067316 808 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
6128187612025 0 065081 784 1576refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020052820200525
6374602813486 0 067588 808 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525
6486281210093 0 062844 800 1576refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020052820200525

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