| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 106698 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 107070 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 107260 | ref | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 107318 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 107906 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 108426 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 108616 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 108626 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 108766 | ref | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 109004 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 109156 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 109252 | ref | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 110030 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 110112 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 110194 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 110600 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 110772 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 110854 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 110930 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 110932 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 110948 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 111214 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 111266 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 111304 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 111396 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 111478 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 111714 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 111744 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 111918 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 111932 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 112082 | ref | gcc -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 112618 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 112626 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 113268 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 113346 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 113362 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 114168 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 114230 | ref | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 114314 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 114576 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 114776 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 114798 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 114828 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 114898 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 114922 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 115064 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 115168 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 115216 | ref | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 115430 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 115528 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 115586 | ref | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 116034 | ref | gcc -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 116114 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 116266 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 116356 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20161216 | 20161026 |
| 116364 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 116430 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 116504 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 116578 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 116948 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 117650 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 118020 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 119180 | ref | gcc -O -fomit-frame-pointer | 20161216 | 20161026 |
| 119470 | ref | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 119824 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 119890 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20161216 | 20161026 |
| 120264 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 120558 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 120604 | ref | gcc -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 123656 | ref | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20161216 | 20161026 |
| 123764 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 123918 | ref | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20161216 | 20161026 |
| 124342 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 124396 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 124424 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 124492 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 124492 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 124590 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 124876 | ref | clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 125010 | ref | clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 125964 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 126352 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 126382 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 126808 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 127172 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 127576 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 127664 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 127796 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 127906 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 128008 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 128262 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 128652 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 128674 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 128764 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129158 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129474 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129496 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129540 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129586 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129656 | ref | gcc -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129740 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129824 | ref | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129880 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129890 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 129924 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 130012 | ref | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 130138 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 130202 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 130314 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 130472 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 130484 | ref | gcc -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 130536 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 132262 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 132278 | ref | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 187036 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 189876 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 191462 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 194308 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 344684 | ref | cc | 20161216 | 20161026 |
| 344774 | ref | gcc | 20161216 | 20161026 |
| 346748 | ref | gcc -funroll-loops | 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
|