Implementation notes: armeabi, berry2, crypto_hashblocks/sha512

Computer: berry2
Microarchitecture: armeabi; Cortex-A7 (410fc075)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240425
Operation: crypto_hashblocks
Primitive: sha512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1218929600 0 028618 384 760compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
1239106412 0 025430 384 760wflipclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
1242626900 0 014515 380 744wflipgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1243366988 0 016468 384 744wflipgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1352201692 0 09307 380 744compact4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1390881616 0 08719 372 744compact4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
13930812572 0 022060 384 744compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
13994010860 0 018475 380 744compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1401981692 0 09319 380 744compact4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1416446428 0 014055 380 744wflipgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1543303672 0 013160 384 744compact2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1548821960 0 09575 380 744compact2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
15952210100 0 017727 380 744compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1622853776 0 022802 384 760compact2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
1636683248 0 022282 384 760compact4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
1674063828 0 013316 384 744compact4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
16890741276 0 060303 384 760inplaceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
1690121872 0 09487 380 744compact3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
16906641248 0 060271 384 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
16914210936 0 018039 372 744compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1710387108 0 014203 372 744wflipgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1739863708 0 013196 384 744compact3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
17452638408 0 046035 380 744inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1754341912 0 09015 372 744compact2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
18709739428 0 047051 380 744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
19218742412 0 050027 380 744inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
19347242520 0 052004 384 744inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1936641800 0 08903 372 744compact3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
1940962912 0 021946 384 760compact3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
1975122000 0 09627 380 744compact2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
21429842844 0 049941 372 744inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
21725345028 0 052639 380 744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
21768443064 0 050157 372 744refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
2208041888 0 09515 380 744compact3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
22539045120 0 054600 384 744refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
inner.c: In file included from inner.c:1:
inner.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/immintrin.h:28:
inner.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
inner.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
inner.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
inner.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
inner.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
inner.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
inner.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
inner.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:301:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
inner.c: return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
inner.c: ...

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

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
inner.c: inner.c:1:10: fatal error: immintrin.h: No such file or directory
inner.c: #include <immintrin.h>
inner.c: ^~~~~~~~~~~~~
inner.c: compilation terminated.

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

Compiler output

Implementation: avx2
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
inner.S: inner.S:422:5: error: unexpected token in operand
inner.S: mov %rsp,%r11
inner.S: ^
inner.S: inner.S:423:10: error: unknown token in expression
inner.S: and $511,%r11
inner.S: ^
inner.S: inner.S:423:10: error: malformed expression
inner.S: and $511,%r11
inner.S: ^
inner.S: inner.S:424:10: error: unknown token in expression
inner.S: add $416,%r11
inner.S: ^
inner.S: inner.S:424:10: error: malformed expression
inner.S: add $416,%r11
inner.S: ^
inner.S: inner.S:425:5: error: unexpected token in operand
inner.S: sub %r11,%rsp
inner.S: ^
inner.S: inner.S:430:5: error: unexpected token in operand
inner.S: mov %rcx,%r8
inner.S: ^
inner.S: inner.S:435:12: error: unexpected token in argument list
inner.S: vmovupd 640(%rcx),%ymm0
inner.S: ^
inner.S: inner.S:440:10: error: unexpected token in argument list
inner.S: ...

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

Compiler output

Implementation: avx2
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
inner.S: inner.S: Assembler messages:
inner.S: inner.S:422: Error: ARM register expected -- `mov %rsp,%r11'
inner.S: inner.S:423: Error: ARM register expected -- `and $511,%r11'
inner.S: inner.S:424: Error: ARM register expected -- `add $416,%r11'
inner.S: inner.S:425: Error: immediate expression requires a # prefix -- `sub %r11,%rsp'
inner.S: inner.S:430: Error: ARM register expected -- `mov %rcx,%r8'
inner.S: inner.S:435: Error: bad instruction `vmovupd 640(%rcx),%ymm0'
inner.S: inner.S:440: Error: bad instruction `vmovupd 0(%rdi),%ymm1'
inner.S: inner.S:445: Error: ARM register expected -- `mov %rdi,%rcx'
inner.S: inner.S:450: Error: bad instruction `vmovupd 32(%rdi),%ymm2'
inner.S: inner.S:455: Error: bad instruction `vpshufb %ymm0,%ymm1,%ymm1'
inner.S: inner.S:460: Error: bad instruction `vpshufb %ymm0,%ymm2,%ymm2'
inner.S: inner.S:465: Error: bad instruction `vmovapd %ymm1,0(%rsp)'
inner.S: inner.S:470: Error: bad instruction `movq %r11,320(%rsp)'
inner.S: inner.S:475: Error: bad instruction `vmovapd %ymm2,32(%rsp)'
inner.S: inner.S:480: Error: bad instruction `movq %r13,328(%rsp)'
inner.S: inner.S:485: Error: bad instruction `movq %r12,336(%rsp)'
inner.S: inner.S:490: Error: bad instruction `movq %r14,344(%rsp)'
inner.S: inner.S:495: Error: bad instruction `movq %rbx,352(%rsp)'
inner.S: inner.S:500: Error: bad instruction `movq %r15,360(%rsp)'
inner.S: inner.S:505: Error: bad instruction `movq %rbp,368(%rsp)'
inner.S: inner.S:510: Error: bad instruction `movq %rdx,376(%rsp)'
inner.S: inner.S:515: Error: ARM register expected -- `mov %rsi,%rdi'
inner.S: inner.S:520: Error: bad instruction `movq %rcx,384(%rsp)'
inner.S: inner.S:525: Error: bad instruction `movq 0(%rsp),%rsi'
inner.S: ...

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

Compiler output

Implementation: m3
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
inner32.S: inner32.S:6786:29: error: expected '%<type>' or "<type>"
inner32.S: .section .note.GNU-stack,"",@progbits
inner32.S: ^

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

Compiler output

Implementation: m3
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
inner32.S: inner32.S: Assembler messages:
inner32.S: inner32.S:6786: Error: junk at end of line, first unrecognized character is `,'

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

Compiler output

Implementation: m4inline
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
inner32.S: inner32.S:6879:29: error: expected '%<type>' or "<type>"
inner32.S: .section .note.GNU-stack,"",@progbits
inner32.S: ^

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

Compiler output

Implementation: m4inline
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
inner32.S: inner32.S: Assembler messages:
inner32.S: inner32.S:6879: Error: junk at end of line, first unrecognized character is `,'

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

Compiler output

Implementation: m4mult
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
inner32.S: inner32.S:6685:29: error: expected '%<type>' or "<type>"
inner32.S: .section .note.GNU-stack,"",@progbits
inner32.S: ^

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

Compiler output

Implementation: m4mult
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
inner32.S: inner32.S: Assembler messages:
inner32.S: inner32.S:6685: Error: junk at end of line, first unrecognized character is `,'

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

Compiler output

Implementation: m4nofpu
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
inner32.S: inner32.S:6593:29: error: expected '%<type>' or "<type>"
inner32.S: .section .note.GNU-stack,"",@progbits
inner32.S: ^

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

Compiler output

Implementation: m4nofpu
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
inner32.S: inner32.S: Assembler messages:
inner32.S: inner32.S:6593: Error: junk at end of line, first unrecognized character is `,'

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