Implementation notes: amd64, kizomba, crypto_kem/mceliece460896

Computer: kizomba
Microarchitecture: amd64; Kaby Lake (906e9)
Architecture: amd64
CPU ID: GenuineIntel-000906e9-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: mceliece460896
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
301443147612 0 0200116 840 1640avxclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
307883134657 0 0185390 784 1608avxgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
307902130989 0 0183020 840 1576avxclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
33200684870 0 0133966 824 1640avxclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
33251088094 0 0136852 832 1576avxclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
33758688052 0 0137206 784 1608avxgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
34224486337 0 0135030 784 1608avxgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
35345382104 0 0129606 776 1576avxgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
487498138189 0 0185406 784 1608ssegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
488734130383 0 0178916 824 1640sseclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
488930117109 0 0165340 824 1576sseclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
52788184646 0 0130214 784 1608ssegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
52977175896 0 0121742 816 1640sseclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
53761578735 0 0123878 784 1608ssegcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
54093280116 0 0125116 824 1576sseclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
55005074975 0 0118870 776 1576ssegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
137779588767 0 0140238 784 1608vecgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1590599111454 0 0163628 824 1640vecclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
165445085050 0 0137924 824 1576vecclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1699557104631 0 0156396 824 1576vecclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
206466948302 0 098158 824 1640vecclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
214168647094 0 096708 832 1576vecclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
224663750966 0 0101062 784 1608vecgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
267863340480 0 088990 776 1576vecgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
275868949198 0 098894 784 1608vecgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
14051990244896 0 093638 832 1576refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
15069362116268 0 063272 824 1640refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
15498509561810 0 0111780 824 1640refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
15559332737655 0 087300 824 1576refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
18613993432995 0 082104 792 1608refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
19500858814683 0 061092 824 1576refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
20880730317201 0 064320 792 1608refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
21198927215639 0 062142 784 1608refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
23513880213215 0 058528 784 1576refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625

Compiler output


bm.c: bm.c:78:37: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c:         for (i = 13; i < 16; i++) buf[i] = vec256_setzero();
bm.c:                                            ^
bm.c: bm.c:80:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c:         mask[0][0] = vec256_set1_16b(0x5555);
bm.c:                      ^
bm.c: bm.c:81:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c:         mask[0][1] = vec256_set1_16b(0xAAAA);
bm.c:                      ^
bm.c: bm.c:82:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c:         mask[1][0] = vec256_set1_16b(0x3333);
bm.c:                      ^
bm.c: bm.c:83:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c:         mask[1][1] = vec256_set1_16b(0xCCCC);
bm.c:                      ^
bm.c: bm.c:84:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c:         mask[2][0] = vec256_set1_16b(0x0F0F);
bm.c:                      ^
bm.c: bm.c:85:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c:         mask[2][1] = vec256_set1_16b(0xF0F0);
bm.c:                      ^
bm.c: bm.c:86:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c:         mask[3][0] = vec256_set1_16b(0x00FF);
bm.c:                      ^
bm.c: bm.c:87:15: warning: AVX vector return of type 'vec256' (aka '__m256i') without 'avx' enabled changes the ABI [-Wpsabi]
bm.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
avxclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


pk_gen.c: pk_gen.c:211:12: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant]
pk_gen.c:                 uint64_t w[ PK_NROWS ][ nBlocks_I*2 ];
pk_gen.c:                          ^
pk_gen.c: pk_gen.c:212:12: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant]
pk_gen.c:                 vec128   v[ PK_NROWS ][ nBlocks_I ];
pk_gen.c:                          ^
pk_gen.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
sseclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
sseclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
sseclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
sseclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


decrypt.c: In file included from decrypt.c:9:
decrypt.c: In file included from ./vec128_gf.h:10:
decrypt.c: ./vec128.h:33:9: error: always_inline function '_mm_testz_si128' requires target feature 'sse4.1', but would be inlined into function 'vec128_testz' that is compiled without support for 'sse4.1'
decrypt.c:         return _mm_testz_si128(a, a);
decrypt.c:                ^
decrypt.c: 1 error generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
sseclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

