Implementation notes: amd64, nucnuc, crypto_aead/riverkeyakv2

Computer: nucnuc
Microarchitecture: amd64; Airmont (406c3)
Architecture: amd64
CPU ID: GenuineIntel-000406c3-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: riverkeyakv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
125835113811 0 0118691 756 1048T:generic64lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
127551130819 0 0135160 780 1080T:generic64lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
128954128137 0 0132160 780 1080T:generic64lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
133181117212 0 0122091 756 1048T:generic64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
13530370231 0 074624 780 1080T:generic32lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
13567756208 0 061131 756 1048T:generic32lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
13589066987 0 071056 780 1080T:generic32lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
137895136419 0 0140744 780 1080T:generic64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
138507133452 0 0137464 780 1080T:generic64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
138650142701 0 0144328 812 1016T:generic64lcclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
138754136749 0 0138328 812 1016T:generic64lcclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
139160138048 0 0139624 812 1016T:generic64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
139333144000 0 0145624 812 1016T:generic64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
139824147290 0 0147752 812 1016T:generic64lcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
143248148149 0 0148608 812 1016T:generic64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
14342555686 0 060603 756 1048T:generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
14348374760 0 076176 812 1016T:generic32lcclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
143866127557 0 0130926 804 1016T:generic64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
14405980864 0 082328 812 1016T:generic32lcclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
144832125276 0 0128638 804 1016T:generic64lcclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
14517969643 0 074032 780 1080T:generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
14556583306 0 083504 812 1016T:generic32lcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
14664166101 0 069166 804 1016T:generic32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
146963131466 0 0134502 804 1016T:generic64lcclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
14809481170 0 081368 812 1016T:generic32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
148142133882 0 0136918 804 1016T:generic64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
14857273368 0 074784 812 1016T:generic32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
14868079472 0 080936 812 1016T:generic32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
15003461567 0 064966 804 1016T:generic32lcclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
15041666369 0 070432 780 1080T:generic32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
15072966701 0 069766 804 1016T:generic32lcclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
15236261183 0 064582 804 1016T:generic32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
16298462288 0 1260907 828 1016T:referenceclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
16487470038 0 1267659 828 1016T:referenceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
16663368601 0 1267235 828 1016T:referenceclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
22136963675 0 1665283 796 1080T:referencegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
32825772149 0 075912 780 1080T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
38382955011 0 058856 812 1016T:compactclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
62046540751 0 046907 756 1048T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
62685553481 0 059448 780 1080T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
63737543693 0 049334 804 1016T:compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
69264249983 0 055342 804 1016T:compactclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
70111150336 0 056256 780 1080T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
111134358888 0 1661211 796 1080T:referencegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
120331657924 0 1258814 820 1016T:referenceclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
202351645543 0 1648731 772 1048T:referencegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
218534657300 0 1659179 796 1080T:referencegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
231051451628 0 1252990 820 1016T:referenceclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
363913339823 648 566878 1772 1016T:refnewclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
364263539004 552 565978 1676 1016T:refclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
364606945956 552 574576 1676 1016T:refclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
364748047920 648 576636 1772 1016T:refnewclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
365996965919 584 595036 2164 1112T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
367030468472 680 597812 2284 1112T:refnewg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
436908151972 552 580733 2164 1112T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
439640954145 648 583031 2284 1112T:refnewg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
553109128960 648 552881 1732 1016T:refnewclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
553313328388 552 552433 1636 1016T:refclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
910965847877 648 575883 2268 1112T:refnewg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
913039346408 552 574339 2156 1112T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
1260859552759 928 577100 2076 1016T:refnewclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
1265888051854 672 577972 1972 1016T:refclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122720231217
2118795522377 552 547791 1636 1080T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217
2129922822961 648 548612 1732 1080T:refnewg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122720231217

Checksum failure

Implementation: T:compact
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
220d119bf182db9a295036a49ebfb8a0d13236a8479e1b6acbf85a93c12509ce
Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact

Test failure

Implementation: T:generic32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic32 T:generic32lc T:generic64 T:generic64lc

Compiler output

