Implementation notes: amd64, hertz, crypto_aead/riverkeyakv2

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: riverkeyakv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
35732166602 0 0170812 812 1160T:generic64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
3599384785 0 089107 820 1160T:generic32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
3676373709 0 077779 820 1096T:generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
36822116184 0 0120535 788 1064T:generic64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
37476139149 0 0143100 812 1096T:generic64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
38496119888 0 0124247 788 1064T:generic64lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
38604176366 0 0180584 812 1160T:generic64lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
3895558026 0 062502 796 1064T:generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
39017143406 0 0147364 812 1096T:generic64lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
3943686509 0 090831 820 1160T:generic32lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
4046974737 0 078807 820 1096T:generic32lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
40605127236 0 0132604 836 1096T:generic64lcclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
4064258904 0 063390 796 1064T:generic32lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
40735142733 0 0146346 844 1096T:generic64lcclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
40869146287 0 0148386 844 1096T:generic64lcclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
4168763649 0 069148 836 1096T:generic32lcclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
4187284682 0 088130 844 1096T:generic32lcclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
4200891600 0 093386 844 1096T:generic32lcclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
47029147470 0 0147754 844 1096T:generic64clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
47133143932 0 0145730 844 1096T:generic64clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
48925130250 0 0133836 836 1096T:generic64clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
6848992080 0 093482 844 1096T:generic32clang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
6885385162 0 088226 844 1096T:generic32clang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
6893864939 0 070052 836 1096T:generic32clang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
8043670344 0 1269557 860 1096T:referenceclang-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
8070366120 0 1266885 860 1096T:referenceclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
11872271799 0 077436 812 1160T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
16027457126 0 062980 812 1096T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
16298368945 0 1670487 828 1160T:referencegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
17230743181 0 048823 788 1064T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
19550757827 0 064259 844 1096T:compactclang-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
26499244572 0 052116 836 1096T:compactclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
30878663521 0 1665391 828 1096T:referencegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
51588748202 0 1650743 804 1064T:referencegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
68417552509 0 1256084 852 1096T:referenceclang-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
75735243467 608 073404 1764 1096T:refnewclang++-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
75794139839 512 069488 1668 1096T:refclang++-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
75928070311 640 0102056 2252 1192T:refnewg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
75967241236 608 070648 1764 1096T:refnewclang++-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
76915167870 544 099436 2140 1192T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
77114438160 512 067484 1668 1096T:refclang++-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
93795658508 640 088272 2268 1128T:refnewg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
94175856734 544 086435 2156 1128T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
95501727909 512 054306 1620 1096T:refclang++-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
96072728352 608 054806 1716 1096T:refnewclang++-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
318315325837 608 052350 1708 1096T:refnewg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
318904425355 512 051579 1612 1096T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217

Checksum failure

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

Compiler output

Implementation: T:compact
Security model: timingleaks
Compiler: clang-17 -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: 20 | /* #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: 27 | /* #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: 3, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++-17 -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: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
Keyakv2.cpp: 31 | auto_ptr<UINT8> state;
Keyakv2.cpp: | ^
Keyakv2.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/backward/auto_ptr.h:291:7: note: 'auto_ptr<unsigned char>' has been explicitly marked deprecated here
Keyakv2.cpp: 291 | } _GLIBCXX11_DEPRECATED_SUGGEST("std::unique_ptr");
Keyakv2.cpp: | ^
Keyakv2.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h:106:45: note: expanded from macro '_GLIBCXX11_DEPRECATED_SUGGEST'
Keyakv2.cpp: 106 | # define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)
Keyakv2.cpp: | ^
Keyakv2.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h:98:19: note: expanded from macro '_GLIBCXX_DEPRECATED_SUGGEST'
Keyakv2.cpp: 98 | __attribute__ ((__deprecated__ ("use '" ALT "' instead")))
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: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
Motorist.cpp: 31 | auto_ptr<UINT8> state;
Motorist.cpp: | ^
Motorist.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/backward/auto_ptr.h:291:7: note: 'auto_ptr<unsigned char>' has been explicitly marked deprecated here
Motorist.cpp: 291 | } _GLIBCXX11_DEPRECATED_SUGGEST("std::unique_ptr");
Motorist.cpp: | ^
Motorist.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h:106:45: note: expanded from macro '_GLIBCXX11_DEPRECATED_SUGGEST'
Motorist.cpp: 106 | # define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)
Motorist.cpp: | ^
Motorist.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h:98:19: note: expanded from macro '_GLIBCXX_DEPRECATED_SUGGEST'
Motorist.cpp: 98 | __attribute__ ((__deprecated__ ("use '" ALT "' instead")))
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: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
encrypt.cpp: 31 | auto_ptr<UINT8> state;
encrypt.cpp: | ^
encrypt.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/backward/auto_ptr.h:291:7: note: 'auto_ptr<unsigned char>' has been explicitly marked deprecated here
encrypt.cpp: 291 | } _GLIBCXX11_DEPRECATED_SUGGEST("std::unique_ptr");
encrypt.cpp: | ^
encrypt.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h:106:45: note: expanded from macro '_GLIBCXX11_DEPRECATED_SUGGEST'
encrypt.cpp: 106 | # define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)
encrypt.cpp: | ^
encrypt.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13/bits/c++config.h:98:19: note: expanded from macro '_GLIBCXX_DEPRECATED_SUGGEST'
encrypt.cpp: 98 | __attribute__ ((__deprecated__ ("use '" ALT "' instead")))
encrypt.cpp: | ^
encrypt.cpp: 1 warning generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang++-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:refnew
clang++-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:refnew
clang++-17 -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: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
Keyakv2.cpp: 31 | auto_ptr<UINT8> state;
Keyakv2.cpp: | ^~~~~~~~
Keyakv2.cpp: In file included from /usr/include/c++/13/memory:78,
Keyakv2.cpp: from Motorist.h:20:
Keyakv2.cpp: /usr/include/c++/13/bits/unique_ptr.h:65:28: note: declared here
Keyakv2.cpp: 65 | 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: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
Motorist.cpp: 31 | auto_ptr<UINT8> state;
Motorist.cpp: | ^~~~~~~~
Motorist.cpp: In file included from /usr/include/c++/13/memory:78,
Motorist.cpp: from Motorist.h:20:
Motorist.cpp: /usr/include/c++/13/bits/unique_ptr.h:65:28: note: declared here
Motorist.cpp: 65 | 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: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
encrypt.cpp: 31 | auto_ptr<UINT8> state;
encrypt.cpp: | ^~~~~~~~
encrypt.cpp: In file included from /usr/include/c++/13/memory:78,
encrypt.cpp: from Motorist.h:20:
encrypt.cpp: /usr/include/c++/13/bits/unique_ptr.h:65:28: note: declared here
encrypt.cpp: 65 | template<typename> class auto_ptr;
encrypt.cpp: | ^~~~~~~~

Number of similar (compiler,implementation) pairs: 6, 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 -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 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew