Implementation notes: amd64, glyme, crypto_hashblocks/sha256

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_hashblocks
Primitive: sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
28868inplacegcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
28868inplacegcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020120170105
28900inplacegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
28920inplacegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020120170105
29020inplacegcc -march=nocona -Os -fomit-frame-pointer2017020120170105
29040inplacegcc -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
29096refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
29096refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020120170105
29224refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
29224refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020120170105
29384inplacegcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
29384inplacegcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020120170105
29592refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
29592refgcc -march=nocona -Os -fomit-frame-pointer2017020120170105
29956refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
29968refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020120170105
29984refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020120170105
30000refgcc -funroll-loops -O2 -fomit-frame-pointer2017020120170105
30000refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
30000refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020120170105
30028inplacegcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
30028inplacegcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020120170105
30096inplacegcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
30096inplacegcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020120170105
30100inplacegcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
30100inplacegcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020120170105
30128inplacegcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
30132inplacegcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020120170105
30148inplacegcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020120170105
30164inplacegcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020120170105
30168refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020120170105
30172refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020120170105
30208refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020120170105
30212refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
30212refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
30216refgcc -funroll-loops -O3 -fomit-frame-pointer2017020120170105
30216refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
30236refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020120170105
30240inplacegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
30240inplacegcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020120170105
30284inplacegcc -funroll-loops -m64 -O -fomit-frame-pointer2017020120170105
30288inplacegcc -funroll-loops -O2 -fomit-frame-pointer2017020120170105
30288inplacegcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
30288inplacegcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020120170105
30288inplacegcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
30288inplacegcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020120170105
30288refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020120170105
30288refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020120170105
30288refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020120170105
30288refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020120170105
30296refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020120170105
30296refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020120170105
30304inplacegcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
30308inplacegcc -funroll-loops -O -fomit-frame-pointer2017020120170105
30312inplacegcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
30312inplacegcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020120170105
30336inplacegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020120170105
30336inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020120170105
30340inplacegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020120170105
30348inplacegcc -m64 -march=core2 -Os -fomit-frame-pointer2017020120170105
30348inplacegcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020120170105
30356inplacegcc -funroll-loops -O3 -fomit-frame-pointer2017020120170105
30356inplacegcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
30356inplacegcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020120170105
30360refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
30360refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020120170105
30368inplacegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020120170105
30384inplacegcc -funroll-loops -Os -fomit-frame-pointer2017020120170105
30384inplacegcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
30384inplacegcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
30384inplacegcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020120170105
30388inplacegcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020120170105
30392inplacegcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
30392inplacegcc -march=barcelona -Os -fomit-frame-pointer2017020120170105
30432inplacegcc -Os -fomit-frame-pointer2017020120170105
30432inplacegcc -m64 -Os -fomit-frame-pointer2017020120170105
30432inplacegcc -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
30432inplacegcc -march=k8 -Os -fomit-frame-pointer2017020120170105
30436inplacegcc -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
30456refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
30456refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
30456refgcc -march=barcelona -Os -fomit-frame-pointer2017020120170105
30464refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020120170105
30476inplacegcc -march=nocona -O2 -fomit-frame-pointer2017020120170105
30480refgcc -funroll-loops -Os -fomit-frame-pointer2017020120170105
30480refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
30480refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
30484refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020120170105
30484refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020120170105
30484inplacegcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
30572inplacegcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
30572inplacegcc -march=nocona -O3 -fomit-frame-pointer2017020120170105
30600refgcc -Os -fomit-frame-pointer2017020120170105
30600refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
30600refgcc -m64 -Os -fomit-frame-pointer2017020120170105
30600refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
30600refgcc -march=k8 -Os -fomit-frame-pointer2017020120170105
30640refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
30640refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
30640refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020120170105
30652refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
30652refgcc -march=nocona -O2 -fomit-frame-pointer2017020120170105
30692refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020120170105
30728refgcc -march=nocona -O3 -fomit-frame-pointer2017020120170105
30744refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020120170105
30748refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
30772refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
30812refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
30820refgcc -funroll-loops -O -fomit-frame-pointer2017020120170105
30848refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020120170105
31372inplacegcc -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
31372inplacegcc -march=k8 -O -fomit-frame-pointer2017020120170105
31392inplacegcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020120170105
31392inplacegcc -march=k8 -O3 -fomit-frame-pointer2017020120170105
31404inplacegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020120170105
31404inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020120170105
31424inplacegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020120170105
31428inplacegcc -m64 -march=core2 -O -fomit-frame-pointer2017020120170105
31440inplacegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020120170105
31452refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
31460refgcc -march=barcelona -O2 -fomit-frame-pointer2017020120170105
31464inplacegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
31464inplacegcc -march=barcelona -O3 -fomit-frame-pointer2017020120170105
31480inplacegcc -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
31480inplacegcc -march=barcelona -O -fomit-frame-pointer2017020120170105
31488inplacegcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020120170105
31488inplacegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020120170105
31488inplacegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020120170105
31488inplacegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020120170105
31488inplacegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020120170105
31488refgcc -march=k8 -O2 -fomit-frame-pointer2017020120170105
31488inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020120170105
31516inplacegcc -O -fomit-frame-pointer2017020120170105
31516refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
31520inplacegcc -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
31524inplacegcc -m64 -march=corei7 -O -fomit-frame-pointer2017020120170105
31528inplacegcc -m64 -O -fomit-frame-pointer2017020120170105
31536refgcc -O2 -fomit-frame-pointer2017020120170105
31536refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
31536refgcc -m64 -O2 -fomit-frame-pointer2017020120170105
31560inplacegcc -O2 -fomit-frame-pointer2017020120170105
31560inplacegcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
31560inplacegcc -m64 -O2 -fomit-frame-pointer2017020120170105
31584refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020120170105
31584refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020120170105
31592refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020120170105
31592refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020120170105
31592refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020120170105
31600refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020120170105
31608refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020120170105
31612refgcc -march=k8 -O3 -fomit-frame-pointer2017020120170105
31656inplacegcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020120170105
31656inplacegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020120170105
31656inplacegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020120170105
31656inplacegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020120170105
31656inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020120170105
31676inplacegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020120170105
31676inplacegcc -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
31680inplacegcc -march=k8 -O2 -fomit-frame-pointer2017020120170105
31684inplacegcc -march=nocona -O -fomit-frame-pointer2017020120170105
31696refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
31700refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020120170105
31700inplacegcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
31700refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020120170105
31700refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020120170105
31704inplacegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
31704refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
31704refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020120170105
31704refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020120170105
31704refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020120170105
31704inplacegcc -march=barcelona -O2 -fomit-frame-pointer2017020120170105
31704refgcc -march=barcelona -O3 -fomit-frame-pointer2017020120170105
31716refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020120170105
31716refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
31716refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
31724refgcc -O3 -fomit-frame-pointer2017020120170105
31724refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
31724refgcc -m64 -O3 -fomit-frame-pointer2017020120170105
31752inplacegcc -O3 -fomit-frame-pointer2017020120170105
31752inplacegcc -m64 -O3 -fomit-frame-pointer2017020120170105
31756refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
31772inplacegcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
31776refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020120170105
31784inplaceclang -O3 -fomit-frame-pointer -Qunused-arguments2017020120170105
31784inplaceclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
31784inplaceclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
31784inplaceclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
31792inplaceclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020120170105
31812inplaceclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
31844refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
31844refgcc -m64 -O -fomit-frame-pointer2017020120170105
31876refgcc -O -fomit-frame-pointer2017020120170105
31952refgcc -march=barcelona -O -fomit-frame-pointer2017020120170105
31960refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
31988refgcc -march=k8 -O -fomit-frame-pointer2017020120170105
31992refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
31996refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
31996refgcc -march=nocona -O -fomit-frame-pointer2017020120170105
32032refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020120170105
32032refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020120170105
32036refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020120170105
32036refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020120170105
32052refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020120170105
32052refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020120170105
53596inplacegcc -funroll-loops2017020120170105
53684inplacegcc2017020120170105
59096refgcc2017020120170105
59128refgcc -funroll-loops2017020120170105
65268inplacecc2017020120170105
72616refcc2017020120170105

