Implementation notes: amd64, skylake, crypto_hashblocks/sha256

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_hashblocks
Primitive: sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
17666refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121520161026
17680refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121520161026
17706refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121520161026
17752inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121520161026
17756inplacegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121520161026
17810inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121520161026
17812inplacegcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121520161026
17816refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121520161026
17818refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121520161026
17822inplacegcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121520161026
17824inplacegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121520161026
17862refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121520161026
19566inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121520161026
19598inplacegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121520161026
19618inplacegcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121520161026
19716inplacegcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121520161026
19720refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121520161026
19720inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121520161026
19728inplacegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121520161026
19744refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121520161026
19756refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121520161026
19768refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121520161026
19774refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121520161026
19804refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121520161026
20060refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121520161026
20080refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
20164inplaceclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121520161026
20186inplaceclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
22492inplacegcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121520161026
22512inplacegcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
22872refgcc -funroll-loops -O2 -fomit-frame-pointer2016121520161026
22886refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121520161026
22900refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
22958refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121520161026
22998inplacegcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121520161026
23014inplacegcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
23060refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121520161026
23078refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
23090refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121520161026
23100refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121520161026
23104refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
23110refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
23174refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121520161026
23192inplacegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
23192inplacegcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121520161026
23248refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
23270refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
23274refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121520161026
23286refgcc -funroll-loops -O3 -fomit-frame-pointer2016121520161026
23300inplacegcc -funroll-loops -O2 -fomit-frame-pointer2016121520161026
23308inplacegcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
23312refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
23322inplacegcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121520161026
23324inplacegcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121520161026
23332inplacegcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
23332refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121520161026
23346refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
23420refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121520161026
23426refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
23430inplacegcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121520161026
23444inplacegcc -funroll-loops -O3 -fomit-frame-pointer2016121520161026
23464inplacegcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121520161026
23480inplacegcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
23498refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121520161026
23498refgcc -march=barcelona -Os -fomit-frame-pointer2016121520161026
23506refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
23508inplacegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121520161026
23510refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121520161026
23518refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121520161026
23518refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121520161026
23526inplacegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121520161026
23564refgcc -march=k8 -Os -fomit-frame-pointer2016121520161026
23568refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
23570refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
23572refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
23578refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121520161026
23584refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
23586refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121520161026
23598refgcc -Os -fomit-frame-pointer2016121520161026
23618inplacegcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
23618inplacegcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121520161026
23618refgcc -m64 -Os -fomit-frame-pointer2016121520161026
23630refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121520161026
23648inplacegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
23648refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
23654inplacegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121520161026
23674refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121520161026
23682refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
23688refgcc -march=nocona -Os -fomit-frame-pointer2016121520161026
23694refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121520161026
23696inplacegcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121520161026
23700inplacegcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121520161026
23702inplacegcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
23704refgcc -funroll-loops -Os -fomit-frame-pointer2016121520161026
23706inplacegcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121520161026
23708inplacegcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
23720inplacegcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
23744inplacegcc -m64 -Os -fomit-frame-pointer2016121520161026
23752inplacegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121520161026
23756inplacegcc -funroll-loops -Os -fomit-frame-pointer2016121520161026
23758inplacegcc -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
23760inplacegcc -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
23762inplacegcc -march=k8 -Os -fomit-frame-pointer2016121520161026
23766inplacegcc -Os -fomit-frame-pointer2016121520161026
23782inplacegcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121520161026
23800inplacegcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
23804inplacegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121520161026
23838inplacegcc -march=barcelona -Os -fomit-frame-pointer2016121520161026
23858inplacegcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
23878inplacegcc -march=nocona -Os -fomit-frame-pointer2016121520161026
23888inplacegcc -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
24024inplacegcc -m64 -march=core2 -Os -fomit-frame-pointer2016121520161026
24260refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121520161026
24262refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121520161026
24276refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121520161026
24280refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121520161026
24344refgcc -m64 -O3 -fomit-frame-pointer2016121520161026
24348refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
24350refgcc -O3 -fomit-frame-pointer2016121520161026
24356refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121520161026
24360refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121520161026
24510refgcc -march=nocona -O2 -fomit-frame-pointer2016121520161026
24536refgcc -O2 -fomit-frame-pointer2016121520161026
24538refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
24538refgcc -m64 -O2 -fomit-frame-pointer2016121520161026
24548refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121520161026
24552refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121520161026
24552refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121520161026
24554refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121520161026
24558inplacegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
24564inplacegcc -march=barcelona -O3 -fomit-frame-pointer2016121520161026
24574refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
24580refgcc -march=k8 -O2 -fomit-frame-pointer2016121520161026
24588refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
24602refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121520161026
24606refgcc -march=barcelona -O3 -fomit-frame-pointer2016121520161026
24608refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121520161026
24612refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
24620refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
24640refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
24642refgcc -march=k8 -O3 -fomit-frame-pointer2016121520161026
24654refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
24654refgcc -march=barcelona -O2 -fomit-frame-pointer2016121520161026
24656refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
24666inplacegcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
24710refgcc -march=nocona -O3 -fomit-frame-pointer2016121520161026
24716inplacegcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121520161026
24720inplacegcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
24744refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121520161026
24762refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121520161026
24766inplacegcc -march=k8 -O3 -fomit-frame-pointer2016121520161026
24782refgcc -funroll-loops -O -fomit-frame-pointer2016121520161026
24782refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121520161026
24790refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121520161026
24794refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
24804inplacegcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
24834inplacegcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121520161026
24836inplacegcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
24844refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
24848inplacegcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121520161026
24866inplacegcc -march=nocona -O2 -fomit-frame-pointer2016121520161026
24870inplacegcc -O3 -fomit-frame-pointer2016121520161026
24870inplacegcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
24870inplacegcc -m64 -O3 -fomit-frame-pointer2016121520161026
24882inplacegcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
24902inplacegcc -funroll-loops -O -fomit-frame-pointer2016121520161026
24980inplacegcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
24980inplacegcc -march=nocona -O3 -fomit-frame-pointer2016121520161026
24988inplacegcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
25004inplacegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121520161026
25022inplacegcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121520161026
25046refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
25066inplacegcc -funroll-loops -m64 -O -fomit-frame-pointer2016121520161026
25088inplacegcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
25090inplacegcc -O2 -fomit-frame-pointer2016121520161026
25096inplacegcc -m64 -O2 -fomit-frame-pointer2016121520161026
25144inplacegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121520161026
25162inplacegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121520161026
25164inplacegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121520161026
25166inplacegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121520161026
25176inplacegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121520161026
25178inplacegcc -march=barcelona -O2 -fomit-frame-pointer2016121520161026
25182inplacegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121520161026
25204inplacegcc -march=k8 -O2 -fomit-frame-pointer2016121520161026
25206inplacegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121520161026
25206inplacegcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
25292inplacegcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121520161026
25316inplacegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121520161026
25326inplacegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121520161026
25328inplacegcc -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
25424inplacegcc -march=k8 -O -fomit-frame-pointer2016121520161026
25434inplacegcc -march=nocona -O -fomit-frame-pointer2016121520161026
25482refgcc -march=barcelona -O -fomit-frame-pointer2016121520161026
25484refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
25614inplacegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
25800refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121520161026
25816refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121520161026
25832refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121520161026
25886refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121520161026
25898inplacegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121520161026
25900inplacegcc -m64 -march=corei7 -O -fomit-frame-pointer2016121520161026
25902inplacegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121520161026
25908inplacegcc -m64 -O -fomit-frame-pointer2016121520161026
25918inplacegcc -O -fomit-frame-pointer2016121520161026
25918inplacegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121520161026
25918refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
25926inplacegcc -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
25964refgcc -m64 -O -fomit-frame-pointer2016121520161026
25968refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121520161026
25976refgcc -O -fomit-frame-pointer2016121520161026
25990refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
26018inplacegcc -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
26038refgcc -march=k8 -O -fomit-frame-pointer2016121520161026
26054refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121520161026
26054refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
26066refgcc -march=nocona -O -fomit-frame-pointer2016121520161026
26166inplacegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121520161026
26208inplacegcc -m64 -march=core2 -O -fomit-frame-pointer2016121520161026
26704inplacegcc -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
26766inplacegcc -march=barcelona -O -fomit-frame-pointer2016121520161026
26918inplaceclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
26926inplaceclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121520161026
26926inplaceclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
26952inplaceclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
26968inplaceclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
27000inplaceclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121520161026
27004inplaceclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
27022refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
27024refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
27028refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121520161026
27028refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
27030inplaceclang -O3 -fomit-frame-pointer -Qunused-arguments2016121520161026
27036refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121520161026
27036refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
27054refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
27068refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121520161026
38102inplacecc2016121520161026
38122inplacegcc -funroll-loops2016121520161026
38182inplacegcc2016121520161026
46086refgcc2016121520161026
46150refgcc -funroll-loops2016121520161026
46444refcc2016121520161026

Compiler output

Implementation: crypto_hashblocks/sha256/dolbeau/amd64-sha
Compiler: cc
blocks.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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: 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/bin/../lib/clang/3.9.0/include/tmmintrin.h:161: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: 4, namely:
CompilerImplementations
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: 6, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-sha
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-sha
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-sha
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments dolbeau/amd64-sha
clang -O3 -fwrapv -mavx -maes -mpclmul -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 -O2 -fomit-frame-pointer
blocks.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:35:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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=core-avx-i -O2 -fomit-frame-pointer
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: from blocks.c:37:
blocks.c: ...

Number of similar (compiler,implementation) pairs: 32, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer dolbeau/amd64-sha
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-avx -O2 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer dolbeau/amd64-sha
gcc -m64 -march=corei7-avx -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

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-pc-linux-gnu/6.2.1/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-pc-linux-gnu/6.2.1/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/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:37:0,
blocks.c: from blocks.c:37:
blocks.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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/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: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