Implementation notes: amd64, luft, crypto_kem/mceliece8192128

Computer: luft
Architecture: amd64
CPU ID: GenuineIntel-000306d4-bfebfbff
SUPERCOP version: 20200702
Operation: crypto_kem
Primitive: mceliece8192128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2739406130833 0 0229376 4096 0vecclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
2956528129170 0 0225280 4096 0vecclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
2974184110282 0 0208896 4096 0vecclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
3064832110282 0 0208896 4096 0vecclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
3410132189262 0 0286720 4096 0vecgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
496402471775 0 0167936 4096 0vecclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
559807680881 0 0180224 4096 0vecgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
630495266836 0 0163840 4096 0vecgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
641626875262 0 0172032 4096 0vecgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
562451788103524 0 0200704 4096 0refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
56596578433456 0 0131072 4096 0refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
56751944833456 0 0131072 4096 0refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
56765889638832 0 0135168 4096 0refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
57738030432911 0 0131072 4096 0refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
69506826016375 0 0110592 4096 0refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
81307268420978 0 0118784 4096 0refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
84348925215468 0 0110592 4096 0refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
88512766812792 0 0110592 4096 0refgcc_-march=native_-mtune=native_-Os_-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_mceliece8192128_avx_MASK0_0
consts.S: ^
consts.S: consts.S:29:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_avx_MASK0_1
consts.S: ^
consts.S: consts.S:30:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_avx_MASK1_0
consts.S: ^
consts.S: consts.S:31:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_avx_MASK1_1
consts.S: ^
consts.S: consts.S:32:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_avx_MASK2_0
consts.S: ^
consts.S: consts.S:33:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_avx_MASK2_1
consts.S: ^
consts.S: consts.S:34:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_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
bm.c: bm.c:136:44: error: '__builtin_ia32_vec_ext_v4di' needs target feature avx
bm.c: out[ (4*0 + k)*16 + i ] = (vec256_extract(buf[i], 0) >> (k*16)) & GFMASK;
bm.c: ^
bm.c: ./vec256.h:41:41: note: expanded from macro 'vec256_extract'
bm.c: #define vec256_extract(a,i) ((uint64_t) _mm256_extract_epi64((vec256) (a),(i)))
bm.c: ^
bm.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'
bm.c: (long long)__builtin_ia32_vec_ext_v4di((__v4di)(__m256i)(X), (int)(N))
bm.c: ^
bm.c: bm.c:137:44: error: '__builtin_ia32_vec_ext_v4di' needs target feature avx
bm.c: out[ (4*1 + k)*16 + i ] = (vec256_extract(buf[i], 1) >> (k*16)) & GFMASK;
bm.c: ^
bm.c: ./vec256.h:41:41: note: expanded from macro 'vec256_extract'
bm.c: #define vec256_extract(a,i) ((uint64_t) _mm256_extract_epi64((vec256) (a),(i)))
bm.c: ^
bm.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'
bm.c: (long long)__builtin_ia32_vec_ext_v4di((__v4di)(__m256i)(X), (int)(N))
bm.c: ^
bm.c: bm.c:138:44: error: '__builtin_ia32_vec_ext_v4di' needs target feature avx
bm.c: out[ (4*2 + k)*16 + i ] = (vec256_extract(buf[i], 2) >> (k*16)) & GFMASK;
bm.c: ^
bm.c: ./vec256.h:41:41: note: expanded from macro 'vec256_extract'
bm.c: #define vec256_extract(a,i) ((uint64_t) _mm256_extract_epi64((vec256) (a),(i)))
bm.c: ^
bm.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'
bm.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_mceliece8192128_sse_MASK0_0
consts.S: ^
consts.S: consts.S:29:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_sse_MASK0_1
consts.S: ^
consts.S: consts.S:30:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_sse_MASK1_0
consts.S: ^
consts.S: consts.S:31:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_sse_MASK1_1
consts.S: ^
consts.S: consts.S:32:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_sse_MASK2_0
consts.S: ^
consts.S: consts.S:33:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_sse_MASK2_1
consts.S: ^
consts.S: consts.S:34:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece8192128_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