Implementation notes: amd64, lucienne, crypto_aead/riverkeyakv1
Computer: lucienne
Microarchitecture: amd64; Zen 2 (860f81)
Architecture: amd64
CPU ID: AuthenticAMD-00860f81-178bfbff
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: riverkeyakv1
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
197289 | 18912 0 232 | 42155 796 1336 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
208898 | 13773 0 208 | 36155 828 1272 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
215523 | 15853 0 208 | 38395 828 1272 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
225404 | 15602 0 208 | 38371 828 1240 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
533973 | 10821 0 232 | 32395 796 1336 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
593411 | 9892 0 208 | 30110 820 1240 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
953693 | 10160 0 232 | 31035 796 1336 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
1084350 | 9502 0 208 | 29494 820 1240 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
1595877 | 8643 0 232 | 27883 772 1304 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
Compiler output
KeccakDuplex.c: KeccakDuplex.c:63:9: warning: implicit declaration of function 'KeccakP800_12_StatePermute' is invalid in C99 [-Wimplicit-function-declaration]
KeccakDuplex.c: KeccakF_StatePermute(instance->state);
KeccakDuplex.c: ^
KeccakDuplex.c: ./KeccakF-interface.h:53:30: note: expanded from macro 'KeccakF_StatePermute'
KeccakDuplex.c: #define KeccakF_StatePermute KeccakP800_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:85:9: warning: implicit declaration of function 'KeccakP800_12_StateXORPermuteExtract' is invalid in C99 [-Wimplicit-function-declaration]
KeccakDuplex.c: KeccakF_StateXORPermuteExtract(instance->state, sigmaBegin, sigmaBeginByteLen/KeccakF_laneInBytes,
KeccakDuplex.c: ^
KeccakDuplex.c: ./KeccakF-interface.h:73:40: note: expanded from macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: #define KeccakF_StateXORPermuteExtract KeccakP800_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: 2 warnings generated.
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
KeccakDuplex.c: In file included from KeccakDuplex.h:17,
KeccakDuplex.c: from KeccakDuplex.c:15:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_Duplexing':
KeccakDuplex.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP800_12_StatePermute'; did you mean 'KeccakF800_StatePermute'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 53 | #define KeccakF_StatePermute KeccakP800_12_StatePermute
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c:63:9: note: in expansion of macro 'KeccakF_StatePermute'
KeccakDuplex.c: 63 | KeccakF_StatePermute(instance->state);
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: warning: implicit declaration of function 'KeccakP800_12_StateXORPermuteExtract'; did you mean 'KeccakF800_StateXORPermuteExtract'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 73 | #define KeccakF_StateXORPermuteExtract KeccakP800_12_StateXORPermuteExtract
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: 73 | #define KeccakF_StateXORPermuteExtract KeccakP800_12_StateXORPermuteExtract
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Namespace violations
KeccakDuplex.o Keccak_DuplexGetInputIndex T
KeccakDuplex.o Keccak_DuplexGetOutputIndex T
KeccakDuplex.o Keccak_DuplexInitialize T
KeccakDuplex.o Keccak_Duplexing T
KeccakDuplex.o Keccak_DuplexingFeedPartialInput T
KeccakDuplex.o Keccak_DuplexingFeedZeroes T
KeccakDuplex.o Keccak_DuplexingGetFurtherOutput T
KeccakDuplex.o Keccak_DuplexingGetFurtherOutputAndXOR T
KeccakDuplex.o Keccak_DuplexingOverwritePartialInput T
KeccakDuplex.o Keccak_DuplexingOverwriteWithZeroes T
KeccakF-800-reference.o KeccakF800OnWords T
KeccakF-800-reference.o KeccakF800Round T
KeccakF-800-reference.o KeccakF800_Initialize T
KeccakF-800-reference.o KeccakF800_InitializeRhoOffsets T
KeccakF-800-reference.o KeccakF800_InitializeRoundConstants T
KeccakF-800-reference.o KeccakF800_StateComplementBit T
KeccakF-800-reference.o KeccakF800_StateExtractAndXORBytesInLane T
KeccakF-800-reference.o KeccakF800_StateExtractAndXORLanes T
KeccakF-800-reference.o KeccakF800_StateExtractBytesInLane T
KeccakF-800-reference.o KeccakF800_StateExtractLanes T
KeccakF-800-reference.o KeccakF800_StateInitialize T
KeccakF-800-reference.o KeccakF800_StateOverwriteBytesInLane T
KeccakF-800-reference.o KeccakF800_StateOverwriteLanes T
KeccakF-800-reference.o KeccakF800_StateOverwriteWithZeroes T
KeccakF-800-reference.o KeccakF800_StatePermute T
KeccakF-800-reference.o KeccakF800_StateXORBytesInLane T
KeccakF-800-reference.o KeccakF800_StateXORLanes T
KeccakF-800-reference.o KeccakF800_StateXORPermuteExtract T
KeccakF-800-reference.o KeccakRhoOffsets B
KeccakF-800-reference.o KeccakRoundConstants B
KeccakF-800-reference.o LFSR86540 T
KeccakF-800-reference.o chi T
KeccakF-800-reference.o displayRhoOffsets T
KeccakF-800-reference.o displayRoundConstants T
KeccakF-800-reference.o fromBytesToWords T
KeccakF-800-reference.o fromWordsToBytes T
KeccakF-800-reference.o iota T
KeccakF-800-reference.o pi T
KeccakF-800-reference.o rho T
KeccakF-800-reference.o theta T
KeccakP-800-12-reference.o KeccakP800_12_OnWords T
KeccakP-800-12-reference.o KeccakP800_12_StatePermute T
KeccakP-800-12-reference.o KeccakP800_12_StateXORPermuteExtract T
Keyak.o Keyak_FeedAssociatedData T
Keyak.o Keyak_Forget T
Keyak.o Keyak_GetTag T
Keyak.o Keyak_Initialize T
Keyak.o Keyak_ProcessAssociatedData T
Keyak.o Keyak_ProcessCiphertext T
Keyak.o Keyak_ProcessForget T
Keyak.o Keyak_ProcessPlaintext T
Keyak.o Keyak_ProcessTag T
Keyak.o Keyak_UnwrapCiphertext T
Keyak.o Keyak_WrapPlaintext T
Keyak.o LakeKeyak_Initialize T
Keyak.o RiverKeyak_Initialize T
displayIntermediateValues.o displayBits T
displayIntermediateValues.o displayBytes T
displayIntermediateValues.o displayLevel B
displayIntermediateValues.o displayRoundNumber T
displayIntermediateValues.o displaySetIntermediateValueFile T
displayIntermediateValues.o displaySetLevel T
displayIntermediateValues.o displayStateAs32bitWords T
displayIntermediateValues.o displayStateAsBytes T
displayIntermediateValues.o displayStateAsLanes T
displayIntermediateValues.o displayText T
displayIntermediateValues.o intermediateValueFile B
Number of similar (implementation,compiler) pairs: 9, namely:
Implementation | Compiler |
T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |