Implementation notes: aarch64, pi3aplus, crypto_aead/ketjemajorv2

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: ketjemajorv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
618367073 0 024120 864 848T:ARMv8Agcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
618377097 0 025456 864 864T:ARMv8Agcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
621896765 0 022992 848 840T:ARMv8Agcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
622297001 0 024192 864 848T:ARMv8Agcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
12563344025 0 062453 768 856T:generic64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
13122147281 0 065544 864 864T:generic64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
13408345497 0 063925 768 856T:generic64lcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
13936648433 0 066696 864 864T:generic64lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
14425745445 0 062512 864 848T:generic64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
15579545229 0 062296 864 848T:generic64lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
16512042873 0 059152 848 840T:generic64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
17155143441 0 059744 848 840T:generic64lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
17352654309 0 071512 864 848T:generic64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
17909753749 0 070952 864 848T:generic64lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
2692406137 0 024549 768 856T:compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
28592311839 0 030104 864 864T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
31498919437 0 037845 768 856T:generic32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
33111222289 0 040576 864 864T:generic32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
33742214177 0 030480 848 840T:generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
34826317693 0 034760 864 848T:generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
40916015821 0 033040 864 848T:generic32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
4461546326 0 023392 864 848T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
7403936422 0 023648 864 848T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
9061765621 0 021936 848 840T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
840270676393 1192 4788114 1880 944T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
881199056019 1192 4770503 1880 928T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1563213140509 1192 4755578 1824 888T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1684918654161 1192 4769163 1880 928T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212

Compiler output

Implementation: T:ARMv8A
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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:524: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:524: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:524: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:524:5: note: while in macro instantiation
KeccakP-1600-armv8a-neon.s: ...

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

Namespace violations

Implementation: T:ARMv8A
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-armv8a-neon.o KeccakP1600_AddByte T
KeccakP-1600-armv8a-neon.o KeccakP1600_AddBytes T
KeccakP-1600-armv8a-neon.o KeccakP1600_ExtractAndAddBytes T
KeccakP-1600-armv8a-neon.o KeccakP1600_ExtractBytes T
KeccakP-1600-armv8a-neon.o KeccakP1600_Initialize T
KeccakP-1600-armv8a-neon.o KeccakP1600_OverwriteBytes T
KeccakP-1600-armv8a-neon.o KeccakP1600_OverwriteWithZeroes T
KeccakP-1600-armv8a-neon.o KeccakP1600_Permute T
KeccakP-1600-armv8a-neon.o KeccakP1600_Permute_12rounds T
KeccakP-1600-armv8a-neon.o KeccakP1600_Permute_24rounds T
KeccakP-1600-armv8a-neon.o KeccakP1600_Permute_Nrounds T
KetMj.o KetMj_FeedAssociatedDataBlocks T
KetMj.o KetMj_StateAddByte T
KetMj.o KetMj_StateExtractByte T
KetMj.o KetMj_StateOverwrite T
KetMj.o KetMj_StateTwistIndexes R
KetMj.o KetMj_Step T
KetMj.o KetMj_UnwrapBlocks T
KetMj.o KetMj_WrapBlocks T
KetjeMj.o KetjeMj_FeedAssociatedData T
KetjeMj.o KetjeMj_GetTag T
KetjeMj.o KetjeMj_Initialize T
KetjeMj.o KetjeMj_UnwrapCiphertext T
KetjeMj.o KetjeMj_WrapPlaintext T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ARMv8A
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ARMv8A
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ARMv8A
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ARMv8A

Namespace violations

Implementation: T:compact
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-compact64.o KeccakP1600_AddByte T
KeccakP-1600-compact64.o KeccakP1600_AddBytes T
KeccakP-1600-compact64.o KeccakP1600_AddBytesInLane T
KeccakP-1600-compact64.o KeccakP1600_AddLanes T
KeccakP-1600-compact64.o KeccakP1600_ExtractAndAddBytes T
KeccakP-1600-compact64.o KeccakP1600_ExtractAndAddBytesInLane T
KeccakP-1600-compact64.o KeccakP1600_ExtractAndAddLanes T
KeccakP-1600-compact64.o KeccakP1600_ExtractBytes T
KeccakP-1600-compact64.o KeccakP1600_ExtractBytesInLane T
KeccakP-1600-compact64.o KeccakP1600_ExtractLanes T
KeccakP-1600-compact64.o KeccakP1600_Initialize T
KeccakP-1600-compact64.o KeccakP1600_Mod5 R
KeccakP-1600-compact64.o KeccakP1600_OverwriteBytes T
KeccakP-1600-compact64.o KeccakP1600_OverwriteBytesInLane T
KeccakP-1600-compact64.o KeccakP1600_OverwriteLanes T
KeccakP-1600-compact64.o KeccakP1600_OverwriteWithZeroes T
KeccakP-1600-compact64.o KeccakP1600_Permute_12rounds T
KeccakP-1600-compact64.o KeccakP1600_Permute_24rounds T
KeccakP-1600-compact64.o KeccakP1600_Permute_Nrounds T
KeccakP-1600-compact64.o KeccakP1600_PiLane R
KeccakP-1600-compact64.o KeccakP1600_RotationConstants R
KetMj.o KetMj_FeedAssociatedDataBlocks T
KetMj.o KetMj_StateAddByte T
KetMj.o KetMj_StateExtractByte T
KetMj.o KetMj_StateOverwrite T
KetMj.o KetMj_StateTwistIndexes R
KetMj.o KetMj_Step T
KetMj.o KetMj_UnwrapBlocks T
KetMj.o KetMj_WrapBlocks T
KetjeMj.o KetjeMj_FeedAssociatedData T
KetjeMj.o KetjeMj_GetTag T
KetjeMj.o KetjeMj_Initialize T
KetjeMj.o KetjeMj_UnwrapCiphertext T
KetjeMj.o KetjeMj_WrapPlaintext T

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:compact

