| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 203150 | ref | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 203198 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 203246 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 205438 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 205954 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 206004 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 206344 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 210776 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 210870 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 211086 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 213062 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 214304 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 231084 | ref | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 231442 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 231734 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 231968 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 232640 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 232666 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 233850 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 234010 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 234350 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 234588 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 234630 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 235020 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 235416 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 235980 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 236172 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 236470 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 236544 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 237148 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 237202 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 237286 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 237306 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 237440 | ref | gcc -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 238098 | ref | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 241256 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 267728 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 267830 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 268362 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 270180 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 283652 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 283932 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20161216 | 20161026 |
| 286254 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 286966 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 287966 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 297424 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 299060 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 327398 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 329688 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 329984 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 333738 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 334966 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 336212 | ref | clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 336398 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 341698 | ref | clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 721440 | ref | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 721926 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 722950 | ref | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 734692 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 736890 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 736968 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 737414 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 737518 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 737716 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 738174 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 739320 | ref | gcc -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 739516 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 741108 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 763000 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 763348 | ref | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 764762 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 968462 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 972266 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1154550 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1155614 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1164494 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1166360 | ref | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1166924 | ref | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1167128 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1167360 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1167466 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1168262 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1168988 | ref | gcc -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1169006 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1169522 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1170280 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1170874 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1172594 | ref | gcc -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1173594 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1173654 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1173874 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1174146 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1174764 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1176826 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1190456 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1191106 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1209324 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1210830 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 1212506 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1213412 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1214286 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1215000 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1216158 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1216922 | ref | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1217690 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1219128 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1219176 | ref | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1220094 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1221722 | ref | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1221892 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1224170 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1225958 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 1226438 | ref | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1227090 | ref | gcc -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1232480 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1236116 | ref | gcc -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1876320 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1878644 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 5070262 | ref | gcc -funroll-loops | 20161216 | 20161026 |
| 5070916 | ref | gcc | 20161216 | 20161026 |
| 5118372 | ref | cc | 20161216 | 20161026 |
| Compiler | Implementations
|
| cc | ref |
| gcc | ref |
| gcc -O2 -fomit-frame-pointer | ref |
| gcc -O3 -fomit-frame-pointer | ref |
| gcc -O -fomit-frame-pointer | ref |
| gcc -Os -fomit-frame-pointer | ref |
| gcc -fno-schedule-insns -O2 -fomit-frame-pointer | ref |
| gcc -fno-schedule-insns -O3 -fomit-frame-pointer | ref |
| gcc -fno-schedule-insns -O -fomit-frame-pointer | ref |
| gcc -fno-schedule-insns -Os -fomit-frame-pointer | ref |
| gcc -funroll-loops | ref |
| gcc -funroll-loops -O2 -fomit-frame-pointer | ref |
| gcc -funroll-loops -O3 -fomit-frame-pointer | ref |
| gcc -funroll-loops -O -fomit-frame-pointer | ref |
| gcc -funroll-loops -Os -fomit-frame-pointer | ref |
| gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | ref |
| gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | ref |
| gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | ref |
| gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -O -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -Os -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | ref |
| gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | ref |
| gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | ref |
| gcc -m64 -O2 -fomit-frame-pointer | ref |
| gcc -m64 -O3 -fomit-frame-pointer | ref |
| gcc -m64 -O -fomit-frame-pointer | ref |
| gcc -m64 -Os -fomit-frame-pointer | ref |
| gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | ref |
| gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | ref |
| gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | ref |
| gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | ref |
| gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | ref |
| gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | ref |
| gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | ref |
| gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -O2 -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -O3 -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -O -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -Os -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | ref |
| gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | ref |
| gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | ref |
| gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | ref |
| gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | ref |
| gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | ref |
| gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | ref |
| gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | ref |
| gcc -m64 -march=corei7 -O -fomit-frame-pointer | ref |
| gcc -m64 -march=corei7 -Os -fomit-frame-pointer | ref |
| gcc -m64 -march=k8 -O2 -fomit-frame-pointer | ref |
| gcc -m64 -march=k8 -O3 -fomit-frame-pointer | ref |
| gcc -m64 -march=k8 -O -fomit-frame-pointer | ref |
| gcc -m64 -march=k8 -Os -fomit-frame-pointer | ref |
| gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | ref |
| gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | ref |
| gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | ref |
| gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | ref |
| gcc -m64 -march=nocona -O2 -fomit-frame-pointer | ref |
| gcc -m64 -march=nocona -O3 -fomit-frame-pointer | ref |
| gcc -m64 -march=nocona -O -fomit-frame-pointer | ref |
| gcc -m64 -march=nocona -Os -fomit-frame-pointer | ref |
| gcc -march=barcelona -O2 -fomit-frame-pointer | ref |
| gcc -march=barcelona -O3 -fomit-frame-pointer | ref |
| gcc -march=barcelona -O -fomit-frame-pointer | ref |
| gcc -march=barcelona -Os -fomit-frame-pointer | ref |
| gcc -march=k8 -O2 -fomit-frame-pointer | ref |
| gcc -march=k8 -O3 -fomit-frame-pointer | ref |
| gcc -march=k8 -O -fomit-frame-pointer | ref |
| gcc -march=k8 -Os -fomit-frame-pointer | ref |
| gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | ref |
| gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | ref |
| gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | ref |
| gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | ref |
| gcc -march=nocona -O2 -fomit-frame-pointer | ref |
| gcc -march=nocona -O3 -fomit-frame-pointer | ref |
| gcc -march=nocona -O -fomit-frame-pointer | ref |
| gcc -march=nocona -Os -fomit-frame-pointer | ref
|