Implementation notes: amd64, hydra1, crypto_hashblocks/sha256

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_hashblocks
Primitive: sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
28616refgcc -funroll-loops -Os -fomit-frame-pointer2016101020161009
28656inplacegcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016101020161009
28690inplacegcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016101020161009
28693inplacegcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016101020161009
28760refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016101020161009
28762inplacegcc -funroll-loops -m64 -Os -fomit-frame-pointer2016101020161009
28768inplacegcc -funroll-loops -Os -fomit-frame-pointer2016101020161009
28794refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016101020161009
28829refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016101020161009
28832refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016101020161009
28864refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016101020161009
28926inplacegcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016101020161009
29000refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016101020161009
29045inplacegcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016101020161009
29392inplacegcc -Os -fomit-frame-pointer2016101020161009
29429inplacegcc -fno-schedule-insns -Os -fomit-frame-pointer2016101020161009
29429inplacegcc -march=k8 -Os -fomit-frame-pointer2016101020161009
29439inplacegcc -m64 -march=corei7 -Os -fomit-frame-pointer2016101020161009
29440inplacegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016101020161009
29450inplacegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016101020161009
29464inplacegcc -m64 -Os -fomit-frame-pointer2016101020161009
29466refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016101020161009
29471refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016101020161009
29472refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016101020161009
29472refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016101020161009
29473refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016101020161009
29473refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016101020161009
29477refgcc -funroll-loops -O2 -fomit-frame-pointer2016101020161009
29477inplacegcc -m64 -march=k8 -Os -fomit-frame-pointer2016101020161009
29507inplacegcc -m64 -march=core2 -Os -fomit-frame-pointer2016101020161009
29537refgcc -funroll-loops -O3 -fomit-frame-pointer2016101020161009
29538refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016101020161009
29541refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016101020161009
29589refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016101020161009
29592refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016101020161009
29614inplacegcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016101020161009
29618inplacegcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016101020161009
29622inplacegcc -funroll-loops -O2 -fomit-frame-pointer2016101020161009
29639inplacegcc -funroll-loops -O3 -fomit-frame-pointer2016101020161009
29639inplacegcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016101020161009
29645refgcc -m64 -Os -fomit-frame-pointer2016101020161009
29648inplacegcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016101020161009
29668inplacegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016101020161009
29675inplacegcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016101020161009
29685refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016101020161009
29690inplacegcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016101020161009
29693inplacegcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016101020161009
29699refgcc -march=k8 -Os -fomit-frame-pointer2016101020161009
29701refgcc -Os -fomit-frame-pointer2016101020161009
29725refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016101020161009
29725refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016101020161009
29726refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016101020161009
29726refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016101020161009
29730refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016101020161009
29735refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016101020161009
29845inplacegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016101020161009
29845inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016101020161009
29848refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016101020161009
29848inplacegcc -march=barcelona -Os -fomit-frame-pointer2016101020161009
29848refgcc -march=barcelona -Os -fomit-frame-pointer2016101020161009
29869refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016101020161009
29872inplacegcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016101020161009
29874inplacegcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016101020161009
29874inplacegcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016101020161009
29875inplacegcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016101020161009
29909inplacegcc -m64 -march=barcelona -Os -fomit-frame-pointer2016101020161009
29920refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016101020161009
29997refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016101020161009
30410refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016101020161009
30412inplacegcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016101020161009
30477inplacegcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016101020161009
30480refgcc -march=k8 -O2 -fomit-frame-pointer2016101020161009
30483refgcc -march=nocona -Os -fomit-frame-pointer2016101020161009
30499refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016101020161009
30613inplacegcc -march=nocona -Os -fomit-frame-pointer2016101020161009
30616inplacegcc -m64 -march=nocona -Os -fomit-frame-pointer2016101020161009
30661refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016101020161009
30667refgcc -m64 -O2 -fomit-frame-pointer2016101020161009
30669refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016101020161009
30677refgcc -O2 -fomit-frame-pointer2016101020161009
30683refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016101020161009
30683refgcc -march=k8 -O3 -fomit-frame-pointer2016101020161009
30686refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016101020161009
30720refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016101020161009
30720refgcc -march=barcelona -O3 -fomit-frame-pointer2016101020161009
30720refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016101020161009
30721refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016101020161009
30749refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016101020161009
30754refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016101020161009
30763refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016101020161009
30790refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016101020161009
30791refgcc -O3 -fomit-frame-pointer2016101020161009
30795refgcc -march=barcelona -O2 -fomit-frame-pointer2016101020161009
30795refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016101020161009
30797refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016101020161009
30797refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016101020161009
30803refgcc -m64 -O3 -fomit-frame-pointer2016101020161009
30808refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016101020161009
30822inplacegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016101020161009
30824inplacegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016101020161009
30835inplacegcc -m64 -march=core2 -O2 -fomit-frame-pointer2016101020161009
30837inplacegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016101020161009
30843inplacegcc -O2 -fomit-frame-pointer2016101020161009
30851inplacegcc -m64 -O2 -fomit-frame-pointer2016101020161009
30878inplacegcc -fno-schedule-insns -O2 -fomit-frame-pointer2016101020161009
30885inplacegcc -m64 -march=k8 -O2 -fomit-frame-pointer2016101020161009
30885inplacegcc -march=k8 -O2 -fomit-frame-pointer2016101020161009
30915inplacegcc -m64 -O3 -fomit-frame-pointer2016101020161009
30917inplacegcc -O3 -fomit-frame-pointer2016101020161009
30938inplacegcc -fno-schedule-insns -O3 -fomit-frame-pointer2016101020161009
31015inplacegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016101020161009
31016inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016101020161009
31045inplacegcc -march=barcelona -O2 -fomit-frame-pointer2016101020161009
31051inplacegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016101020161009
31112inplacegcc -march=k8 -O3 -fomit-frame-pointer2016101020161009
31136inplacegcc -m64 -march=k8 -O3 -fomit-frame-pointer2016101020161009
31275inplacegcc -march=barcelona -O3 -fomit-frame-pointer2016101020161009
31277inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016101020161009
31290inplacegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016101020161009
31294inplacegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016101020161009
31358inplacegcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016101020161009
31358inplacegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016101020161009
31365inplacegcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016101020161009
31379inplacegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016101020161009
31963inplacegcc -march=nocona -O3 -fomit-frame-pointer2016101020161009
31973inplacegcc -m64 -march=nocona -O3 -fomit-frame-pointer2016101020161009
32112inplacegcc -m64 -march=nocona -O2 -fomit-frame-pointer2016101020161009
32117inplacegcc -march=nocona -O2 -fomit-frame-pointer2016101020161009
32456refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016101020161009
32504refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016101020161009
32507inplaceclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101020161009
32512refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016101020161009
32515refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016101020161009
32536refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016101020161009
32549refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101020161009
32568inplaceclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016101020161009
32848inplacegcc -funroll-loops -O -fomit-frame-pointer2016101020161009
32854inplacegcc -funroll-loops -m64 -O -fomit-frame-pointer2016101020161009
32855inplacegcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016101020161009
32923inplacegcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016101020161009
32968inplacegcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016101020161009
32970inplacegcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016101020161009
32973inplacegcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016101020161009
32981inplacegcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016101020161009
33015inplacegcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016101020161009
33190refgcc -march=nocona -O3 -fomit-frame-pointer2016101020161009
33202refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016101020161009
33333inplacegcc -m64 -march=nocona -O -fomit-frame-pointer2016101020161009
33333inplacegcc -march=nocona -O -fomit-frame-pointer2016101020161009
33346inplacegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016101020161009
33349inplacegcc -m64 -march=core2 -O -fomit-frame-pointer2016101020161009
33354inplacegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016101020161009
33357inplacegcc -m64 -march=corei7 -O -fomit-frame-pointer2016101020161009
33421inplaceclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101020161009
33424inplacegcc -m64 -O -fomit-frame-pointer2016101020161009
33427inplacegcc -fno-schedule-insns -O -fomit-frame-pointer2016101020161009
33429inplacegcc -O -fomit-frame-pointer2016101020161009
33432inplacegcc -m64 -march=k8 -O -fomit-frame-pointer2016101020161009
33432inplacegcc -march=k8 -O -fomit-frame-pointer2016101020161009
33434refgcc -march=nocona -O2 -fomit-frame-pointer2016101020161009
33435inplaceclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101020161009
33437refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016101020161009
33445inplaceclang -O3 -fomit-frame-pointer -Qunused-arguments2016101020161009
33448inplacegcc -march=barcelona -O -fomit-frame-pointer2016101020161009
33456inplacegcc -m64 -march=barcelona -O -fomit-frame-pointer2016101020161009
33467inplacegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016101020161009
33478inplaceclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101020161009
33485inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016101020161009
33590refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101020161009
33592refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101020161009
33597refclang -O3 -fomit-frame-pointer -Qunused-arguments2016101020161009
33624refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101020161009
34601refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016101020161009
34605refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016101020161009
34610refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016101020161009
34615refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016101020161009
34643refgcc -funroll-loops -O -fomit-frame-pointer2016101020161009
34670refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016101020161009
34682refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016101020161009
34685refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016101020161009
34714refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016101020161009
35250refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016101020161009
35250refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016101020161009
35250refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016101020161009
35266refgcc -march=barcelona -O -fomit-frame-pointer2016101020161009
35341refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016101020161009
35354refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016101020161009
35389refgcc -m64 -march=core2 -O -fomit-frame-pointer2016101020161009
35430refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016101020161009
35430refgcc -m64 -march=nocona -O -fomit-frame-pointer2016101020161009
35440refgcc -march=nocona -O -fomit-frame-pointer2016101020161009
35514refgcc -fno-schedule-insns -O -fomit-frame-pointer2016101020161009
35517refgcc -O -fomit-frame-pointer2016101020161009
35517refgcc -m64 -march=k8 -O -fomit-frame-pointer2016101020161009
35538refgcc -m64 -O -fomit-frame-pointer2016101020161009
35541refgcc -march=k8 -O -fomit-frame-pointer2016101020161009
52327inplacegcc -funroll-loops2016101020161009
52331inplacegcc2016101020161009
52419inplacecc2016101020161009
54108refgcc -funroll-loops2016101020161009
54180refgcc2016101020161009
54234refcc2016101020161009