Compiler output

Implementation: crypto_hashblocks/sha256/dolbeau/amd64-sha
Compiler: cc
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/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: 5, namely:
CompilerImplementations
cc dolbeau/amd64-sha
clang -O3 -fomit-frame-pointer -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: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
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: DO16ROUNDS(i0, i1, i2, i3, c0, c1, c2, c3);
blocks.c: ^
blocks.c: blocks.c:129:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: x1 = _mm_sha256rnds2_epu32(s1, s0, h0); \
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: blocks.c:131:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: x0 = _mm_sha256rnds2_epu32(s0, x1, h0); \
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: blocks.c:134:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: s1 = _mm_sha256rnds2_epu32(x1, x0, h1); \
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: blocks.c:136:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: s0 = _mm_sha256rnds2_epu32(x0, s1, h1); \
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: blocks.c:139:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: x1 = _mm_sha256rnds2_epu32(s1, s0, h0); \
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: blocks.c:141:8: note: expanded from macro 'DO16ROUNDS'
blocks.c: x0 = _mm_sha256rnds2_epu32(s0, x1, h0); \
blocks.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
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

Compiler output

Implementation: crypto_hashblocks/sha256/dolbeau/amd64-sha
Compiler: gcc
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d0 = _mm_shuffle_epi8(d0, vperm);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc dolbeau/amd64-sha
gcc -funroll-loops 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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d0 = _mm_alignr_epi8(d0, d1, 0x08);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: ...

Number of similar (compiler,implementation) pairs: 68, 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=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=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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d0 = _mm_alignr_epi8(d0, d1, 0x08);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d1 = _mm_shuffle_epi8(d1, vperm);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: ...
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d0 = _mm_alignr_epi8(d0, d1, 0x08);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: 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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:37:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: note: called from here
blocks.c: d1 = _mm_blend_epi16(d1, s0, 0xf0);
blocks.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blocks.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:71:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: ...

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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:71:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:71:0,
blocks.c: from blocks.c:37:
blocks.c: ...

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core2 -msse4.1 -O3 -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 -O3 -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 -O3 -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
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 -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