Implementation notes: aarch64, pi4b, crypto_aead/seakeyakv2

Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: seakeyakv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4178398542 0 0106674 864 856T:generic64lcgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
42672120732 0 0122217 896 872T:generic64clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
42672115580 0 0119274 880 880T:generic64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
43561111376 0 0115218 880 864T:generic64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
43561124808 0 0126297 896 872T:generic64lcclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
43561112456 0 0116298 880 864T:generic64lcgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
43561117640 0 0121330 880 880T:generic64lcgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
44450110268 0 0113322 880 864T:generic64gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
45339105362 0 0113506 864 856T:generic64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
45339111500 0 0114546 880 864T:generic64lcgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
5600762460 0 066785 896 872T:compactclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
5687271867 0 1270284 912 872T:referenceclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
7023156440 0 061346 880 864T:ARMv8Agcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
7023158780 0 063074 880 880T:ARMv8Agcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
7023148018 0 057234 864 856T:ARMv8Agcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
7112057600 0 061818 880 864T:ARMv8Agcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
9952663130 0 1263357 896 880T:referencegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
10134663902 0 068706 880 880T:compactgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
12890578960 0 080449 896 872T:generic32clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
12890580756 0 082241 896 872T:generic32lcclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
13512867480 0 070633 888 864T:generic32gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
13512868300 0 071449 888 864T:generic32lcgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
14135157878 0 062017 872 856T:generic32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
14135158438 0 062585 872 856T:generic32lcgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
14401876700 0 080505 888 880T:generic32lcgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
14490775292 0 079089 888 880T:generic32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
15201969184 0 073129 888 864T:generic32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
15201970112 0 074049 888 864T:generic32lcgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
22758452913 0 058570 880 864T:compactgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
25603253885 0 059010 880 864T:compactgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
29514844028 0 053826 864 856T:compactgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
45497659995 0 1261141 896 864T:referencegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
49763050181 0 1252050 880 856T:referencegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
68246461559 0 1261949 896 864T:referencegcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
136372658378 552 585853 1808 920T:refg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
142180059948 648 587477 1904 920T:refnewg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
167772447158 648 578362 1928 904T:refnewg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
169194245569 552 572617 1824 904T:refg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
205181267653 0 1267981 896 880T:reference32bitsgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
288658362963 0 1264181 896 864T:reference32bitsgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
291469052425 0 1258466 880 856T:reference32bitsgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
314217825916 552 554926 1768 856T:refg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
315683926350 648 551531 1864 856T:refnewg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
317106364107 0 1264565 896 864T:reference32bitsgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
327014046320 648 577083 1928 904T:refnewg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
328435845024 552 575717 1824 904T:refg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625

Compiler output


KeccakP-200-reference.c: KeccakP-200-reference.c:225:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-200-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-200-reference.c:             ^
KeccakP-200-reference.c: KeccakP-200-reference.c:236:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-200-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-200-reference.c:             ^
KeccakP-200-reference.c: 2 warnings generated.
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-400-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-400-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: 2 warnings generated.
KeccakP-1600-armv8a-neon.s: <instantiation>:18:18: error: invalid operand for instruction
KeccakP-1600-armv8a-neon.s:     mov     v5.2d[0], v0.2d[1]            // v5 = (A[4] ^ A[14]) || ????
KeccakP-1600-armv8a-neon.s:                  ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:511:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s:     KeccakRound
KeccakP-1600-armv8a-neon.s:     ^
KeccakP-1600-armv8a-neon.s: <instantiation>:23:18: error: invalid operand for instruction
KeccakP-1600-armv8a-neon.s:     mov     v4.2d[1], v3.2d[0]            // v4 = B[4] || B[3]
KeccakP-1600-armv8a-neon.s:                  ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:511:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s:     KeccakRound
KeccakP-1600-armv8a-neon.s:     ^
KeccakP-1600-armv8a-neon.s: <instantiation>:57:18: error: invalid operand for instruction
KeccakP-1600-armv8a-neon.s:     mov     x11, v20.2d[0]                // x11   = A[1]
KeccakP-1600-armv8a-neon.s:                  ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:511:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s:     KeccakRound
KeccakP-1600-armv8a-neon.s:     ^
KeccakP-1600-armv8a-neon.s: <instantiation>:2:18: error: invalid operand for instruction
KeccakP-1600-armv8a-neon.s:     mov     x10, v25.2d[0]
KeccakP-1600-armv8a-neon.s:                  ^
KeccakP-1600-armv8a-neon.s: <instantiation>:59:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s:     RhoPi   v25.2d[0], x11, x10, 1        // A[10] = ROTL64(A[1], 1)
KeccakP-1600-armv8a-neon.s:     ^
KeccakP-1600-armv8a-neon.s: KeccakP-1600-armv8a-neon.s:511:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s: ...

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