Test failure

Implementation: crypto_hashblocks/sha256/inplace
Compiler: gcc -m64 -march=core2 -O3 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m64 -march=core2 -O3 -fomit-frame-pointer inplace ref

Compiler output

Implementation: crypto_hashblocks/sha256/dolbeau/amd64-sha
Compiler: cc
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:35: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-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
blocks.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
blocks.c: ^
blocks.c: blocks.c:86:5: error: called from here
blocks.c: d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: ^
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
blocks.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
blocks.c: ^
blocks.c: blocks.c:85:5: error: called from here
blocks.c: d0 = _mm_shuffle_epi8(d0, vperm);
blocks.c: ^
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
blocks.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
blocks.c: ^
blocks.c: blocks.c:86:5: error: called from here
blocks.c: d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: ^
blocks.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc dolbeau/amd64-sha
gcc dolbeau/amd64-sha
gcc -funroll-loops dolbeau/amd64-sha

Compiler output

Implementation: crypto_hashblocks/sha256/dolbeau/amd64-sha
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
blocks.c: blocks.c:85:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha' that is compiled without support for 'ssse3'
blocks.c: d0 = _mm_shuffle_epi8(d0, vperm);
blocks.c: ^
blocks.c: blocks.c:86:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha' that is compiled without support for 'ssse3'
blocks.c: d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: ^
blocks.c: blocks.c:97:7: error: '__builtin_ia32_palignr128' needs target feature ssse3
blocks.c: d0 = _mm_alignr_epi8(d0, d1, 0x08);
blocks.c: ^
blocks.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/tmmintrin.h:69:12: note: expanded from macro '_mm_alignr_epi8'
blocks.c: (__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \
blocks.c: ^
blocks.c: blocks.c:113:8: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha' that is compiled without support for 'ssse3'
blocks.c: i0 = _mm_shuffle_epi8(i0, vperm);
blocks.c: ^
blocks.c: blocks.c:114:8: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha' that is compiled without support for 'ssse3'
blocks.c: i1 = _mm_shuffle_epi8(i1, vperm);
blocks.c: ^
blocks.c: blocks.c:115:8: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha' that is compiled without support for 'ssse3'
blocks.c: i2 = _mm_shuffle_epi8(i2, vperm);
blocks.c: ^
blocks.c: blocks.c:116:8: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha' that is compiled without support for 'ssse3'
blocks.c: i3 = _mm_shuffle_epi8(i3, vperm);
blocks.c: ^
blocks.c: blocks.c:176:3: error: always_inline function '_mm_sha256rnds2_epu32' requires target feature 'sha', but would be inlined into function 'crypto_hashblocks_sha256_dolbeau_amd64_sha' that is compiled without support for 'sha'
blocks.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-sha
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-sha
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sha
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sha
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sha
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sha

Compiler output

Implementation: crypto_hashblocks/sha256/dolbeau/amd64-sha
Compiler: gcc -O2 -fomit-frame-pointer
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:37: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-linux-gnu/5/include/smmintrin.h:166:1: error: inlining failed in call to always_inline '_mm_blend_epi16': target specific option mismatch
blocks.c: _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M)
blocks.c: ^
blocks.c: blocks.c:98:5: error: called from here
blocks.c: d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: ^
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline '_mm_alignr_epi8': target specific option mismatch
blocks.c: _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
blocks.c: ^
blocks.c: blocks.c:97:5: error: called from here
blocks.c: d0 = _mm_alignr_epi8(d0, d1, 0x08);
blocks.c: ^
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
blocks.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
blocks.c: ^
blocks.c: blocks.c:86:5: error: called from here
blocks.c: d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: ^
blocks.c: ...