Implementation: T:compact
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-200-compact.c: KeccakP-200-compact.c:20:36: warning: '/*' within block comment [-Wcomment]
KeccakP-200-compact.c: /* #define DIVISION_INSTRUCTION /* comment if no division instruction or more compact when not using division */
KeccakP-200-compact.c: ^
KeccakP-200-compact.c: 1 warning generated.
KeccakP-800-compact.c: KeccakP-800-compact.c:27:36: warning: '/*' within block comment [-Wcomment]
KeccakP-800-compact.c: /* #define DIVISION_INSTRUCTION /* comment if no division instruction or more compact when not using division */
KeccakP-800-compact.c: ^
KeccakP-800-compact.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
Keyakv2.cpp: In file included from Keyakv2.cpp:16:
Keyakv2.cpp: In file included from ./Keyakv2.h:21:
Keyakv2.cpp: ./Motorist.h:31:5: warning: 'auto_ptr<unsigned char>' is deprecated [-Wdeprecated-declarations]
Keyakv2.cpp: auto_ptr<UINT8> state;
Keyakv2.cpp: ^
Keyakv2.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward/auto_ptr.h:287:7: note: 'auto_ptr<unsigned char>' has been explicitly marked deprecated here
Keyakv2.cpp: } _GLIBCXX_DEPRECATED;
Keyakv2.cpp: ^
Keyakv2.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10/bits/c++config.h:88:46: note: expanded from macro '_GLIBCXX_DEPRECATED'
Keyakv2.cpp: # define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))
Keyakv2.cpp: ^
Keyakv2.cpp: 1 warning generated.
Motorist.cpp: In file included from Motorist.cpp:17:
Motorist.cpp: ./Motorist.h:31:5: warning: 'auto_ptr<unsigned char>' is deprecated [-Wdeprecated-declarations]
Motorist.cpp: auto_ptr<UINT8> state;
Motorist.cpp: ^
Motorist.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward/auto_ptr.h:287:7: note: 'auto_ptr<unsigned char>' has been explicitly marked deprecated here
Motorist.cpp: } _GLIBCXX_DEPRECATED;
Motorist.cpp: ^
Motorist.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10/bits/c++config.h:88:46: note: expanded from macro '_GLIBCXX_DEPRECATED'
Motorist.cpp: # define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))
Motorist.cpp: ^
Motorist.cpp: 1 warning generated.
encrypt.cpp: In file included from encrypt.cpp:22:
encrypt.cpp: In file included from ./Keyakv2.h:21:
encrypt.cpp: ./Motorist.h:31:5: warning: 'auto_ptr<unsigned char>' is deprecated [-Wdeprecated-declarations]
encrypt.cpp: auto_ptr<UINT8> state;
encrypt.cpp: ^
encrypt.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward/auto_ptr.h:287:7: note: 'auto_ptr<unsigned char>' has been explicitly marked deprecated here
encrypt.cpp: } _GLIBCXX_DEPRECATED;
encrypt.cpp: ^
encrypt.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10/bits/c++config.h:88:46: note: expanded from macro '_GLIBCXX_DEPRECATED'
encrypt.cpp: # define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))
encrypt.cpp: ^
encrypt.cpp: 1 warning generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:refnew
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:refnew
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:refnew
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:refnew

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Keyakv2.cpp: In file included from Keyakv2.h:21,
Keyakv2.cpp: from Keyakv2.cpp:16:
Keyakv2.cpp: Motorist.h:31:5: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
Keyakv2.cpp: 31 | auto_ptr<UINT8> state;
Keyakv2.cpp: | ^~~~~~~~
Keyakv2.cpp: In file included from /usr/include/c++/10/memory:83,
Keyakv2.cpp: from Motorist.h:20,
Keyakv2.cpp: from Keyakv2.h:21,
Keyakv2.cpp: from Keyakv2.cpp:16:
Keyakv2.cpp: /usr/include/c++/10/bits/unique_ptr.h:57:28: note: declared here
Keyakv2.cpp: 57 | template<typename> class auto_ptr;
Keyakv2.cpp: | ^~~~~~~~
Motorist.cpp: In file included from Motorist.cpp:17:
Motorist.cpp: Motorist.h:31:5: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
Motorist.cpp: 31 | auto_ptr<UINT8> state;
Motorist.cpp: | ^~~~~~~~
Motorist.cpp: In file included from /usr/include/c++/10/memory:83,
Motorist.cpp: from Motorist.h:20,
Motorist.cpp: from Motorist.cpp:17:
Motorist.cpp: /usr/include/c++/10/bits/unique_ptr.h:57:28: note: declared here
Motorist.cpp: 57 | template<typename> class auto_ptr;
Motorist.cpp: | ^~~~~~~~
encrypt.cpp: In file included from Keyakv2.h:21,
encrypt.cpp: from encrypt.cpp:22:
encrypt.cpp: Motorist.h:31:5: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
encrypt.cpp: 31 | auto_ptr<UINT8> state;
encrypt.cpp: | ^~~~~~~~
encrypt.cpp: In file included from /usr/include/c++/10/memory:83,
encrypt.cpp: from Motorist.h:20,
encrypt.cpp: from Keyakv2.h:21,
encrypt.cpp: from encrypt.cpp:22:
encrypt.cpp: /usr/include/c++/10/bits/unique_ptr.h:57:28: note: declared here
encrypt.cpp: 57 | template<typename> class auto_ptr;
encrypt.cpp: | ^~~~~~~~

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew