Implementation notes: armeabi, berry2, crypto_hashblocks/sha512

Computer: berry2
Microarchitecture: armeabi; Cortex-A7 (410fc075)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_hashblocks
Primitive: sha512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
934024674 0 023718 384 760m4inlineclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
934044728 0 014224 384 744m4inlinegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
934144728 0 012355 380 744m4inlinegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
934204732 0 011847 372 744m4inlinegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
934324728 0 012351 380 744m4inlinegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
996964494 0 023534 384 760m4multclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
997024548 0 012175 380 744m4multgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
997084548 0 012175 380 744m4multgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
997164552 0 011663 372 744m4multgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
997864548 0 014040 384 744m4multgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
998864846 0 023886 384 760m3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
998904900 0 014392 384 744m3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
998924900 0 012519 380 744m3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
998954900 0 012519 380 744m3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
999184904 0 012007 372 744m3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1093044646 0 023694 384 760m4nofpuclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
1093084700 0 014200 384 744m4nofpugcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1093184700 0 012327 380 744m4nofpugcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1093304700 0 012327 380 744m4nofpugcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1093344704 0 011815 372 744m4nofpugcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1218069600 0 028618 384 760compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
1240166412 0 025430 384 760wflipclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
1242606900 0 014515 380 744wflipgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1243756988 0 016468 384 744wflipgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1352221692 0 09307 380 744compact4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1390861616 0 08719 372 744compact4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
13937212572 0 022060 384 744compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
13994010860 0 018475 380 744compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1401981692 0 09319 380 744compact4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1415866428 0 014055 380 744wflipgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1543303672 0 013160 384 744compact2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1548801960 0 09575 380 744compact2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
15953810100 0 017727 380 744compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1622853776 0 022802 384 760compact2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
1635503248 0 022282 384 760compact4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
1674763828 0 013316 384 744compact4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
16863741276 0 060303 384 760inplaceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
1690121872 0 09487 380 744compact3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
16914410936 0 018039 372 744compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
16938841248 0 060271 384 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
1711167108 0 014203 372 744wflipgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1739743708 0 013196 384 744compact3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
17446838408 0 046035 380 744inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1754321912 0 09015 372 744compact2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
19059039428 0 047051 380 744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1936641800 0 08903 372 744compact3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
19370042412 0 050027 380 744inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1939842912 0 021946 384 760compact3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012320240107
19504142520 0 052004 384 744inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
1975122000 0 09627 380 744compact2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
21316742844 0 049941 372 744inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
22077043064 0 050157 372 744refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
2208041888 0 09515 380 744compact3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
22080645028 0 052639 380 744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107
22540145120 0 054600 384 744refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012320240107

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