Implementation notes: armeabi, novenablue, crypto_hashblocks/sha256

Computer: novenablue
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20200702
Operation: crypto_hashblocks
Primitive: sha256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
429828928 0 015730 396 744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
432418924 0 017327 400 744refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
439349032 0 015838 396 744inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
439677376 0 013706 388 744inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
442439056 0 017463 400 744inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
446137352 0 013678 388 744refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
455648688 0 015490 396 744arm11gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
455828720 0 018781 404 752arm11clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
455828720 0 020477 404 752arm11clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
455828720 0 017719 400 752arm11clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
455828720 0 020493 404 752arm11clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
455828688 0 015366 396 744arm11gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
455878688 0 017091 400 744arm11gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
456008720 0 018781 404 752arm11clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
456008688 0 015014 388 744arm11gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
4905410760 0 019763 400 752inplaceclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
4938210760 0 020825 404 752inplaceclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
4938210760 0 022521 404 752inplaceclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
4938210760 0 020821 404 752refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
4938210760 0 022517 404 752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
4938210760 0 019759 400 752refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
4940010760 0 020825 404 752inplaceclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
4940010760 0 020821 404 752refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
496187444 0 014126 396 744inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
505287628 0 014306 396 744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042320200417
5432812580 0 024353 404 752inplaceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417
5434612580 0 024349 404 752refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042320200417

Compiler output

Implementation: dolbeau/amd64-sha
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blocks.c: blocks.c:60:2: error: use of undeclared identifier '__m128i'
blocks.c: __m128i vperm;
blocks.c: ^
blocks.c: blocks.c:63:2: error: use of undeclared identifier '__m128i'
blocks.c: __m128i c0 = _mm_loadu_si128((const __m128i*)(s256cst + 0));
blocks.c: ^
blocks.c: blocks.c:64:2: error: use of undeclared identifier '__m128i'
blocks.c: __m128i c1 = _mm_loadu_si128((const __m128i*)(s256cst + 4));
blocks.c: ^
blocks.c: blocks.c:65:2: error: use of undeclared identifier '__m128i'
blocks.c: __m128i c2 = _mm_loadu_si128((const __m128i*)(s256cst + 8));
blocks.c: ^
blocks.c: blocks.c:66:2: error: use of undeclared identifier '__m128i'
blocks.c: __m128i c3 = _mm_loadu_si128((const __m128i*)(s256cst + 12));
blocks.c: ^
blocks.c: blocks.c:67:2: error: use of undeclared identifier '__m128i'
blocks.c: __m128i c4 = _mm_loadu_si128((const __m128i*)(s256cst + 16));
blocks.c: ^
blocks.c: blocks.c:68:2: error: use of undeclared identifier '__m128i'
blocks.c: __m128i c5 = _mm_loadu_si128((const __m128i*)(s256cst + 20));
blocks.c: ^
blocks.c: blocks.c:69:2: error: use of undeclared identifier '__m128i'
blocks.c: __m128i c6 = _mm_loadu_si128((const __m128i*)(s256cst + 24));
blocks.c: ^
blocks.c: blocks.c:70:2: error: use of undeclared identifier '__m128i'
blocks.c: ...

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

Compiler output

Implementation: dolbeau/amd64-sha
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blocks.c: blocks.c:37:23: fatal error: immintrin.h: No such file or directory
blocks.c: #include <immintrin.h>
blocks.c: ^
blocks.c: compilation terminated.

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

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blocks.c: blocks.c:134:3: warning: implicit declaration of function 'vsha256hq_u32' is invalid in C99 [-Wimplicit-function-declaration]
blocks.c: DO16ROUNDS(i0, i1, i2, i3, c0, c1, c2, c3);
blocks.c: ^
blocks.c: blocks.c:108:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: x0 = vsha256hq_u32(s0, s1, h0); \
blocks.c: ^
blocks.c: blocks.c:134:3: error: assigning to 'uint32x4_t' (vector of 4 'uint32_t' values) from incompatible type 'int'
blocks.c: DO16ROUNDS(i0, i1, i2, i3, c0, c1, c2, c3);
blocks.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:108:6: note: expanded from macro 'DO16ROUNDS'
blocks.c: x0 = vsha256hq_u32(s0, s1, h0); \
blocks.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:134:3: warning: implicit declaration of function 'vsha256h2q_u32' is invalid in C99 [-Wimplicit-function-declaration]
blocks.c: blocks.c:109:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: x1 = vsha256h2q_u32(s1, s0, h0); \
blocks.c: ^
blocks.c: blocks.c:134:3: error: assigning to 'uint32x4_t' (vector of 4 'uint32_t' values) from incompatible type 'int'
blocks.c: DO16ROUNDS(i0, i1, i2, i3, c0, c1, c2, c3);
blocks.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:109:6: note: expanded from macro 'DO16ROUNDS'
blocks.c: x1 = vsha256h2q_u32(s1, s0, h0); \
blocks.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:134:3: error: assigning to 'uint32x4_t' (vector of 4 'uint32_t' values) from incompatible type 'int'
blocks.c: DO16ROUNDS(i0, i1, i2, i3, c0, c1, c2, c3);
blocks.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: ...

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

Compiler output

Implementation: dolbeau/armv8crypto
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blocks.c: In file included from blocks.c:37:0:
blocks.c: /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
blocks.c: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
blocks.c: ^
blocks.c: blocks.c: In function 'crypto_hashblocks_sha256_dolbeau_armv8crypto':
blocks.c: blocks.c:59:2: error: unknown type name 'uint32x4_t'
blocks.c: uint32x4_t c0 = vld1q_u32(s256cst + 0);
blocks.c: ^
blocks.c: blocks.c:60:2: error: unknown type name 'uint32x4_t'
blocks.c: uint32x4_t c1 = vld1q_u32(s256cst + 4);
blocks.c: ^
blocks.c: blocks.c:61:2: error: unknown type name 'uint32x4_t'
blocks.c: uint32x4_t c2 = vld1q_u32(s256cst + 8);
blocks.c: ^
blocks.c: blocks.c:62:2: error: unknown type name 'uint32x4_t'
blocks.c: uint32x4_t c3 = vld1q_u32(s256cst + 12);
blocks.c: ^
blocks.c: blocks.c:63:2: error: unknown type name 'uint32x4_t'
blocks.c: uint32x4_t c4 = vld1q_u32(s256cst + 16);
blocks.c: ^
blocks.c: blocks.c:64:2: error: unknown type name 'uint32x4_t'
blocks.c: uint32x4_t c5 = vld1q_u32(s256cst + 20);
blocks.c: ^
blocks.c: blocks.c:65:2: error: unknown type name 'uint32x4_t'
blocks.c: uint32x4_t c6 = vld1q_u32(s256cst + 24);
blocks.c: ...

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