Implementation notes: riscv64, riscvunleashed000, crypto_aead/lakekeyakv1

Computer: riscvunleashed000
Architecture: riscv64
CPU ID: unknown CPU ID
SUPERCOP version: 20210326
Operation: crypto_aead
Primitive: lakekeyakv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
14140563396 0 077935 768 848T:opt64lcu6clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021041820210326
148254147076 0 0161615 768 848T:opt64lcufullclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021041820210326
15020465606 0 080139 768 848T:opt64u6clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021041820210326
160078156648 0 0171183 768 848T:opt64ufullclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021041820210326
45190024862 0 039127 760 848T:inplace32biclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021041820210326
4602307456 0 021736 760 848T:compact64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021041820210326
4790969890 0 1223969 776 1160T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021041820210326

Compiler output

Implementation: T:opt64lcufullshld
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:273:5: error: unrecognized instruction mnemonic, did you mean: ld, sd, sh?
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: ./KeccakF-1600-unrolling.macros:19:5: note: expanded from macro 'rounds'
KeccakF-1600-opt64.c: thetaRhoPiChiIotaPrepareTheta( 0, A, E) \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: ./KeccakF-1600-64.macros:46:13: note: expanded from macro 'thetaRhoPiChiIotaPrepareTheta'
KeccakF-1600-opt64.c: Da = Cu^ROL64(Ce, 1); \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:43:14: note: expanded from macro 'ROL64'
KeccakF-1600-opt64.c: __asm__ ("shld %2,%0,%0" : "=r"(__out) : "0"(__in), "i"(N)); \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: <inline asm>:1:2: note: instantiated into assembly here
KeccakF-1600-opt64.c: shld 1,s0,s0
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:273:5: error: unrecognized instruction mnemonic, did you mean: ld, sd, sh?
KeccakF-1600-opt64.c: rounds
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: ./KeccakF-1600-unrolling.macros:19:5: note: expanded from macro 'rounds'
KeccakF-1600-opt64.c: thetaRhoPiChiIotaPrepareTheta( 0, A, E) \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: ./KeccakF-1600-64.macros:47:13: note: expanded from macro 'thetaRhoPiChiIotaPrepareTheta'
KeccakF-1600-opt64.c: De = Ca^ROL64(Ci, 1); \
KeccakF-1600-opt64.c: ^
KeccakF-1600-opt64.c: KeccakF-1600-opt64.c:43:14: note: expanded from macro 'ROL64'
KeccakF-1600-opt64.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt64lcufullshld

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakDuplex.c: KeccakDuplex.c:63:9: warning: implicit declaration of function 'KeccakP1600_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 KeccakP1600_12_StatePermute
KeccakDuplex.c: ^
KeccakDuplex.c: KeccakDuplex.c:85:9: warning: implicit declaration of function 'KeccakP1600_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 KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: ^
KeccakDuplex.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Namespace violations

Implementation: T:compact64
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakDuplex.o Keccak_DuplexGetInputIndex T
KeccakDuplex.o Keccak_DuplexGetOutputIndex T
KeccakDuplex.o Keccak_DuplexInitialize T
KeccakDuplex.o Keccak_Duplexing T
KeccakDuplex.o Keccak_DuplexingFBWLAbsorb T
KeccakDuplex.o Keccak_DuplexingFBWLUnwrap T
KeccakDuplex.o Keccak_DuplexingFBWLWrap 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-1600-compact64.o KeccakF1600_Initialize T
KeccakF-1600-compact64.o KeccakF1600_StateComplementBit T
KeccakF-1600-compact64.o KeccakF1600_StateExtractAndXORBytesInLane T
KeccakF-1600-compact64.o KeccakF1600_StateExtractAndXORLanes T
KeccakF-1600-compact64.o KeccakF1600_StateExtractBytesInLane T
KeccakF-1600-compact64.o KeccakF1600_StateExtractLanes T
KeccakF-1600-compact64.o KeccakF1600_StateInitialize T
KeccakF-1600-compact64.o KeccakF1600_StateOverwriteBytesInLane T
KeccakF-1600-compact64.o KeccakF1600_StateOverwriteLanes T
KeccakF-1600-compact64.o KeccakF1600_StateOverwriteWithZeroes T
KeccakF-1600-compact64.o KeccakF1600_StatePermute T
KeccakF-1600-compact64.o KeccakF1600_StateXORBytesInLane T
KeccakF-1600-compact64.o KeccakF1600_StateXORLanes T
KeccakF-1600-compact64.o KeccakF_Mod5 R
KeccakF-1600-compact64.o KeccakF_PiLane R
KeccakF-1600-compact64.o KeccakF_RotationConstants R
KeccakF-1600-compact64.o KeccakP1600_StatePermute T
KeccakP-1600-12-compact64.o KeccakP1600_12_StatePermute 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
SnP-FBWL-default.o SnP_FBWL_Absorb_Default T
SnP-FBWL-default.o SnP_FBWL_Squeeze_Default T
SnP-FBWL-default.o SnP_FBWL_Unwrap_Default T
SnP-FBWL-default.o SnP_FBWL_Wrap_Default T

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact64

