Implementation notes: aarch64, pi3aplus, crypto_aead/ketjeminorv2

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240425
Operation: crypto_aead
Primitive: ketjeminorv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1089137161 0 025368 864 864T:ARMv8Agcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
1089547137 0 024288 864 848T:ARMv8Agcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
1096636821 0 022904 848 840T:ARMv8Agcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
1097917057 0 024360 864 848T:ARMv8Agcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
1398099789 0 027965 768 856T:generic32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
15158212361 0 030525 768 856T:generic32lcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
16363711885 0 028880 864 848T:generic32lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
16807410649 0 026752 848 840T:generic32lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
17203210693 0 027688 864 848T:generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
1804849637 0 025736 848 840T:generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
18468113057 0 031248 864 864T:generic32lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
18681612029 0 029160 864 848T:generic32lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
18700511633 0 029824 864 864T:generic32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
19901710969 0 028096 864 848T:generic32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
5542979103 0 027296 864 864T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
8340614437 0 020504 848 840T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
9920854954 0 021936 864 848T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
11629884978 0 022112 864 848T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
1521282976453 1192 4788202 1880 944T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
1588557156019 1192 4770511 1880 928T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
2934401640509 1192 4755426 1824 888T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
3154047454161 1192 4769155 1880 928T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425

Checksum failure

Implementation: T:compact
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
2dc4a33021c301540480716f43e636080b6952b1f02f54f2681cdc47476974b1
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact

Compiler output

Implementation: T:ARMv8A
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-800-armv8a-neon.s: <instantiation>:1:14: error: invalid operand for instruction
KeccakP-800-armv8a-neon.s: mov v0.2d[0], v22.2d[1]
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:73:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: Chi v22, v23
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: KeccakP-800-armv8a-neon.s:415:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: KeccakRound
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:1:14: error: invalid operand for instruction
KeccakP-800-armv8a-neon.s: mov v0.2d[0], v24.2d[1]
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:74:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: Chi v24, v25
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: KeccakP-800-armv8a-neon.s:415:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: KeccakRound
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:1:14: error: invalid operand for instruction
KeccakP-800-armv8a-neon.s: mov v0.2d[0], v26.2d[1]
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: <instantiation>:75:5: note: while in macro instantiation
KeccakP-800-armv8a-neon.s: Chi v26, v27
KeccakP-800-armv8a-neon.s: ^
KeccakP-800-armv8a-neon.s: KeccakP-800-armv8a-neon.s:415:5: note: while in macro instantiation
KeccakP-800-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

Compiler output

Implementation: T:compact
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact

Namespace violations

