Implementation notes: amd64, par, crypto_hashblocks/sha256

Computer: par
Architecture: amd64
CPU ID: GenuineIntel-000406c3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_hashblocks
Primitive: sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
51060inplacegcc -funroll-loops -march=native -mcpu=native -O22016121420161026
51060inplacegcc -funroll-loops -march=native -mcpu=native -O32016121420161026
51440refgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
51440refgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
51740inplacegcc -march=native -mcpu=native -Os2016121420161026
52080refgcc -march=native -mcpu=native -Os2016121420161026
52160inplacegcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
52320refgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
53840refgcc -march=native -mcpu=native -O32016121420161026
53860refgcc -march=native -mcpu=native -O22016121420161026
53900inplacegcc -march=native -mcpu=native -O32016121420161026
54000inplacegcc -march=native -mcpu=native -O22016121420161026

Compiler output

Implementation: crypto_hashblocks/sha256/dolbeau/amd64-sha
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
blocks.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
blocks.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:71:0,
blocks.c: from blocks.c:37:
blocks.c: blocks.c: In function 'crypto_hashblocks_sha256_dolbeau_amd64_sha':
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/shaintrin.h:87:1: error: inlining failed in call to always_inline '_mm_sha256rnds2_epu32': target specific option mismatch
blocks.c: _mm_sha256rnds2_epu32 (__m128i __A, __m128i __B, __m128i __C)
blocks.c: ^~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:146:6: note: called from here
blocks.c: s0 = _mm_sha256rnds2_epu32(x0, s1, h1)
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:188:3: note: in expansion of macro 'DO16ROUNDS'
blocks.c: DO16ROUNDS(j0, j1, j2, j3, cc, cd, ce, cf);
blocks.c: ^~~~~~~~~~
blocks.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:71:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/shaintrin.h:87:1: error: inlining failed in call to always_inline '_mm_sha256rnds2_epu32': target specific option mismatch
blocks.c: _mm_sha256rnds2_epu32 (__m128i __A, __m128i __B, __m128i __C)
blocks.c: ^~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:144:6: note: called from here
blocks.c: s1 = _mm_sha256rnds2_epu32(x1, x0, h1); \
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: blocks.c:188:3: note: in expansion of macro 'DO16ROUNDS'
blocks.c: DO16ROUNDS(j0, j1, j2, j3, cc, cd, ce, cf);
blocks.c: ^~~~~~~~~~
blocks.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:71:0,
blocks.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 dolbeau/amd64-sha
gcc -funroll-loops -march=native -mcpu=native -O3 dolbeau/amd64-sha
gcc -funroll-loops -march=native -mcpu=native -Os dolbeau/amd64-sha
gcc -march=native -mcpu=native -O2 dolbeau/amd64-sha
gcc -march=native -mcpu=native -O3 dolbeau/amd64-sha
gcc -march=native -mcpu=native -Os dolbeau/amd64-sha

Compiler output

Implementation: crypto_hashblocks/sha256/inplace
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
blocks.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 inplace ref
gcc -funroll-loops -march=native -mcpu=native -O3 inplace ref
gcc -funroll-loops -march=native -mcpu=native -Os inplace ref
gcc -march=native -mcpu=native -O2 inplace ref
gcc -march=native -mcpu=native -O3 inplace ref
gcc -march=native -mcpu=native -Os inplace ref