Namespace violations

Implementation: T:inplace32bi
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakDuplex.o Keccak_DuplexGetInputIndex T
KeccakDuplex.o Keccak_DuplexGetOutputIndex T
KeccakDuplex.o Keccak_DuplexInitialize T
KeccakDuplex.o Keccak_Duplexing T
KeccakDuplex.o Keccak_DuplexingFBWLAbsorb T
KeccakDuplex.o Keccak_DuplexingFBWLUnwrap T
KeccakDuplex.o Keccak_DuplexingFBWLWrap 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-1600-inplace32BI.o KeccakF1600_Initialize T
KeccakF-1600-inplace32BI.o KeccakF1600_StateComplementBit T
KeccakF-1600-inplace32BI.o KeccakF1600_StateExtractAndXORBytesInLane T
KeccakF-1600-inplace32BI.o KeccakF1600_StateExtractAndXORLanes T
KeccakF-1600-inplace32BI.o KeccakF1600_StateExtractBytesInLane T
KeccakF-1600-inplace32BI.o KeccakF1600_StateExtractLanes T
KeccakF-1600-inplace32BI.o KeccakF1600_StateInitialize T
KeccakF-1600-inplace32BI.o KeccakF1600_StateOverwriteBytesInLane T
KeccakF-1600-inplace32BI.o KeccakF1600_StateOverwriteLanes T
KeccakF-1600-inplace32BI.o KeccakF1600_StateOverwriteWithZeroes T
KeccakF-1600-inplace32BI.o KeccakF1600_StatePermute T
KeccakF-1600-inplace32BI.o KeccakF1600_StateSetBytesInLaneToZero T
KeccakF-1600-inplace32BI.o KeccakF1600_StateXORBytesInLane T
KeccakF-1600-inplace32BI.o KeccakF1600_StateXORLanes T
KeccakP-1600-12-inplace32BI.o KeccakP1600_12_StatePermute 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
SnP-FBWL-default.o SnP_FBWL_Absorb_Default T
SnP-FBWL-default.o SnP_FBWL_Squeeze_Default T
SnP-FBWL-default.o SnP_FBWL_Unwrap_Default T
SnP-FBWL-default.o SnP_FBWL_Wrap_Default T

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:inplace32bi

Namespace violations

