| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 112186 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 112200 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 112314 | ref | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 112772 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 113054 | ref | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 113518 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 113718 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 113792 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 113806 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 113920 | ref | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 114156 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 114342 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 114384 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 114546 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 114816 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 115056 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 115120 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 115130 | ref | gcc -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 115156 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 115190 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 115222 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 115230 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 115362 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 116976 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 117274 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 117840 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 118392 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 118400 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 118454 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 118476 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 118552 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 118580 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 118734 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 118812 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 118842 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 119506 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 121484 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 121582 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 121606 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 121662 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 121664 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 121716 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 121720 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20161216 | 20161026 |
| 121814 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 122922 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 123590 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 123626 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 123650 | ref | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 123714 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 123752 | ref | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 123788 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 124652 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 124772 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 124800 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 124828 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 124844 | ref | gcc -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 124980 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 125060 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 125132 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 125276 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 125942 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 126078 | ref | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 127292 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 129570 | ref | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 129632 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20161216 | 20161026 |
| 129634 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 129682 | ref | gcc -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 129712 | ref | gcc -O -fomit-frame-pointer | 20161216 | 20161026 |
| 129740 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 130276 | ref | clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 130430 | ref | clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 131380 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 131550 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 131698 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 132122 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 135688 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 135740 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 135744 | ref | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20161216 | 20161026 |
| 135748 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 135802 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 135960 | ref | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20161216 | 20161026 |
| 136606 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 136998 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 137552 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 137784 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 137822 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 137942 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 138936 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 139488 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 139562 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 139608 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 139642 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 139654 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 139656 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 139754 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 140162 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 140350 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 140742 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 140942 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141190 | ref | gcc -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141240 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141296 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141308 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141318 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141422 | ref | gcc -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141424 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141644 | ref | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141794 | ref | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141802 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 141914 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 142040 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 142054 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 143596 | ref | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 143660 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 194330 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 194388 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 197836 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 198454 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 392036 | ref | gcc | 20161216 | 20161026 |
| 392880 | ref | gcc -funroll-loops | 20161216 | 20161026 |
| 394162 | 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
|