Implementation notes: riscv64, riscvunleashed000, crypto_aead/seakeyakv2

Computer: riscvunleashed000
Microarchitecture: riscv64; U54 (sifive,u54-mc)
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: seakeyakv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
162715113054 0 0111365 768 848T:generic64lcgcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
168094116078 0 0114079 784 848T:generic64lcgcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
169549118026 0 0116325 768 848T:generic64gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
175856120660 0 0118653 784 848T:generic64gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
202937142312 0 0139413 784 848T:generic64lcgcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
204949135908 0 0134429 784 848T:generic64lcgcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
225148144646 0 0143173 784 848T:generic64gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
225393149864 0 0146957 784 848T:generic64gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
241937109222 0 0107029 768 841T:generic64lcclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
251964112330 0 0110131 768 841T:generic64clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
272184120624 0 0117101 776 848T:generic64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
272230120624 0 0117101 776 848T:generic64clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
273111117128 0 0114193 776 848T:generic64clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
273225117128 0 0114193 776 848T:generic64clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
277443118122 0 0114623 776 848T:generic64lcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
277541118122 0 0114623 776 848T:generic64lcclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
278568114614 0 0111703 776 848T:generic64lcclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
278626114614 0 0111703 776 848T:generic64lcclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
32323350405 0 1243774 792 848T:referenceclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
32323550405 0 1243774 792 848T:referenceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
32584447161 0 1241152 792 848T:referenceclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
32585147161 0 1241152 792 848T:referenceclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
39247450340 0 048189 784 848T:compactgcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
50161842108 0 041021 776 848T:compactclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
50163342108 0 041021 776 848T:compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
50335248630 0 046892 776 848T:generic32gcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
50335349170 0 047440 776 848T:generic32lcgcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
51344839262 0 038171 776 848T:compactclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
51346539262 0 038171 776 848T:compactclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
52134352314 0 050274 792 848T:generic32lcgcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
52136151792 0 049744 792 848T:generic32gcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
52298246888 0 1241758 800 848T:referencegcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
61512748806 0 046447 768 841T:generic32clang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
61515349428 0 047081 768 841T:generic32lcclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
66539356900 0 055372 792 848T:generic32lcgcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
66539656578 0 055042 792 848T:generic32gcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
66891859170 0 055463 776 848T:generic32lcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
66899058540 0 054821 776 848T:generic32clang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
66911255174 0 052083 776 848T:generic32lcclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
66913454552 0 051449 776 848T:generic32clang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
66913458540 0 054821 776 848T:generic32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
66916654552 0 051449 776 848T:generic32clang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
66918155174 0 052083 776 848T:generic32lcclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
66951759170 0 055463 776 848T:generic32lcclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
67185062448 0 059446 792 848T:generic32lcgcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
67186461918 0 058908 792 848T:generic32gcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
76514133428 0 033261 768 841T:compactclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
81263035293 0 035029 784 848T:compactgcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
90114431847 0 031335 768 848T:compactgcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
109065234897 0 034221 784 848T:compactgcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
169051440033 0 1236862 800 848T:referencegcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
189150436537 0 1233343 784 848T:referencegcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
285955140339 0 1236458 800 848T:referencegcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
372790255041 552 573322 1704 888T:refg++_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
380100856242 648 574524 1800 888T:refnewg++_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
421750454684 0 1248158 792 848T:reference32bitsclang_-march=rv64imafdc_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
421834954684 0 1248158 792 848T:reference32bitsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
439671340959 0 1236791 784 841T:referenceclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
453280052713 0 1247468 800 848T:reference32bitsgcc_-mcpu=sifive-u54_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
458190344803 648 562333 1824 888T:refnewg++_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
458362043516 552 560952 1720 888T:refg++_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
517322449346 0 1243436 792 848T:reference32bitsclang_-march=rv64imafdc_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
517414549346 0 1243436 792 848T:reference32bitsclang_-march=rv64imafdc_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222
808275142147 0 1238876 800 848T:reference32bitsgcc_-mcpu=sifive-u54_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
841707038123 0 1234849 784 848T:reference32bitsgcc_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
872526044522 648 561494 1824 888T:refnewg++_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
877554443350 552 560233 1720 888T:refg++_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
883983726631 648 543901 1760 888T:refnewg++_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
889413526007 552 543086 1664 888T:refg++_-mcpu=sifive-u54_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
896508442173 0 1238208 800 848T:reference32bitsgcc_-mcpu=sifive-u54_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011820231222
976099042674 0 1238467 784 841T:reference32bitsclang_-march=rv64imafdc_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011820231222

Compiler output

Implementation: T:compact
Security model: timingleaks
Compiler: clang -march=rv64imafdc -mtune=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=rv64imafdc -mtune=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang -march=rv64imafdc -mtune=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang -march=rv64imafdc -mtune=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang -march=rv64imafdc -mtune=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: g++ -mcpu=sifive-u54 -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++/11/memory:76,
Keyakv2.cpp: from Motorist.h:20,
Keyakv2.cpp: from Keyakv2.h:21,
Keyakv2.cpp: from Keyakv2.cpp:16:
Keyakv2.cpp: /usr/include/c++/11/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: 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++/11/memory:76,
Motorist.cpp: from Motorist.h:20,
Motorist.cpp: from Motorist.cpp:17:
Motorist.cpp: /usr/include/c++/11/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: 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++/11/memory:76,
encrypt.cpp: from Motorist.h:20,
encrypt.cpp: from Keyakv2.h:21,
encrypt.cpp: from encrypt.cpp:22:
encrypt.cpp: /usr/include/c++/11/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++ -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -mcpu=sifive-u54 -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -mcpu=sifive-u54 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -mcpu=sifive-u54 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -mcpu=sifive-u54 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew
g++ -mcpu=sifive-u54 -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew
g++ -mcpu=sifive-u54 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew
g++ -mcpu=sifive-u54 -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew