Implementation notes: armeabi, berry0, crypto_aead/isapk128av20

Computer: berry0
Microarchitecture: armeabi; ARM1176 (410fb767)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: isapk128av20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
34940264544 0 017640 396 816T:opt_32_armv6mgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
34944103484 0 014795 392 816T:opt_32_armv6mgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
34958433674 0 019663 384 816T:opt_32_armv6mclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
34961773446 0 017710 380 816T:opt_32_armv6mclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
34962323674 0 019663 384 816T:opt_32_armv6mclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
34968643674 0 018639 384 824T:opt_32_armv6mclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
34985633678 0 018639 384 824T:opt_32_armv6mclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
35000773528 0 015211 392 816T:opt_32_armv6mgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
35004843380 0 014161 384 816T:opt_32_armv6mgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
37262694846 0 019692 388 824T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
37437104778 0 019620 388 824T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
39220604842 0 020708 388 816T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
39221194842 0 020708 388 816T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
4065161207948 0 0218634 384 816T:opt_64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
4397357207060 0 0218651 392 816T:opt_64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
46847975062 0 018124 400 816T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
8217362281904 0 0297800 384 816T:opt_64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
8259063281904 0 0297800 384 816T:opt_64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
8613280267744 0 0282616 384 824T:opt_64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
8888775282844 0 0297720 384 824T:opt_64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
9633327281332 0 0295495 380 816T:opt_64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
13861303324968 0 0336187 392 816T:opt_64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
217418533494 0 014820 400 816T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
436260554058 0 018192 384 816T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
445726303202 0 015142 392 816T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
525151233774 0 015468 400 816T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107

Compiler output