Implementation: T:ARMv8A
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-800-armv8a-neon.o KeccakP800_AddByte T
KeccakP-800-armv8a-neon.o KeccakP800_AddBytes T
KeccakP-800-armv8a-neon.o KeccakP800_ExtractAndAddBytes T
KeccakP-800-armv8a-neon.o KeccakP800_ExtractBytes T
KeccakP-800-armv8a-neon.o KeccakP800_Initialize T
KeccakP-800-armv8a-neon.o KeccakP800_OverwriteBytes T
KeccakP-800-armv8a-neon.o KeccakP800_OverwriteWithZeroes T
KeccakP-800-armv8a-neon.o KeccakP800_Permute T
KeccakP-800-armv8a-neon.o KeccakP800_Permute_12rounds T
KeccakP-800-armv8a-neon.o KeccakP800_Permute_22rounds T
KeccakP-800-armv8a-neon.o KeccakP800_Permute_Nrounds T
KetMn.o KetMn_FeedAssociatedDataBlocks T
KetMn.o KetMn_StateAddByte T
KetMn.o KetMn_StateExtractByte T
KetMn.o KetMn_StateOverwrite T
KetMn.o KetMn_StateTwistIndexes R
KetMn.o KetMn_Step T
KetMn.o KetMn_UnwrapBlocks T
KetMn.o KetMn_WrapBlocks T
KetjeMn.o KetjeMn_FeedAssociatedData T
KetjeMn.o KetjeMn_GetTag T
KetjeMn.o KetjeMn_Initialize T
KetjeMn.o KetjeMn_UnwrapCiphertext T
KetjeMn.o KetjeMn_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: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-800-compact.o KeccakP800_AddByte T
KeccakP-800-compact.o KeccakP800_AddBytes T
KeccakP-800-compact.o KeccakP800_ExtractAndAddBytes T
KeccakP-800-compact.o KeccakP800_ExtractBytes T
KeccakP-800-compact.o KeccakP800_Initialize T
KeccakP-800-compact.o KeccakP800_Mod5 R
KeccakP-800-compact.o KeccakP800_OverwriteBytes T
KeccakP-800-compact.o KeccakP800_OverwriteWithZeroes T
KeccakP-800-compact.o KeccakP800_Permute_12rounds T
KeccakP-800-compact.o KeccakP800_Permute_22rounds T
KeccakP-800-compact.o KeccakP800_Permute_Nrounds T
KeccakP-800-compact.o KeccakP800_PiLane R
KeccakP-800-compact.o KeccakP800_RotationConstants R
KetMn.o KetMn_FeedAssociatedDataBlocks T
KetMn.o KetMn_StateAddByte T
KetMn.o KetMn_StateExtractByte T
KetMn.o KetMn_StateOverwrite T
KetMn.o KetMn_StateTwistIndexes R
KetMn.o KetMn_Step T
KetMn.o KetMn_UnwrapBlocks T
KetMn.o KetMn_WrapBlocks T
KetjeMn.o KetjeMn_FeedAssociatedData T
KetjeMn.o KetjeMn_GetTag T
KetjeMn.o KetjeMn_Initialize T
KetjeMn.o KetjeMn_UnwrapCiphertext T
KetjeMn.o KetjeMn_WrapPlaintext T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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-800-opt32.o KeccakF800RoundConstants R
KeccakP-800-opt32.o KeccakF800_FastLoop_Absorb T
KeccakP-800-opt32.o KeccakP800_AddByte T
KeccakP-800-opt32.o KeccakP800_AddBytes T
KeccakP-800-opt32.o KeccakP800_ExtractAndAddBytes T
KeccakP-800-opt32.o KeccakP800_ExtractBytes T
KeccakP-800-opt32.o KeccakP800_Initialize T
KeccakP-800-opt32.o KeccakP800_OverwriteBytes T
KeccakP-800-opt32.o KeccakP800_OverwriteWithZeroes T
KeccakP-800-opt32.o KeccakP800_Permute_12rounds T
KeccakP-800-opt32.o KeccakP800_Permute_22rounds T
KeccakP-800-opt32.o KeccakP800_Permute_Nrounds T
KetMn.o KetMn_FeedAssociatedDataBlocks T
KetMn.o KetMn_StateAddByte T
KetMn.o KetMn_StateExtractByte T
KetMn.o KetMn_StateOverwrite T
KetMn.o KetMn_StateTwistIndexes R
KetMn.o KetMn_Step T
KetMn.o KetMn_UnwrapBlocks T
KetMn.o KetMn_WrapBlocks T
KetjeMn.o KetjeMn_FeedAssociatedData T
KetjeMn.o KetjeMn_GetTag T
KetjeMn.o KetjeMn_Initialize T
KetjeMn.o KetjeMn_UnwrapCiphertext T
KetjeMn.o KetjeMn_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:generic32lc
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-800-opt32.o KeccakF800RoundConstants R
KeccakP-800-opt32.o KeccakF800_FastLoop_Absorb T
KeccakP-800-opt32.o KeccakP800LaneComplement R
KeccakP-800-opt32.o KeccakP800_AddByte T
KeccakP-800-opt32.o KeccakP800_AddBytes T
KeccakP-800-opt32.o KeccakP800_ExtractAndAddBytes T
KeccakP-800-opt32.o KeccakP800_ExtractBytes T
KeccakP-800-opt32.o KeccakP800_Initialize T
KeccakP-800-opt32.o KeccakP800_OverwriteBytes T
KeccakP-800-opt32.o KeccakP800_OverwriteWithZeroes T
KeccakP-800-opt32.o KeccakP800_Permute_12rounds T
KeccakP-800-opt32.o KeccakP800_Permute_22rounds T
KeccakP-800-opt32.o KeccakP800_Permute_Nrounds T
KetMn.o KetMn_FeedAssociatedDataBlocks T
KetMn.o KetMn_StateAddByte T
KetMn.o KetMn_StateExtractByte T
KetMn.o KetMn_StateOverwrite T
KetMn.o KetMn_StateTwistIndexes R
KetMn.o KetMn_Step T
KetMn.o KetMn_UnwrapBlocks T
KetMn.o KetMn_WrapBlocks T
KetjeMn.o KetjeMn_FeedAssociatedData T
KetjeMn.o KetjeMn_GetTag T
KetjeMn.o KetjeMn_Initialize T
KetjeMn.o KetjeMn_UnwrapCiphertext T
KetjeMn.o KetjeMn_WrapPlaintext T

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