Implementation notes: amd64, cryptothinkx, crypto_hashblocks/sha256

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_hashblocks
Primitive: sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
15063refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2017013020170105
16032refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017013020170105
16371inplacegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017013020170105
16392inplacegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017013020170105
16422refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017013020170105
16434refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2017013020170105
16962inplacegcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2017013020170105
17349refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017013020170105
17421inplacegcc -m64 -march=core-avx2 -O -fomit-frame-pointer2017013020170105
17427inplacegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017013020170105
17496inplacegcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2017013020170105
17538inplacegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017013020170105
17601refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017013020170105
17619inplaceclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017013020170105
18135inplacegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017013020170105
18558refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2017013020170105
18579refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017013020170105
18732refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
18792inplaceclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
18873inplacegcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2017013020170105
18987refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017013020170105
19386refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017013020170105
19512inplacegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017013020170105
19556inplacegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017013020170105
19617refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017013020170105
19938refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017013020170105
20046inplacegcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017013020170105
20103inplacegcc -m64 -march=corei7 -Os -fomit-frame-pointer2017013020170105
20130inplacegcc -m64 -march=k8 -Os -fomit-frame-pointer2017013020170105
20133inplacegcc -m64 -march=barcelona -Os -fomit-frame-pointer2017013020170105
20139inplacegcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017013020170105
20172inplacegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2017013020170105
20271refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017013020170105
20406refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017013020170105
20409inplacegcc -fno-schedule-insns -O3 -fomit-frame-pointer2017013020170105
20409refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017013020170105
20490inplacegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017013020170105
20499inplacegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017013020170105
20499inplacegcc -march=barcelona -O2 -fomit-frame-pointer2017013020170105
20505inplacegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017013020170105
20508refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017013020170105
20511refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017013020170105
20586inplacegcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017013020170105
20589refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017013020170105
20589refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017013020170105
20592inplacegcc -m64 -march=nocona -O3 -fomit-frame-pointer2017013020170105
20655inplacegcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017013020170105
20703refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017013020170105
20748inplacegcc -m64 -Os -fomit-frame-pointer2017013020170105
20766refgcc -O2 -fomit-frame-pointer2017013020170105
20766refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017013020170105
20787inplacegcc -m64 -march=core2 -Os -fomit-frame-pointer2017013020170105
20793inplacegcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017013020170105
20793refgcc -march=barcelona -O3 -fomit-frame-pointer2017013020170105
20820refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017013020170105
20838refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017013020170105
20838refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2017013020170105
20841refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017013020170105
20847inplacegcc -march=barcelona -Os -fomit-frame-pointer2017013020170105
20850refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017013020170105
20865refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017013020170105
20877inplacegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017013020170105
20910inplacegcc -march=nocona -Os -fomit-frame-pointer2017013020170105
20934inplacegcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017013020170105
20979refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017013020170105
20979refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017013020170105
20982refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2017013020170105
21018refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017013020170105
21024inplacegcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017013020170105
21024inplacegcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017013020170105
21027inplacegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017013020170105
21027refgcc -march=barcelona -O2 -fomit-frame-pointer2017013020170105
21036refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017013020170105
21036inplacegcc -m64 -march=core2 -O3 -fomit-frame-pointer2017013020170105
21093refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017013020170105
21141inplacegcc -march=barcelona -O3 -fomit-frame-pointer2017013020170105
21147refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2017013020170105
21147refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2017013020170105
21147refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017013020170105
21150inplacegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017013020170105
21165inplacegcc -m64 -O2 -fomit-frame-pointer2017013020170105
21168refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017013020170105
21180refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017013020170105
21186refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017013020170105
21213refgcc -march=k8 -Os -fomit-frame-pointer2017013020170105
21219refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017013020170105
21219inplacegcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017013020170105
21225refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017013020170105
21240refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017013020170105
21243inplacegcc -m64 -march=corei7 -O -fomit-frame-pointer2017013020170105
21258refgcc -Os -fomit-frame-pointer2017013020170105
21270refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017013020170105
21282inplacegcc -m64 -march=barcelona -O -fomit-frame-pointer2017013020170105
21294inplacegcc -funroll-loops -O -fomit-frame-pointer2017013020170105
21315inplacegcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017013020170105
21318inplacegcc -funroll-loops -O3 -fomit-frame-pointer2017013020170105
21369refgcc -funroll-loops -O3 -fomit-frame-pointer2017013020170105
21396inplacegcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017013020170105
21429refgcc -m64 -O2 -fomit-frame-pointer2017013020170105
21456inplacegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017013020170105
21459inplacegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017013020170105
21459inplacegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017013020170105
21462inplacegcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017013020170105
21471inplacegcc -m64 -march=barcelona -Os -fomit-frame-pointer2017013020170105
21492refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017013020170105
21498refgcc -march=k8 -O3 -fomit-frame-pointer2017013020170105
21516refgcc -funroll-loops -Os -fomit-frame-pointer2017013020170105
21534refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2017013020170105
21570inplacegcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017013020170105
21621inplacegcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017013020170105
21624inplacegcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017013020170105
21639refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017013020170105
21645refgcc -m64 -O -fomit-frame-pointer2017013020170105
21651refgcc -m64 -march=k8 -O -fomit-frame-pointer2017013020170105
21705inplacegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017013020170105
21714refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017013020170105
21717inplacegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017013020170105
21723refgcc -funroll-loops -O2 -fomit-frame-pointer2017013020170105
21732inplacegcc -m64 -O3 -fomit-frame-pointer2017013020170105
21771refgcc -m64 -O3 -fomit-frame-pointer2017013020170105
21774refgcc -O3 -fomit-frame-pointer2017013020170105
21786refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2017013020170105
21789refgcc -funroll-loops -O -fomit-frame-pointer2017013020170105
21798inplacegcc -m64 -march=k8 -O3 -fomit-frame-pointer2017013020170105
21822inplacegcc -m64 -march=core2 -O2 -fomit-frame-pointer2017013020170105
21828refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017013020170105
21834refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2017013020170105
21852inplacegcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017013020170105
21858inplacegcc -O2 -fomit-frame-pointer2017013020170105
21861refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017013020170105
21861refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017013020170105
21864inplacegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017013020170105
21867inplacegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017013020170105
21888inplacegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2017013020170105
21894refgcc -march=barcelona -Os -fomit-frame-pointer2017013020170105
21897refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017013020170105
21903inplacegcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017013020170105
21912refgcc -march=nocona -Os -fomit-frame-pointer2017013020170105
21927refgcc -m64 -Os -fomit-frame-pointer2017013020170105
21948inplacegcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017013020170105
21951inplacegcc -march=barcelona -O -fomit-frame-pointer2017013020170105
21954inplacegcc -m64 -march=k8 -O2 -fomit-frame-pointer2017013020170105
21972refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017013020170105
21981inplacegcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017013020170105
22008refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017013020170105
22104refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017013020170105
22143inplacegcc -fno-schedule-insns -Os -fomit-frame-pointer2017013020170105
22143inplacegcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017013020170105
22146inplacegcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017013020170105
22164inplacegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017013020170105
22167inplacegcc -Os -fomit-frame-pointer2017013020170105
22185inplacegcc -march=k8 -Os -fomit-frame-pointer2017013020170105
22200refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017013020170105
22215refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017013020170105
22230refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017013020170105
22239inplaceclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2017013020170105
22242refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017013020170105
22251inplaceclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017013020170105
22257inplacegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2017013020170105
22275inplacegcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017013020170105
22311refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017013020170105
22311refgcc -march=nocona -O3 -fomit-frame-pointer2017013020170105
22317refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017013020170105
22347inplacegcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017013020170105
22347inplacegcc -march=nocona -O2 -fomit-frame-pointer2017013020170105
22353inplacegcc -m64 -march=nocona -Os -fomit-frame-pointer2017013020170105
22362inplacegcc -m64 -march=nocona -O2 -fomit-frame-pointer2017013020170105
22380inplacegcc -funroll-loops -m64 -Os -fomit-frame-pointer2017013020170105
22383refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017013020170105
22395refgcc -m64 -march=core2 -O -fomit-frame-pointer2017013020170105
22416refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2017013020170105
22416refgcc -m64 -march=nocona -O -fomit-frame-pointer2017013020170105
22431refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017013020170105
22434refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017013020170105
22443inplacegcc -march=k8 -O -fomit-frame-pointer2017013020170105
22446inplacegcc -O3 -fomit-frame-pointer2017013020170105
22449inplacegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2017013020170105
22449inplacegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2017013020170105
22464refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017013020170105
22470refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017013020170105
22473refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017013020170105
22518inplacegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2017013020170105
22524inplacegcc -O -fomit-frame-pointer2017013020170105
22569inplacegcc -march=nocona -O -fomit-frame-pointer2017013020170105
22596inplacegcc -fno-schedule-insns -O2 -fomit-frame-pointer2017013020170105
22596inplacegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2017013020170105
22602inplacegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017013020170105
22605refgcc -march=k8 -O2 -fomit-frame-pointer2017013020170105
22608inplacegcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017013020170105
22608refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017013020170105
22611inplacegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017013020170105
22614inplacegcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017013020170105
22620inplacegcc -funroll-loops -O2 -fomit-frame-pointer2017013020170105
22665refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017013020170105
22665refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017013020170105
22665inplacegcc -m64 -march=nocona -O -fomit-frame-pointer2017013020170105
22686inplacegcc -march=k8 -O2 -fomit-frame-pointer2017013020170105
22848refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017013020170105
22848refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017013020170105
22908refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017013020170105
22944inplaceclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
22962inplaceclang -O3 -fomit-frame-pointer -Qunused-arguments2017013020170105
22983refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017013020170105
22986inplaceclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
22992inplaceclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
23007refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017013020170105
23055refgcc -fno-schedule-insns -O -fomit-frame-pointer2017013020170105
23088refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
23112refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2017013020170105
23112refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017013020170105
23118refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017013020170105
23130refclang -O3 -fomit-frame-pointer -Qunused-arguments2017013020170105
23130refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
23139inplacegcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017013020170105
23151refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017013020170105
23160inplacegcc -funroll-loops -Os -fomit-frame-pointer2017013020170105
23190inplacegcc -m64 -march=k8 -O -fomit-frame-pointer2017013020170105
23214inplacegcc -fno-schedule-insns -O -fomit-frame-pointer2017013020170105
23258inplacegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017013020170105
23295inplacegcc -march=k8 -O3 -fomit-frame-pointer2017013020170105
23325inplacegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017013020170105
23331inplacegcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017013020170105
23355inplacegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2017013020170105
23424inplacegcc -m64 -march=barcelona -O -fomit-frame-pointer2017013020170105
23463refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017013020170105
23631refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017013020170105
23862refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2017013020170105
23955refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017013020170105
24108refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017013020170105
24153inplacegcc -m64 -march=core2 -O -fomit-frame-pointer2017013020170105
24351inplacegcc -march=nocona -O3 -fomit-frame-pointer2017013020170105
24468inplaceclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017013020170105
24588refgcc -march=barcelona -O -fomit-frame-pointer2017013020170105
24630refgcc -O -fomit-frame-pointer2017013020170105
25240inplacegcc -funroll-loops -m64 -O -fomit-frame-pointer2017013020170105
25317inplaceclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2017013020170105
25326refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017013020170105
25506refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013020170105
25527refgcc -march=k8 -O -fomit-frame-pointer2017013020170105
25560refgcc -march=nocona -O -fomit-frame-pointer2017013020170105
25572refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2017013020170105
26780refgcc -march=nocona -O2 -fomit-frame-pointer2017013020170105
34899inplacegcc -m64 -O -fomit-frame-pointer2017013020170105
35525refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017013020170105
38790inplacecc2017013020170105
38865inplacegcc2017013020170105
41613refgcc -funroll-loops2017013020170105
41625refgcc2017013020170105
42921inplacegcc -funroll-loops2017013020170105
43017refcc2017013020170105

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: ...
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:205:5: error: called from here
blocks.c: d0 = _mm_shuffle_epi8(d0, vperm);
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: ...
blocks.c: blocks.c:178:3: error: always_inline function '_mm_sha256msg2_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:159:8: note: expanded from macro 'DO16EXPANDS'
blocks.c: j0 = _mm_sha256msg2_epu32(j0, i3); ^
blocks.c: blocks.c:178:3: error: always_inline function '_mm_sha256msg1_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:161:8: note: expanded from macro 'DO16EXPANDS'
blocks.c: j1 = _mm_sha256msg1_epu32(i1, i2); ^
blocks.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
blocks.c: 20 errors generated.

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: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:180: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:180: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: fatal error: too many errors emitted, stopping now [-ferror-limit=]
blocks.c: 20 errors generated.

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-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: ...
blocks.c: d1 = _mm_blend_epi16(s0, d1, 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:202:5: error: called from here
blocks.c: d0 = _mm_alignr_epi8(d1, d0, 0x08);
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-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: ...
blocks.c: d1 = _mm_blend_epi16(s0, d1, 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:202:5: error: called from here
blocks.c: d0 = _mm_alignr_epi8(d1, d0, 0x08);
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: ...
blocks.c: d1 = _mm_blend_epi16(s0, d1, 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:202:5: error: called from here
blocks.c: d0 = _mm_alignr_epi8(d1, d0, 0x08);
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-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: ...
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: blocks.c:188:3: note: in expansion of macro ‘DO16ROUNDS’
blocks.c: DO16ROUNDS(j0, j1, j2, j3, cc, cd, ce, cf);
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-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: ...
blocks.c: d1 = _mm_blend_epi16(s0, d1, 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:203:5: error: called from here
blocks.c: d1 = _mm_blend_epi16(s0, d1, 0xf0);
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