TIMECOP error (can be valgrind bug)


at 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
sched status:
running_tid=1
Thread 1: status = VgTs_Runnable (lwpid 2630353)
   at 0x...: extract_gf (sk_gen.c:43)
   by 0x...: crypto_kem_mceliece460896_avx_constbranchindex_genpoly_gen (sk_gen.c:153)
   by 0x...: crypto_kem_mceliece460896_avx_constbranchindex_operation_keypair (kem_keypair.c:57)
   by 0x...: crypto_kem_mceliece460896_avx_constbranchindex_keypair (wrap_keypair.c:10)
   by 0x...: test (try.c:126)
   by 0x...: main (try-anything.c:345)
client stack range: [0x1FFEFDF000 0x1FFF000FFF] client SP: 0x1FFEFE0180
valgrind stack range: [0x1008CB2000 0x1008DB1FFF] top usage: 18744 of 1048576
Note: see also the FAQ in the source distribution.
It contains workarounds to several common problems.
In particular, if Valgrind aborted or crashed after
identifying problems in your program, there's a good chance
that fixing those problems will prevent Valgrind aborting or
crashing, especially if it happened in m_mallocfree.c.
If that doesn't help, please report this bug to: www.valgrind.org
In the bug report, send all the above text, the valgrind
version, and what OS and version you are using.  Thanks.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
avxgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

TIMECOP error (can be valgrind bug)


Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x122824
   at 0x...: vec128_set2x (vec128.h:56)
   by 0x...: postprocess (fft_tr.c:283)
   by 0x...: crypto_kem_mceliece460896_sse_constbranchindex_fft_tr (fft_tr.c:292)
   by 0x...: crypto_kem_mceliece460896_sse_constbranchindex_decrypt (decrypt.c:175)
   by 0x...: crypto_kem_mceliece460896_sse_constbranchindex_operation_dec (kem_dec.c:36)
   by 0x...: test (try.c:160)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
sseclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

TIMECOP error (can be valgrind bug)


at 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
   by 0x...: ??? (in /usr/libexec/valgrind/memcheck-amd64-linux)
sched status:
running_tid=1
Thread 1: status = VgTs_Runnable (lwpid 2639903)
   at 0x...: extract_gf (sk_gen.c:43)
   by 0x...: crypto_kem_mceliece460896_sse_constbranchindex_genpoly_gen (sk_gen.c:153)
   by 0x...: crypto_kem_mceliece460896_sse_constbranchindex_operation_keypair (kem_keypair.c:57)
   by 0x...: crypto_kem_mceliece460896_sse_constbranchindex_keypair (wrap_keypair.c:10)
   by 0x...: test (try.c:126)
   by 0x...: main (try-anything.c:345)
client stack range: [0x1FFEFDF000 0x1FFF000FFF] client SP: 0x1FFEFE0180
valgrind stack range: [0x1008CAE000 0x1008DADFFF] top usage: 18744 of 1048576
Note: see also the FAQ in the source distribution.
It contains workarounds to several common problems.
In particular, if Valgrind aborted or crashed after
identifying problems in your program, there's a good chance
that fixing those problems will prevent Valgrind aborting or
crashing, especially if it happened in m_mallocfree.c.
If that doesn't help, please report this bug to: www.valgrind.org
In the bug report, send all the above text, the valgrind
version, and what OS and version you are using.  Thanks.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
ssegcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Passed TIMECOP


TIMECOP iterations: 1

Number of similar (implementation,compiler) pairs: 31, namely:
ImplementationCompiler
avxclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avxclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avxclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avxclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avxgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
avxgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
avxgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
sseclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
sseclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
sseclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
ssegcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
ssegcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
ssegcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
vecclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
vecclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
vecclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
vecclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
vecclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
vecgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
vecgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
vecgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
vecgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)