Implementation notes: amd64, luft, crypto_kem/mceliece348864

Computer: luft
Architecture: amd64
CPU ID: GenuineIntel-000306d4-bfebfbff
SUPERCOP version: 20200702
Operation: crypto_kem
Primitive: mceliece348864
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
91096898455 0 0196608 4096 0vecclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
92814076521 0 0176128 4096 0vecclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
93324876521 0 0176128 4096 0vecclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
962004112681 0 0208896 4096 0vecclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
118881246767 0 0139264 4096 0vecclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
1198368160874 0 0258048 4096 0vecgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
184502851257 0 0147456 4096 0vecgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
196308846243 0 0143360 4096 0vecgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
223696840398 0 0135168 4096 0vecgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
8623795244115 0 0143360 4096 0refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
91633416105357 0 0204800 4096 0refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
9167282847207 0 0143360 4096 0refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
9186938031893 0 0131072 4096 0refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
9475031631893 0 0131072 4096 0refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071320200702
13526628419029 0 0114688 4096 0refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
14112065214183 0 0110592 4096 0refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
15137320011400 0 0106496 4096 0refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071320200702
15467356814938 0 0110592 4096 0refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-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_mceliece348864_avx_MASK0_0
consts.S: ^
consts.S: consts.S:29:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_avx_MASK0_1
consts.S: ^
consts.S: consts.S:30:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_avx_MASK1_0
consts.S: ^
consts.S: consts.S:31:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_avx_MASK1_1
consts.S: ^
consts.S: consts.S:32:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_avx_MASK2_0
consts.S: ^
consts.S: consts.S:33:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_avx_MASK2_1
consts.S: ^
consts.S: consts.S:34:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_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_mceliece348864_sse_MASK0_0
consts.S: ^
consts.S: consts.S:29:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_sse_MASK0_1
consts.S: ^
consts.S: consts.S:30:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_sse_MASK1_0
consts.S: ^
consts.S: consts.S:31:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_sse_MASK1_1
consts.S: ^
consts.S: consts.S:32:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_sse_MASK2_0
consts.S: ^
consts.S: consts.S:33:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_sse_MASK2_1
consts.S: ^
consts.S: consts.S:34:1: error: unknown directive
consts.S: .hidden crypto_kem_mceliece348864_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