Implementation: T:opt_32_armv7m
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:310:5: error: invalid instruction, any one of the following would fix this:
KeccakP-400-armv7m-le-gcc.s: str r3, [r0], #4
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:310:5: note: instruction requires: arm-mode
KeccakP-400-armv7m-le-gcc.s: str r3, [r0], #4
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:310:5: note: instruction requires: thumb2
KeccakP-400-armv7m-le-gcc.s: str r3, [r0], #4
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:310:23: note: too many operands for instruction
KeccakP-400-armv7m-le-gcc.s: str r3, [r0], #4
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:314:5: error: invalid instruction, any one of the following would fix this:
KeccakP-400-armv7m-le-gcc.s: ands r1, #3
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:314:5: note: instruction requires: thumb2
KeccakP-400-armv7m-le-gcc.s: ands r1, #3
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:314:17: note: operand must be a register in range [r0, r7]
KeccakP-400-armv7m-le-gcc.s: ands r1, #3
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:317:5: error: invalid instruction, any one of the following would fix this:
KeccakP-400-armv7m-le-gcc.s: strb r3, [r0], #1
KeccakP-400-armv7m-le-gcc.s: ^
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:317:5: note: instruction requires: arm-mode
KeccakP-400-armv7m-le-gcc.s: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_32_armv7m
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_32_armv7m
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_32_armv7m
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_32_armv7m
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:310: Error: cannot honor width suffix -- `str r3,[r0],#4'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:314: Error: cannot honor width suffix -- `ands r1,#3'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:317: Error: cannot honor width suffix -- `strb r3,[r0],#1'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:377: Error: cannot honor width suffix -- `push {r4-r12,lr}'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:380: Error: cannot honor width suffix -- `sub r8,r8,r1,LSL#1'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:384: Error: cannot honor width suffix -- `ldm r0!,{ r2,r3,r4,r5,r11,r12 }'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:385: Error: cannot honor width suffix -- `stm r1!,{ r2,r3,r4,r5,r11,r12 }'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:386: Error: cannot honor width suffix -- `ldm r0!,{ r2,r3,r4,r5,r11,r12 }'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:387: Error: cannot honor width suffix -- `stm r1!,{ r2,r3,r4,r5,r11,r12 }'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:388: Error: lo register required -- `sub r0,r0,#2*24'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:389: Error: cannot honor width suffix -- `ldrh lr,[r0,#_su]'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:390: Error: cannot honor width suffix -- `strh lr,[sp,#_su]'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:391: Error: cannot honor width suffix -- `uxth r9,r11'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:392: Error: cannot honor width suffix -- `uxth r10,r11,ROR#16'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:393: Error: cannot honor width suffix -- `uxth r11,r12'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:394: Error: cannot honor width suffix -- `lsr r12,r12,#16'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:396: Error: cannot honor width suffix -- `eor r7,r7,lr'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:396: Error: cannot honor width suffix -- `ldrh lr,[r0,#_ku]'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:396: Error: cannot honor width suffix -- `eor r7,r7,r6'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:396: Error: cannot honor width suffix -- `eor r7,r7,lr'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:396: Error: cannot honor width suffix -- `eor r7,r7,r6'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:408: Error: cannot honor width suffix -- `push {r4-r12,lr}'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:412: Error: cannot honor width suffix -- `ldrh r9,[r0,#_sa]'
KeccakP-400-armv7m-le-gcc.s: KeccakP-400-armv7m-le-gcc.s:413: Error: cannot honor width suffix -- `ldrh r10,[r0,#_se]'
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 -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
isap.c: Alarm clock

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

Namespace violations

Implementation: T:opt_32_armv6m
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-400-armv6m-le-gcc.o KeccakP400_AddByte T
KeccakP-400-armv6m-le-gcc.o KeccakP400_AddBytes T
KeccakP-400-armv6m-le-gcc.o KeccakP400_ExtractAndAddBytes T
KeccakP-400-armv6m-le-gcc.o KeccakP400_ExtractBytes T
KeccakP-400-armv6m-le-gcc.o KeccakP400_Initialize T
KeccakP-400-armv6m-le-gcc.o KeccakP400_OverwriteBytes T
KeccakP-400-armv6m-le-gcc.o KeccakP400_OverwriteWithZeroes T
KeccakP-400-armv6m-le-gcc.o KeccakP400_Permute_20rounds T
KeccakP-400-armv6m-le-gcc.o KeccakP400_Permute_Nrounds T
KeccakP-400-armv6m-le-gcc.o KeccakP400_StaticInitialize T
KeccakP-400-armv6m-le-gcc.o _ba a
KeccakP-400-armv6m-le-gcc.o _be a
KeccakP-400-armv6m-le-gcc.o _bi a
KeccakP-400-armv6m-le-gcc.o _bo a
KeccakP-400-armv6m-le-gcc.o _bu a
KeccakP-400-armv6m-le-gcc.o _ga a
KeccakP-400-armv6m-le-gcc.o _ge a
KeccakP-400-armv6m-le-gcc.o _gi a
KeccakP-400-armv6m-le-gcc.o _go a
KeccakP-400-armv6m-le-gcc.o _gu a
KeccakP-400-armv6m-le-gcc.o _ka a
KeccakP-400-armv6m-le-gcc.o _ke a
KeccakP-400-armv6m-le-gcc.o _ki a
KeccakP-400-armv6m-le-gcc.o _ko a
KeccakP-400-armv6m-le-gcc.o _ku a
KeccakP-400-armv6m-le-gcc.o _ma a
KeccakP-400-armv6m-le-gcc.o _me a
KeccakP-400-armv6m-le-gcc.o _mi a
KeccakP-400-armv6m-le-gcc.o _mo a
KeccakP-400-armv6m-le-gcc.o _mu a
KeccakP-400-armv6m-le-gcc.o _sa a
KeccakP-400-armv6m-le-gcc.o _se a
KeccakP-400-armv6m-le-gcc.o _si a
KeccakP-400-armv6m-le-gcc.o _so a
KeccakP-400-armv6m-le-gcc.o _su a
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: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_32_armv6m
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_32_armv6m
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_32_armv6m
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_32_armv6m
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_32_armv6m
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

Namespace violations

Implementation: T:opt_64
Security model: timingleaks
Compiler: clang -march=native -O2 -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: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt_64
gcc -march=native -mtune=native -O2 -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:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -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: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
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