Implementation notes: amd64, luft, crypto_kem/mceliece348864f

Computer: luft
Architecture: amd64
CPU ID: GenuineIntel-000306d4-bfebfbff
SUPERCOP version: 20200702
Operation: crypto_kem
Primitive: mceliece348864f
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
71226481502 0 0180224 4096 0vecclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
906064104009 0 0200704 4096 0vecclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
93936881502 0 0180224 4096 0vecclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
993848117891 0 0212992 4096 0vecclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
119718847502 0 0143360 4096 0vecclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
1207036161444 0 0262144 4096 0vecgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
188635247676 0 0143360 4096 0vecgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
199918841163 0 0135168 4096 0vecgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
206090052505 0 0151552 4096 0vecgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
8480009249473 0 0147456 4096 0refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
91598128109060 0 0208896 4096 0refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
9231599653360 0 0151552 4096 0refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
9255582836457 0 0135168 4096 0refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
9466059236457 0 0135168 4096 0refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
14700880020370 0 0118784 4096 0refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
15310312016150 0 0110592 4096 0refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
15790853612490 0 0106496 4096 0refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
16000594815573 0 0110592 4096 0refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
consts.S: consts.S:26:17: error: unexpected token in '.section' directive
consts.S: .section .rodata
consts.S: ^
consts.S: consts.S:28:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_avx_MASK0_0
consts.S: ^
consts.S: consts.S:29:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_avx_MASK0_1
consts.S: ^
consts.S: consts.S:30:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_avx_MASK1_0
consts.S: ^
consts.S: consts.S:31:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_avx_MASK1_1
consts.S: ^
consts.S: consts.S:32:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_avx_MASK2_0
consts.S: ^
consts.S: consts.S:33:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_avx_MASK2_1
consts.S: ^
consts.S: consts.S:34:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_avx_MASK3_0
consts.S: ^
consts.S: consts.S:35:1: error: unknown directive
consts.S: ...

Number of similar (compiler,implementation) pairs: 8, 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
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

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
decrypt.c: In file included from decrypt.c:8:
decrypt.c: In file included from ./fft_tr.h:10:
decrypt.c: ./vec256.h:37:10: error: always_inline function '_mm256_set_epi64x' requires target feature 'avx', but would be inlined into function 'vec256_set4x' that is compiled without support for 'avx'
decrypt.c: return _mm256_set_epi64x(a3, a2, a1, a0);
decrypt.c: ^
decrypt.c: ./vec256.h:50:9: error: always_inline function '_mm256_and_si256' requires target feature 'avx2', but would be inlined into function 'vec256_and' that is compiled without support for 'avx2'
decrypt.c: return _mm256_and_si256(a, b);
decrypt.c: ^
decrypt.c: ./vec256.h:22:9: error: always_inline function '_mm256_set1_epi16' requires target feature 'avx', but would be inlined into function 'vec256_set1_16b' that is compiled without support for 'avx'
decrypt.c: return _mm256_set1_epi16(a);
decrypt.c: ^
decrypt.c: ./vec256.h:60:9: error: always_inline function '_mm256_or_si256' requires target feature 'avx2', but would be inlined into function 'vec256_or' that is compiled without support for 'avx2'
decrypt.c: return _mm256_or_si256(a, b);
decrypt.c: ^
decrypt.c: ./vec256.h:55:9: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'vec256_xor' that is compiled without support for 'avx2'
decrypt.c: return _mm256_xor_si256(a, b);
decrypt.c: ^
decrypt.c: decrypt.c:157:10: error: '__builtin_ia32_vec_ext_v4di' needs target feature avx
decrypt.c: v[0] = vec256_extract(in[i], 0);
decrypt.c: ^
decrypt.c: ./vec256.h:41:41: note: expanded from macro 'vec256_extract'
decrypt.c: #define vec256_extract(a,i) ((uint64_t) _mm256_extract_epi64((vec256) (a),(i)))
decrypt.c: ^
decrypt.c: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/avxintrin.h:2024:14: note: expanded from macro '_mm256_extract_epi64'
decrypt.c: (long long)__builtin_ia32_vec_ext_v4di((__v4di)(__m256i)(X), (int)(N))
decrypt.c: ...

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: ld: warning: could not create compact unwind for _crypto_stream_aes256ctr_dolbeau_aesenc_int_xor: register 3 saved somewhere other than in frame
try.c: ld: warning: could not create compact unwind for _crypto_stream_aes256ctr_dolbeau_aesenc_int_xor: register 3 saved somewhere other than in frame
measure.c: ld: warning: could not create compact unwind for _crypto_stream_aes256ctr_dolbeau_aesenc_int_xor: register 3 saved somewhere other than in frame

Number of similar (compiler,implementation) pairs: 10, 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
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

Compiler output

Implementation: sse
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
consts.S: consts.S:26:17: error: unexpected token in '.section' directive
consts.S: .section .rodata
consts.S: ^
consts.S: consts.S:28:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_sse_MASK0_0
consts.S: ^
consts.S: consts.S:29:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_sse_MASK0_1
consts.S: ^
consts.S: consts.S:30:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_sse_MASK1_0
consts.S: ^
consts.S: consts.S:31:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_sse_MASK1_1
consts.S: ^
consts.S: consts.S:32:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_sse_MASK2_0
consts.S: ^
consts.S: consts.S:33:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_sse_MASK2_1
consts.S: ^
consts.S: consts.S:34:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864f_sse_MASK3_0
consts.S: ^
consts.S: consts.S:35:1: error: unknown directive
consts.S: ...

Number of similar (compiler,implementation) pairs: 9, 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
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