Implementation notes: aarch64, pi3aplus, crypto_aead/isapk128v20

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: isapk128v20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2013712233860 0 0247525 768 856T:opt_64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
29554474442 0 018193 776 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
31144965122 0 018528 872 864T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
262046054154 0 016312 872 848T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
311540653690 0 015048 856 840T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
649310154438 0 016800 872 848T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212

Compiler output

Implementation: T:opt_32_armv6m
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:1:1: error: unexpected token at start of statement
KeccakP-400-armv6m-le-gcc.s: @
KeccakP-400-armv6m-le-gcc.s: ^
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:2:1: error: unexpected token at start of statement
KeccakP-400-armv6m-le-gcc.s: @ Implementation by Ronny Van Keer, hereby denoted as "the implementer".
KeccakP-400-armv6m-le-gcc.s: ^
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:3:1: error: unexpected token at start of statement
KeccakP-400-armv6m-le-gcc.s: @
KeccakP-400-armv6m-le-gcc.s: ^
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:4:1: error: unexpected token at start of statement
KeccakP-400-armv6m-le-gcc.s: @ For more information, feedback or questions, please refer to our website:
KeccakP-400-armv6m-le-gcc.s: ^
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:5:1: error: unexpected token at start of statement
KeccakP-400-armv6m-le-gcc.s: @ https://keccak.team/
KeccakP-400-armv6m-le-gcc.s: ^
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:6:1: error: unexpected token at start of statement
KeccakP-400-armv6m-le-gcc.s: @
KeccakP-400-armv6m-le-gcc.s: ^
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:7:1: error: unexpected token at start of statement
KeccakP-400-armv6m-le-gcc.s: @ To the extent possible under law, the implementer has waived all copyright
KeccakP-400-armv6m-le-gcc.s: ^
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:8:1: error: unexpected token at start of statement
KeccakP-400-armv6m-le-gcc.s: @ and related or neighboring rights to the source code in this file.
KeccakP-400-armv6m-le-gcc.s: ^
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:9:1: error: unexpected token at start of statement
KeccakP-400-armv6m-le-gcc.s: ...

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

Compiler output

Implementation: T:opt_32_armv6m
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s: Assembler messages:
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:1: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:2: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:3: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:4: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:5: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:6: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:7: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:8: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:9: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:10: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:11: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:12: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:13: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:14: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:15: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:16: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:17: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:18: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:20: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:23: Error: unknown pseudo-op: `.thumb'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:24: Error: unknown pseudo-op: `.syntax'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:199: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:200: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: KeccakP-400-armv6m-le-gcc.s:201: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv6m-le-gcc.s: ...

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

Compiler output

Implementation: T:opt_32_armv7m
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:1:1: error: unexpected token at start of statement
KeccakP-400-armv7m-le-gcc.s: @
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:2:1: error: unexpected token at start of statement
KeccakP-400-armv7m-le-gcc.s: @ Implementation by Ronny Van Keer, hereby denoted as "the implementer".
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:3:1: error: unexpected token at start of statement
KeccakP-400-armv7m-le-gcc.s: @
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:4:1: error: unexpected token at start of statement
KeccakP-400-armv7m-le-gcc.s: @ For more information, feedback or questions, please refer to our website:
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:5:1: error: unexpected token at start of statement
KeccakP-400-armv7m-le-gcc.s: @ https://keccak.team/
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:6:1: error: unexpected token at start of statement
KeccakP-400-armv7m-le-gcc.s: @
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:7:1: error: unexpected token at start of statement
KeccakP-400-armv7m-le-gcc.s: @ To the extent possible under law, the implementer has waived all copyright
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:8:1: error: unexpected token at start of statement
KeccakP-400-armv7m-le-gcc.s: @ and related or neighboring rights to the source code in this file.
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:9:1: error: unexpected token at start of statement
KeccakP-400-armv7m-le-gcc.s: ...

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

Compiler output

Implementation: T:opt_32_armv7m
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s: Assembler messages:
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:1: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:2: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:3: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:4: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:5: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:6: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:7: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:8: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:9: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:10: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:11: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:12: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:13: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:14: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:15: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:16: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:17: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:18: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:20: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:23: Error: unknown pseudo-op: `.thumb'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:24: Error: unknown pseudo-op: `.syntax'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:27: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:209: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:210: Error: junk at end of line, first unrecognized character is `@'
KeccakP-400-armv7m-le-gcc.s: ...

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

Compiler output

Implementation: T:opt_64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
isap.c: gcc: fatal error: Killed signal terminated program cc1
isap.c: compilation terminated.

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

Namespace violations

Implementation: T:opt_64
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
isap.o ISAP_IV1 R
isap.o ISAP_IV2 R
isap.o ISAP_IV3 R
isap.o isap_enc T
isap.o isap_mac T
isap.o isap_rk T

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-400-reference.o KeccakP400OnWords T
KeccakP-400-reference.o KeccakP400Round T
KeccakP-400-reference.o KeccakP400_AddByte T
KeccakP-400-reference.o KeccakP400_AddBytes T
KeccakP-400-reference.o KeccakP400_ExtractAndAddBytes T
KeccakP-400-reference.o KeccakP400_ExtractBytes T
KeccakP-400-reference.o KeccakP400_Initialize T
KeccakP-400-reference.o KeccakP400_OverwriteBytes T
KeccakP-400-reference.o KeccakP400_OverwriteWithZeroes T
KeccakP-400-reference.o KeccakP400_Permute_20rounds T
KeccakP-400-reference.o KeccakP400_Permute_Nrounds T
isap.o ISAP_IV_A R
isap.o ISAP_IV_KA R
isap.o ISAP_IV_KE R
isap.o isap_enc T
isap.o isap_mac T
isap.o isap_rk T

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