Implementation: T:opt64lcu6
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakDuplex.o Keccak_DuplexGetInputIndex T
KeccakDuplex.o Keccak_DuplexGetOutputIndex T
KeccakDuplex.o Keccak_DuplexInitialize T
KeccakDuplex.o Keccak_Duplexing T
KeccakDuplex.o Keccak_DuplexingFBWLAbsorb T
KeccakDuplex.o Keccak_DuplexingFBWLUnwrap T
KeccakDuplex.o Keccak_DuplexingFBWLWrap 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-1600-opt64.o KeccakF1600RoundConstants R
KeccakF-1600-opt64.o KeccakF1600_FBWL_Absorb T
KeccakF-1600-opt64.o KeccakF1600_FBWL_Squeeze T
KeccakF-1600-opt64.o KeccakF1600_FBWL_Unwrap T
KeccakF-1600-opt64.o KeccakF1600_FBWL_Wrap T
KeccakF-1600-opt64.o KeccakF1600_Initialize T
KeccakF-1600-opt64.o KeccakF1600_StateComplementBit T
KeccakF-1600-opt64.o KeccakF1600_StateExtractAndXORBytesInLane T
KeccakF-1600-opt64.o KeccakF1600_StateExtractAndXORLanes T
KeccakF-1600-opt64.o KeccakF1600_StateExtractBytesInLane T
KeccakF-1600-opt64.o KeccakF1600_StateExtractLanes T
KeccakF-1600-opt64.o KeccakF1600_StateInitialize T
KeccakF-1600-opt64.o KeccakF1600_StateOverwriteBytesInLane T
KeccakF-1600-opt64.o KeccakF1600_StateOverwriteLanes T
KeccakF-1600-opt64.o KeccakF1600_StateOverwriteWithZeroes T
KeccakF-1600-opt64.o KeccakF1600_StatePermute T
KeccakF-1600-opt64.o KeccakF1600_StateXORBytesInLane T
KeccakF-1600-opt64.o KeccakF1600_StateXORLanes T
KeccakP-1600-12-opt64.o KeccakP1600_12_FBWL_Absorb T
KeccakP-1600-12-opt64.o KeccakP1600_12_FBWL_Squeeze T
KeccakP-1600-12-opt64.o KeccakP1600_12_FBWL_Unwrap T
KeccakP-1600-12-opt64.o KeccakP1600_12_FBWL_Wrap T
KeccakP-1600-12-opt64.o KeccakP1600_12_StatePermute 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

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt64lcu6 T:opt64lcufull T:opt64u6 T:opt64ufull

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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-1600-reference.o KeccakF1600OnWords T
KeccakF-1600-reference.o KeccakF1600Round T
KeccakF-1600-reference.o KeccakF1600_Initialize T
KeccakF-1600-reference.o KeccakF1600_InitializeRhoOffsets T
KeccakF-1600-reference.o KeccakF1600_InitializeRoundConstants T
KeccakF-1600-reference.o KeccakF1600_StateComplementBit T
KeccakF-1600-reference.o KeccakF1600_StateExtractAndXORBytesInLane T
KeccakF-1600-reference.o KeccakF1600_StateExtractAndXORLanes T
KeccakF-1600-reference.o KeccakF1600_StateExtractBytesInLane T
KeccakF-1600-reference.o KeccakF1600_StateExtractLanes T
KeccakF-1600-reference.o KeccakF1600_StateInitialize T
KeccakF-1600-reference.o KeccakF1600_StateOverwriteBytesInLane T
KeccakF-1600-reference.o KeccakF1600_StateOverwriteLanes T
KeccakF-1600-reference.o KeccakF1600_StateOverwriteWithZeroes T
KeccakF-1600-reference.o KeccakF1600_StatePermute T
KeccakF-1600-reference.o KeccakF1600_StateXORBytesInLane T
KeccakF-1600-reference.o KeccakF1600_StateXORLanes T
KeccakF-1600-reference.o KeccakF1600_StateXORPermuteExtract T
KeccakF-1600-reference.o KeccakRhoOffsets C
KeccakF-1600-reference.o KeccakRoundConstants C
KeccakF-1600-reference.o LFSR86540 T
KeccakF-1600-reference.o chi T
KeccakF-1600-reference.o displayRhoOffsets T
KeccakF-1600-reference.o displayRoundConstants T
KeccakF-1600-reference.o fromBytesToWords T
KeccakF-1600-reference.o fromWordsToBytes T
KeccakF-1600-reference.o iota T
KeccakF-1600-reference.o pi T
KeccakF-1600-reference.o rho T
KeccakF-1600-reference.o theta T
KeccakP-1600-12-reference.o KeccakP1600_12_OnWords T
KeccakP-1600-12-reference.o KeccakP1600_12_StatePermute T
KeccakP-1600-12-reference.o KeccakP1600_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 S
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 S

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref