Implementation notes: armeabi, berry0, crypto_core/keccakf160032bits

Computer: berry0
Microarchitecture: armeabi; ARM1176 (410fb767)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: keccakf160032bits
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1446311340 0 019916 372 752inplace1600bigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
1501815160 0 026790 384 760inplace1600biclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
1517015104 0 026766 384 760inplace1600biclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
1528213140 0 022984 380 752inplace1600biclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
1536515160 0 026734 384 752inplace1600biclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
1538415160 0 026734 384 752inplace1600biclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
1720711396 0 020496 380 752inplace1600bigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
2254116688 0 025776 380 752inplace1600bigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
2275617896 0 028724 380 752inplace1600bigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
789009869 0 021629 392 760reference1600-32bitsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
796049913 0 021709 392 760reference1600-32bitsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
831787249 0 018957 392 752reference1600-32bitsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
832577249 0 018957 392 752reference1600-32bitsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
959998327 0 019259 388 752reference1600-32bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
1775404619 0 013815 388 752reference1600-32bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
2247205409 0 015388 388 752reference1600-32bitsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012120240107
2347254240 0 014024 380 752reference1600-32bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107
2896154907 0 014111 388 752reference1600-32bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012120240107

Test failure

Implementation: optimized1600ARMv6Mu1
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

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

Compiler output

Implementation: inplace1600ARMv6M
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600.S: KeccakP-1600.S:1486:5: error: out of range pc-relative fixup value
KeccakP-1600.S: adr r1, KeccakP1600_Permute_RoundConstants0Mod4
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:1501:5: error: out of range pc-relative fixup value
KeccakP-1600.S: adr r1, KeccakP1600_Permute_RoundConstants0
KeccakP-1600.S: ^

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

Compiler output

Implementation: inplace1600ARMv6M
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600.S: KeccakP-1600.S: Assembler messages:
KeccakP-1600.S: KeccakP-1600.S:1486: Error: invalid immediate for address calculation (value = 0x000006B8)
KeccakP-1600.S: KeccakP-1600.S:1501: Error: invalid immediate for address calculation (value = 0x0000067C)

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

Compiler output

Implementation: inplace1600ARMv7A
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600.S: KeccakP-1600.S:519:5: error: instruction requires: armv6t2
KeccakP-1600.S: movw r8, #0x5555
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:520:5: error: instruction requires: armv6t2
KeccakP-1600.S: movt r8, #0x5555
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:521:5: error: instruction requires: armv6t2
KeccakP-1600.S: movw r9, #0x3333
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:522:5: error: instruction requires: armv6t2
KeccakP-1600.S: movt r9, #0x3333
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:523:5: error: instruction requires: armv6t2
KeccakP-1600.S: movw r10, #0x0F0F
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:524:5: error: instruction requires: armv6t2
KeccakP-1600.S: movt r10, #0x0F0F
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:525:5: error: instruction requires: armv6t2
KeccakP-1600.S: movw r11, #0x00FF
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:526:5: error: instruction requires: armv6t2
KeccakP-1600.S: movt r11, #0x00FF
KeccakP-1600.S: ^
KeccakP-1600.S: <instantiation>:9:5: error: invalid instruction
KeccakP-1600.S: ...

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

Compiler output

Implementation: inplace1600ARMv7A
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600.S: KeccakP-1600.S: Assembler messages:
KeccakP-1600.S: KeccakP-1600.S:519: Error: selected processor does not support `movw r8,#0x5555' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:520: Error: selected processor does not support `movt r8,#0x5555' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:521: Error: selected processor does not support `movw r9,#0x3333' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:522: Error: selected processor does not support `movt r9,#0x3333' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:523: Error: selected processor does not support `movw r10,#0x0F0F' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:524: Error: selected processor does not support `movt r10,#0x0F0F' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:525: Error: selected processor does not support `movw r11,#0x00FF' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:526: Error: selected processor does not support `movt r11,#0x00FF' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:534: Error: selected processor does not support `bfi r3,r3,#8,#8' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:534: Error: selected processor does not support `bfc r3,#0,#16' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:599: Error: selected processor does not support `movw r8,#0x5555' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:600: Error: selected processor does not support `movt r8,#0x5555' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:601: Error: selected processor does not support `movw r9,#0x3333' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:602: Error: selected processor does not support `movt r9,#0x3333' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:603: Error: selected processor does not support `movw r10,#0x0F0F' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:604: Error: selected processor does not support `movt r10,#0x0F0F' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:605: Error: selected processor does not support `movw r11,#0x00FF' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:606: Error: selected processor does not support `movt r11,#0x00FF' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:611: Error: selected processor does not support `bfi r3,r3,#8,#8' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:611: Error: selected processor does not support `bfc r3,#0,#16' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:638: Error: selected processor does not support `movw r8,#0x5555' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:639: Error: selected processor does not support `movt r8,#0x5555' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:640: Error: selected processor does not support `movw r9,#0x3333' in ARM mode
KeccakP-1600.S: KeccakP-1600.S:641: Error: selected processor does not support `movt r9,#0x3333' in ARM mode
KeccakP-1600.S: ...

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

Compiler output

Implementation: inplace1600ARMv7M
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600.S: KeccakP-1600.S:517:5: error: invalid instruction, any one of the following would fix this:
KeccakP-1600.S: bic r3, r2, #7 @ r3 = offset & ~7
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:517:5: note: instruction requires: thumb2
KeccakP-1600.S: bic r3, r2, #7 @ r3 = offset & ~7
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:517:17: note: too many operands for instruction
KeccakP-1600.S: bic r3, r2, #7 @ r3 = offset & ~7
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:519:5: error: invalid instruction, any one of the following would fix this:
KeccakP-1600.S: ands r2, r2, #7 @ offset &= 7 (part not lane aligned)
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:519:5: note: instruction requires: thumb2
KeccakP-1600.S: ands r2, r2, #7 @ offset &= 7 (part not lane aligned)
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:519:18: note: operand must be a register in range [r0, r7]
KeccakP-1600.S: ands r2, r2, #7 @ offset &= 7 (part not lane aligned)
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:527:5: error: invalid instruction, any one of the following would fix this:
KeccakP-1600.S: ldrd r6, r7, [r0]
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:527:5: note: instruction requires: arm-mode
KeccakP-1600.S: ldrd r6, r7, [r0]
KeccakP-1600.S: ^
KeccakP-1600.S: KeccakP-1600.S:527:5: note: instruction requires: thumb2
KeccakP-1600.S: ...

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

Compiler output

Implementation: inplace1600ARMv7M
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600.S: KeccakP-1600.S: Assembler messages:
KeccakP-1600.S: KeccakP-1600.S:517: Error: cannot honor width suffix -- `bic r3,r2,#7'
KeccakP-1600.S: KeccakP-1600.S:519: Error: cannot honor width suffix -- `ands r2,r2,#7'
KeccakP-1600.S: KeccakP-1600.S:527: Error: selected processor does not support `ldrd r6,r7,[r0]' in Thumb mode
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `and r3,r4,#0x55555555'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `orr r3,r3,r3,LSR#1'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `and r3,r3,#0x33333333'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `orr r3,r3,r3,LSR#2'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `and r3,r3,#0x0F0F0F0F'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `orr r3,r3,r3,LSR#4'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `and r3,r3,#0x00FF00FF'
KeccakP-1600.S: KeccakP-1600.S:528: Error: selected processor does not support `bfi r3,r3,#8,#8' in Thumb mode
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `eor r6,r6,r3,LSR#8'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `and r3,r5,#0x55555555'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `orr r3,r3,r3,LSR#1'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `and r3,r3,#0x33333333'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `orr r3,r3,r3,LSR#2'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `and r3,r3,#0x0F0F0F0F'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `orr r3,r3,r3,LSR#4'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `and r3,r3,#0x00FF00FF'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `orr r3,r3,r3,LSR#8'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `eor r6,r6,r3,LSL#16'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `and r3,r4,#0xAAAAAAAA'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `orr r3,r3,r3,LSL#1'
KeccakP-1600.S: KeccakP-1600.S:528: Error: cannot honor width suffix -- `and r3,r3,#0xCCCCCCCC'
KeccakP-1600.S: ...

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