Implementation notes: armeabi, berry0, crypto_aead/isapk128v20

Computer: berry0
Microarchitecture: armeabi; ARM1176 (410fb767)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: isapk128v20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
65674134850 0 019690 388 824T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
65869784774 0 019618 388 824T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
69531094838 0 020706 388 816T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
69539744838 0 020706 388 816T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
69842503484 0 014795 392 816T:opt_32_armv6mgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
69844674544 0 017640 396 816T:opt_32_armv6mgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
69869933674 0 019662 384 816T:opt_32_armv6mclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
69870733674 0 018638 384 824T:opt_32_armv6mclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
69872833446 0 017709 380 816T:opt_32_armv6mclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
69882013674 0 019662 384 816T:opt_32_armv6mclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
69895943528 0 015211 392 816T:opt_32_armv6mgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
69900603678 0 018638 384 824T:opt_32_armv6mclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
69908633380 0 014160 384 816T:opt_32_armv6mgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
83775475062 0 018120 400 816T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
10684616279340 0 0290025 384 816T:opt_64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
11030859278176 0 0289763 392 816T:opt_64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
429105023494 0 014816 400 816T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
873514954054 0 018192 384 816T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012720240107
891259933202 0 015142 392 816T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012720240107
1052567063774 0 015464 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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
isap.c: Alarm clock

Number of similar (compiler,implementation) pairs: 7, 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 -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: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -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: 2, namely:
CompilerImplementations
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