Number of similar (compiler,implementation) pairs: 76, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=k8 -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-sha
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-sha
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-sha
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-sha
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=nocona -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-sha

Compiler output

Implementation: crypto_hashblocks/sha256/dolbeau/amd64-sha
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:37: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-linux-gnu/5/include/smmintrin.h:166:1: error: inlining failed in call to always_inline '_mm_blend_epi16': target specific option mismatch
blocks.c: _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M)
blocks.c: ^
blocks.c: blocks.c:98:5: error: called from here
blocks.c: d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: ^
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline '_mm_alignr_epi8': target specific option mismatch
blocks.c: _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
blocks.c: ^
blocks.c: blocks.c:97:5: error: called from here
blocks.c: d0 = _mm_alignr_epi8(d0, d1, 0x08);
blocks.c: ^
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
blocks.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
blocks.c: ^
blocks.c: blocks.c:86:5: error: called from here
blocks.c: d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: ^
blocks.c: ...
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:37: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-linux-gnu/5/include/smmintrin.h:166:1: error: inlining failed in call to always_inline '_mm_blend_epi16': target specific option mismatch
blocks.c: _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M)
blocks.c: ^
blocks.c: blocks.c:98:5: error: called from here
blocks.c: d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: ^
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline '_mm_alignr_epi8': target specific option mismatch
blocks.c: _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
blocks.c: ^
blocks.c: blocks.c:97:5: error: called from here
blocks.c: d0 = _mm_alignr_epi8(d0, d1, 0x08);
blocks.c: ^
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
blocks.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
blocks.c: ^
blocks.c: blocks.c:86:5: error: called from here
blocks.c: d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: ^
blocks.c: ...

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

Compiler output

Implementation: crypto_hashblocks/sha256/dolbeau/amd64-sha
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:37: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-linux-gnu/5/include/smmintrin.h:166:1: error: inlining failed in call to always_inline '_mm_blend_epi16': target specific option mismatch
blocks.c: _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M)
blocks.c: ^
blocks.c: blocks.c:98:5: error: called from here
blocks.c: d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: ^
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:37:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:166:1: error: inlining failed in call to always_inline '_mm_blend_epi16': target specific option mismatch
blocks.c: _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M)
blocks.c: ^
blocks.c: blocks.c:98:5: error: called from here
blocks.c: d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: ^
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:71:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: called from here
blocks.c: s0 = _mm_sha256rnds2_epu32(x0, s1, h1)
blocks.c: ^
blocks.c: ...

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

Compiler output

Implementation: crypto_hashblocks/sha256/dolbeau/amd64-sha
Compiler: gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer
blocks.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/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-linux-gnu/5/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: error: 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-linux-gnu/5/include/immintrin.h:71:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: 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-linux-gnu/5/include/immintrin.h:71:0,
blocks.c: from blocks.c:37:
blocks.c: ...

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=corei7 -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=corei7 -Os -fomit-frame-pointer dolbeau/amd64-sha