Compiler output


KeccakP-200-reference.c: KeccakP-200-reference.c:236:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-200-reference.c:   236 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-200-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-200-reference.c: KeccakP-200-reference.c:225:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-200-reference.c:   225 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-200-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   238 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   227 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 20, namely:
ImplementationCompiler
T:ARMv8Agcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ARMv8Agcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ARMv8Agcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:ARMv8Agcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic32lcgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic32lcgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic32lcgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic32lcgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic64lcgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic64lcgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic64lcgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:generic64lcgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


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-400-reference.c: KeccakP-400-reference.c:227:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-400-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-400-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: 2 warnings 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 (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:compactclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


KeccakP-200-compact.c: KeccakP-200-compact.c:20:36: warning: "/*" within 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-400-reference.c: KeccakP-400-reference.c:238:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   238 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   227 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-800-compact.c: KeccakP-800-compact.c:27:36: warning: "/*" within 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:       |

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:compactgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:compactgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:compactgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:compactgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


KeccakP-200-reference.c: KeccakP-200-reference.c:225:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-200-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-200-reference.c:             ^
KeccakP-200-reference.c: KeccakP-200-reference.c:236:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-200-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-200-reference.c:             ^
KeccakP-200-reference.c: 2 warnings generated.
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-400-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-400-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: 2 warnings generated.

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

Compiler output


Keccak-f.cpp: In file included from Keccak-f.cpp:17:
Keccak-f.cpp: Keccak-f.h: In instantiation of 'void KeccakF::forward(std::vector<Lane>&) const [with Lane = long long unsigned int]':
Keccak-f.cpp: Keccak-f.cpp:175:12:   required from here
Keccak-f.cpp: Keccak-f.h:473:33: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
Keccak-f.cpp:   473 |     for(int i=startRoundIndex; i<startRoundIndex+nrRounds; i++)
Keccak-f.cpp:       |                                ~^~~~~~~~~~~~~~~~~~~~~~~~~
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:       |                            ^~~~~~~~
Motorist.cpp: In file included from Motorist.cpp:17:
Motorist.cpp: Motorist.h: In constructor 'Motorist::Motorist(const Permutation*, unsigned int, unsigned int, unsigned int, unsigned int)':
Motorist.cpp: Motorist.h:68:18: warning: 'Motorist::c' will be initialized after [-Wreorder]
Motorist.cpp:    68 |     unsigned int c;
Motorist.cpp:       |                  ^
Motorist.cpp: Motorist.h:65:20: warning:   'std::vector<Piston> Motorist::Pistons' [-Wreorder]
Motorist.cpp:    65 |     vector<Piston> Pistons;
Motorist.cpp:       |                    ^~~~~~~
Motorist.cpp: Motorist.cpp:198:1: warning:   when initialized here [-Wreorder]
Motorist.cpp:   198 | Motorist::Motorist(const Permutation *f, unsigned int aPi, unsigned int aW, unsigned int ac, unsigned int atau):
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 (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


KeccakP-1600-reference.c: KeccakP-1600-reference.c:231:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-1600-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-1600-reference.c:             ^
KeccakP-1600-reference.c: KeccakP-1600-reference.c:242:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-1600-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-1600-reference.c:             ^
KeccakP-1600-reference.c: 2 warnings generated.
KeccakP-200-reference.c: KeccakP-200-reference.c:225:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-200-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-200-reference.c:             ^
KeccakP-200-reference.c: KeccakP-200-reference.c:236:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-200-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-200-reference.c:             ^
KeccakP-200-reference.c: 2 warnings generated.
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-400-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-400-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: 2 warnings generated.
KeccakP-800-reference.c: KeccakP-800-reference.c:229:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-800-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-800-reference.c:             ^
KeccakP-800-reference.c: KeccakP-800-reference.c:240:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-800-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-800-reference.c:             ^
KeccakP-800-reference.c: 2 warnings generated.

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

Compiler output


KeccakP-1600-reference.c: KeccakP-1600-reference.c:242:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-1600-reference.c:   242 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-1600-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-1600-reference.c: KeccakP-1600-reference.c:231:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-1600-reference.c:   231 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-1600-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-200-reference.c: KeccakP-200-reference.c:236:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-200-reference.c:   236 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-200-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-200-reference.c: KeccakP-200-reference.c:225:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-200-reference.c:   225 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-200-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   238 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   227 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-800-reference.c: KeccakP-800-reference.c:240:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-800-reference.c:   240 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-800-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-800-reference.c: KeccakP-800-reference.c:229:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-800-reference.c:   229 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-800-reference.c:       |             ^~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:referencegcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:referencegcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:referencegcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:referencegcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


KeccakP-1600-reference32BI.c: KeccakP-1600-reference32BI.c:148:5: warning: suggest braces around initialization of subobject [-Wmissing-braces]
KeccakP-1600-reference32BI.c:     0x00000001, 0x00000000,
KeccakP-1600-reference32BI.c:     ^~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-reference32BI.c:     {                     }
KeccakP-1600-reference32BI.c: KeccakP-1600-reference32BI.c:149:5: warning: suggest braces around initialization of subobject [-Wmissing-braces]
KeccakP-1600-reference32BI.c:     0x00000000, 0x00000089,
KeccakP-1600-reference32BI.c:     ^~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-reference32BI.c:     {                     }
KeccakP-1600-reference32BI.c: KeccakP-1600-reference32BI.c:150:5: warning: suggest braces around initialization of subobject [-Wmissing-braces]
KeccakP-1600-reference32BI.c:     0x00000000, 0x8000008B,
KeccakP-1600-reference32BI.c:     ^~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-reference32BI.c:     {                     }
KeccakP-1600-reference32BI.c: KeccakP-1600-reference32BI.c:151:5: warning: suggest braces around initialization of subobject [-Wmissing-braces]
KeccakP-1600-reference32BI.c:     0x00000000, 0x80008080,
KeccakP-1600-reference32BI.c:     ^~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-reference32BI.c:     {                     }
KeccakP-1600-reference32BI.c: KeccakP-1600-reference32BI.c:152:5: warning: suggest braces around initialization of subobject [-Wmissing-braces]
KeccakP-1600-reference32BI.c:     0x00000001, 0x0000008B,
KeccakP-1600-reference32BI.c:     ^~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-reference32BI.c:     {                     }
KeccakP-1600-reference32BI.c: KeccakP-1600-reference32BI.c:153:5: warning: suggest braces around initialization of subobject [-Wmissing-braces]
KeccakP-1600-reference32BI.c:     0x00000001, 0x00008000,
KeccakP-1600-reference32BI.c:     ^~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-reference32BI.c:     {                     }
KeccakP-1600-reference32BI.c: KeccakP-1600-reference32BI.c:154:5: warning: suggest braces around initialization of subobject [-Wmissing-braces]
KeccakP-1600-reference32BI.c: ...

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

Compiler output


KeccakP-1600-reference32BI.c: KeccakP-1600-reference32BI.c:147:1: warning: missing braces around initializer [-Wmissing-braces]
KeccakP-1600-reference32BI.c:   147 | {
KeccakP-1600-reference32BI.c:       | ^
KeccakP-1600-reference32BI.c:   148 |     0x00000001, 0x00000000,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c:   149 |     0x00000000, 0x00000089,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c:   150 |     0x00000000, 0x8000008B,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c:   151 |     0x00000000, 0x80008080,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c:   152 |     0x00000001, 0x0000008B,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c:   153 |     0x00000001, 0x00008000,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c:   154 |     0x00000001, 0x80008088,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c:   155 |     0x00000001, 0x80000082,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c:   156 |     0x00000000, 0x0000000B,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c:   157 |     0x00000000, 0x0000000A,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c:   158 |     0x00000001, 0x00008082,
KeccakP-1600-reference32BI.c:       |     {                     }
KeccakP-1600-reference32BI.c: ...
KeccakP-200-reference.c: KeccakP-200-reference.c:236:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-200-reference.c:   236 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-200-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-200-reference.c: KeccakP-200-reference.c:225:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-200-reference.c:   225 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-200-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   238 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   227 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-800-reference.c: KeccakP-800-reference.c:240:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-800-reference.c:   240 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-800-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-800-reference.c: KeccakP-800-reference.c:229:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-800-reference.c:   229 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-800-reference.c:       |             ^~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:reference32bitsgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:reference32bitsgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:reference32bitsgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:reference32bitsgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


Keccak-f.cpp: In file included from Keccak-f.cpp:17:
Keccak-f.cpp: Keccak-f.h: In instantiation of 'void KeccakF::forward(std::vector<Lane>&) const [with Lane = long long unsigned int]':
Keccak-f.cpp: Keccak-f.cpp:175:12:   required from here
Keccak-f.cpp: Keccak-f.h:473:33: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
Keccak-f.cpp:   473 |     for(int i=startRoundIndex; i<startRoundIndex+nrRounds; i++)
Keccak-f.cpp:       |                                ~^~~~~~~~~~~~~~~~~~~~~~~~~
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 (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refnewg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refnewg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refnewg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refnewg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)