| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 7764 | opt | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 7772 | opt | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 7776 | opt | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 7906 | opt | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 7908 | opt | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20161216 | 20161026 |
| 7912 | opt | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 7916 | opt | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20161216 | 20161026 |
| 7916 | opt | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 7918 | opt | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 7920 | opt | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 7924 | opt | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 7926 | opt | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 7928 | opt | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20161216 | 20161026 |
| 7932 | opt | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 7934 | opt | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 8028 | opt | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 8080 | opt | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 8096 | opt | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 8236 | opt | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 8258 | opt | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1044154 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 1046374 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 1048162 | ref | clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 1049984 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 1050686 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 1052762 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 1064964 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 1065062 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 1068392 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 1077716 | ref | clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 1261370 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1262722 | ref | gcc -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1263584 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1264202 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1297836 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1297986 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1298046 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1315054 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1325684 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1326136 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1336340 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1430270 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1432738 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1436640 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1445054 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1527172 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 1529906 | ref | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1546506 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1606908 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1609292 | ref | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1617852 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1620528 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1644272 | ref | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1663412 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1663986 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1664522 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1666598 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1687484 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1688428 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1688450 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1688460 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1689152 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1689450 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1691566 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1700378 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1700530 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1878924 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1879796 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1888282 | ref | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1888348 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1889900 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1890126 | ref | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1890610 | ref | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1891474 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 1998512 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1999024 | ref | gcc -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1999060 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1999146 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1999210 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1999370 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1999630 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 2004238 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 2039512 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 2039896 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 2755248 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2757574 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2826500 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2850586 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2865730 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2878686 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3042472 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3046298 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3051090 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3068074 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3084150 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3088924 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3092946 | ref | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3095294 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3118344 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3127350 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3128058 | ref | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3163874 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3163944 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3172004 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3173846 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3177168 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3188088 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3189258 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3191186 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3208724 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3208742 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3223054 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3277800 | ref | gcc -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3302024 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3312168 | ref | gcc -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3476176 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 3485038 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 3494626 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3496884 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3498786 | ref | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3501498 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3501550 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3506090 | ref | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3515988 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3528656 | ref | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3556648 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3558106 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3558974 | ref | gcc -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3562004 | ref | gcc -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3563332 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3565156 | ref | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3567182 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3571392 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3572148 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3573266 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3576152 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 3698156 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 3724058 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 7109596 | ref | gcc -funroll-loops | 20161216 | 20161026 |
| 7127062 | ref | cc | 20161216 | 20161026 |
| 7135938 | ref | gcc | 20161216 | 20161026 |
| Compiler | Implementations
|
| cc | opt |
| gcc | opt |
| gcc -O2 -fomit-frame-pointer | opt |
| gcc -O3 -fomit-frame-pointer | opt |
| gcc -O -fomit-frame-pointer | opt |
| gcc -Os -fomit-frame-pointer | opt |
| gcc -fno-schedule-insns -O2 -fomit-frame-pointer | opt |
| gcc -fno-schedule-insns -O3 -fomit-frame-pointer | opt |
| gcc -fno-schedule-insns -O -fomit-frame-pointer | opt |
| gcc -fno-schedule-insns -Os -fomit-frame-pointer | opt |
| gcc -funroll-loops | opt |
| gcc -funroll-loops -O2 -fomit-frame-pointer | opt |
| gcc -funroll-loops -O3 -fomit-frame-pointer | opt |
| gcc -funroll-loops -O -fomit-frame-pointer | opt |
| gcc -funroll-loops -Os -fomit-frame-pointer | opt |
| gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | opt |
| gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | opt |
| gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | opt |
| gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -O -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -Os -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | opt |
| gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | opt |
| gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | opt |
| gcc -m64 -O2 -fomit-frame-pointer | opt |
| gcc -m64 -O3 -fomit-frame-pointer | opt |
| gcc -m64 -O -fomit-frame-pointer | opt |
| gcc -m64 -Os -fomit-frame-pointer | opt |
| gcc -m64 -march=k8 -O2 -fomit-frame-pointer | opt |
| gcc -m64 -march=k8 -O3 -fomit-frame-pointer | opt |
| gcc -m64 -march=k8 -O -fomit-frame-pointer | opt |
| gcc -m64 -march=k8 -Os -fomit-frame-pointer | opt |
| gcc -m64 -march=nocona -O2 -fomit-frame-pointer | opt |
| gcc -m64 -march=nocona -O3 -fomit-frame-pointer | opt |
| gcc -m64 -march=nocona -O -fomit-frame-pointer | opt |
| gcc -m64 -march=nocona -Os -fomit-frame-pointer | opt |
| gcc -march=barcelona -O2 -fomit-frame-pointer | opt |
| gcc -march=barcelona -O3 -fomit-frame-pointer | opt |
| gcc -march=barcelona -O -fomit-frame-pointer | opt |
| gcc -march=barcelona -Os -fomit-frame-pointer | opt |
| gcc -march=k8 -O2 -fomit-frame-pointer | opt |
| gcc -march=k8 -O3 -fomit-frame-pointer | opt |
| gcc -march=k8 -O -fomit-frame-pointer | opt |
| gcc -march=k8 -Os -fomit-frame-pointer | opt |
| gcc -march=nocona -O2 -fomit-frame-pointer | opt |
| gcc -march=nocona -O3 -fomit-frame-pointer | opt |
| gcc -march=nocona -O -fomit-frame-pointer | opt |
| gcc -march=nocona -Os -fomit-frame-pointer | opt
|