Implementation notes: amd64, sectionthirtyone, crypto_kem/mceliece348864

Computer: sectionthirtyone
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20191221
Operation: crypto_kem
Primitive: mceliece348864
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
172152134650 0 0173961 856 1608avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
19874864579 0 0102065 856 1608avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
20782363973 0 0101337 856 1608avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
22184258681 0 095057 848 1576avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
26539264119 0 090681 856 1608ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
27807058850 0 084401 848 1576ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
353117239837 0 0268497 856 1608ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
43075264864 0 091553 856 1608ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
667378104723 0 0134159 840 1576vecclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011220191221
79287483943 0 0113295 840 1576vecclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011220191221
79571346224 0 072041 832 1576vecclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011220191221
80737183943 0 0113295 840 1576vecclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011220191221
842776111217 0 0140511 840 1576vecclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011220191221
106921840302 0 066785 848 1576vecgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
1081086246512 0 0275849 856 1608vecgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
175363848872 0 076489 856 1608vecgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
183844649119 0 076641 856 1608vecgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
8816207936769 0 066447 840 1576refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011220191221
8816873151465 0 081287 840 1576refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011220191221
9166291936769 0 066447 840 1576refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011220191221
9553239747411 0 076831 840 1576refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011220191221
95561392156776 0 0186851 864 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
11913834914242 0 041817 856 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
13883732014318 0 041745 856 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
15606123510844 0 037313 848 1576refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020011220191221
16197105614412 0 040329 832 1576refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020011220191221

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-8/lib/clang/8.0.0/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-8/lib/clang/8.0.0/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