Implementation notes: aarch64, pi3aplus, crypto_aead/ketjeminorv2

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: ketjeminorv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1089127137 0 024440 864 848T:ARMv8Agcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1089197161 0 025520 864 864T:ARMv8Agcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1096806821 0 023056 848 840T:ARMv8Agcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1098007057 0 024512 864 848T:ARMv8Agcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1398519789 0 028117 768 856T:generic32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
15150912361 0 030677 768 856T:generic32lcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
16348811885 0 029032 864 848T:generic32lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
16885010649 0 026904 848 840T:generic32lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
17201110693 0 027840 864 848T:generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1797069637 0 025888 848 840T:generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
18459413057 0 031400 864 864T:generic32lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
18678212029 0 029312 864 848T:generic32lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
18717311633 0 029976 864 864T:generic32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
19891410969 0 028248 864 848T:generic32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
5535729103 0 027448 864 864T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
8309394437 0 020656 848 840T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
9904734954 0 022088 864 848T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
11631344978 0 022264 864 848T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1514478276453 1192 4788354 1880 944T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
1593303056019 1192 4770663 1880 928T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
2929256340509 1192 4755578 1824 888T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
3115427154161 1192 4769307 1880 928T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212

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