Namespace violations

Implementation: T:generic32
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-inplace32BI.o KeccakP1600_AddByte T
KeccakP-1600-inplace32BI.o KeccakP1600_AddBytes T
KeccakP-1600-inplace32BI.o KeccakP1600_AddBytesInLane T
KeccakP-1600-inplace32BI.o KeccakP1600_AddLanes T
KeccakP-1600-inplace32BI.o KeccakP1600_ExtractAndAddBytes T
KeccakP-1600-inplace32BI.o KeccakP1600_ExtractAndAddBytesInLane T
KeccakP-1600-inplace32BI.o KeccakP1600_ExtractAndAddLanes T
KeccakP-1600-inplace32BI.o KeccakP1600_ExtractBytes T
KeccakP-1600-inplace32BI.o KeccakP1600_ExtractBytesInLane T
KeccakP-1600-inplace32BI.o KeccakP1600_ExtractLanes T
KeccakP-1600-inplace32BI.o KeccakP1600_Initialize T
KeccakP-1600-inplace32BI.o KeccakP1600_OverwriteBytes T
KeccakP-1600-inplace32BI.o KeccakP1600_OverwriteBytesInLane T
KeccakP-1600-inplace32BI.o KeccakP1600_OverwriteLanes T
KeccakP-1600-inplace32BI.o KeccakP1600_OverwriteWithZeroes T
KeccakP-1600-inplace32BI.o KeccakP1600_Permute_12rounds T
KeccakP-1600-inplace32BI.o KeccakP1600_Permute_24rounds T
KeccakP-1600-inplace32BI.o KeccakP1600_Permute_Nrounds T
KeccakP-1600-inplace32BI.o KeccakP1600_SetBytesInLaneToZero T
KetMj.o KetMj_FeedAssociatedDataBlocks T
KetMj.o KetMj_StateAddByte T
KetMj.o KetMj_StateExtractByte T
KetMj.o KetMj_StateOverwrite T
KetMj.o KetMj_StateTwistIndexes R
KetMj.o KetMj_Step T
KetMj.o KetMj_UnwrapBlocks T
KetMj.o KetMj_WrapBlocks T
KetjeMj.o KetjeMj_FeedAssociatedData T
KetjeMj.o KetjeMj_GetTag T
KetjeMj.o KetjeMj_Initialize T
KetjeMj.o KetjeMj_UnwrapCiphertext T
KetjeMj.o KetjeMj_WrapPlaintext T

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic32
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic32

Namespace violations

Implementation: T:generic64
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-opt64.o KeccakF1600_FastLoop_Absorb T
KeccakP-1600-opt64.o KeccakP1600_AddBytes T
KeccakP-1600-opt64.o KeccakP1600_AddBytesInLane T
KeccakP-1600-opt64.o KeccakP1600_AddLanes T
KeccakP-1600-opt64.o KeccakP1600_ExtractAndAddBytes T
KeccakP-1600-opt64.o KeccakP1600_ExtractAndAddBytesInLane T
KeccakP-1600-opt64.o KeccakP1600_ExtractAndAddLanes T
KeccakP-1600-opt64.o KeccakP1600_ExtractBytes T
KeccakP-1600-opt64.o KeccakP1600_ExtractBytesInLane T
KeccakP-1600-opt64.o KeccakP1600_ExtractLanes T
KeccakP-1600-opt64.o KeccakP1600_Initialize T
KeccakP-1600-opt64.o KeccakP1600_OverwriteBytes T
KeccakP-1600-opt64.o KeccakP1600_OverwriteBytesInLane T
KeccakP-1600-opt64.o KeccakP1600_OverwriteLanes T
KeccakP-1600-opt64.o KeccakP1600_OverwriteWithZeroes T
KeccakP-1600-opt64.o KeccakP1600_Permute_12rounds T
KeccakP-1600-opt64.o KeccakP1600_Permute_24rounds T
KeccakP-1600-opt64.o KeccakP1600_Permute_Nrounds T
KetMj.o KetMj_FeedAssociatedDataBlocks T
KetMj.o KetMj_StateAddByte T
KetMj.o KetMj_StateExtractByte T
KetMj.o KetMj_StateOverwrite T
KetMj.o KetMj_StateTwistIndexes R
KetMj.o KetMj_Step T
KetMj.o KetMj_UnwrapBlocks T
KetMj.o KetMj_WrapBlocks T
KetjeMj.o KetjeMj_FeedAssociatedData T
KetjeMj.o KetjeMj_GetTag T
KetjeMj.o KetjeMj_Initialize T
KetjeMj.o KetjeMj_UnwrapCiphertext T
KetjeMj.o KetjeMj_WrapPlaintext T

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic64lc
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic64lc
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic64lc
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic64lc
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:generic64lc