Implementation notes: aarch64, pi3bplus, crypto_aead/ketjeminorv2

Computer: pi3bplus
Microarchitecture: aarch64; A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20221122
Operation: crypto_aead
Primitive: ketjeminorv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1089077161 0 025520 864 864T:ARMv8Agcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
1089117137 0 024440 864 848T:ARMv8Agcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
1096616821 0 023056 848 840T:ARMv8Agcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
1097817057 0 024512 864 848T:ARMv8Agcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
1397829789 0 028149 768 856T:generic32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020083120200826
16028012361 0 030725 768 856T:generic32lcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020083120200826
16804210649 0 026904 848 840T:generic32lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
17195910693 0 027840 864 848T:generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
17203911885 0 029032 864 848T:generic32lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
18688512029 0 029312 864 848T:generic32lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
18694111633 0 029976 864 864T:generic32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
1938899637 0 025888 848 840T:generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
19785013057 0 031400 864 864T:generic32lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
21160810969 0 028248 864 848T:generic32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
5492289103 0 027448 864 864T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
8260954437 0 020656 848 840T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
9838984954 0 022088 864 848T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
11529814978 0 022264 864 848T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
1503769576453 1192 4788354 1880 944T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
1622255656019 1192 4770663 1880 928T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
3102664040509 1192 4755578 1824 888T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826
3292256354161 1192 4769307 1880 928T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020083120200826

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