| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 7106 | opt | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 7118 | opt | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 7134 | opt | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 7138 | opt | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 7192 | opt | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 7220 | opt | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 7236 | opt | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 7242 | opt | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 7248 | opt | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20161216 | 20161026 |
| 7248 | opt | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 7248 | opt | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 7248 | opt | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20161216 | 20161026 |
| 7250 | opt | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 7260 | opt | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20161216 | 20161026 |
| 7278 | opt | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 7316 | opt | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 7330 | opt | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 7378 | opt | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 7382 | opt | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 7432 | opt | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 746412 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 748934 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 749674 | ref | clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 751364 | ref | clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 752052 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 752286 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 755290 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 761594 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 762680 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 764750 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 945962 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 948380 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 952200 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 953954 | ref | gcc -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 978894 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 981676 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 983446 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 984300 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 988082 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 988468 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 994342 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 994742 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 999634 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1003052 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1007994 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1088976 | ref | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1099914 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1100350 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1103002 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1103088 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1103280 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1111174 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1111800 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1112998 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 1114374 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1122240 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1122488 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1122584 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1122626 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1132056 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1132738 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1146650 | ref | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1146738 | ref | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1149684 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1149902 | ref | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1150814 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1151604 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1153742 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 1157238 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1157440 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1158660 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1160882 | ref | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1164868 | ref | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1168642 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1208054 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1209086 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1209398 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1209862 | ref | gcc -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1210698 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1212296 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1212440 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1212748 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1231846 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1232410 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 1950288 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1950712 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1951100 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1953138 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1954194 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1960020 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1963772 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1964358 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1967268 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1976122 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1983542 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1985976 | ref | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1989524 | ref | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1990646 | ref | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 1994900 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 1997414 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2002318 | ref | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2007294 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2011084 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2014226 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2027374 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2030606 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2041788 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2080554 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2082174 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2084052 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2087426 | ref | gcc -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2088594 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2091360 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2094738 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2096348 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2097016 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2104434 | ref | gcc -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2106662 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2108136 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2110210 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2110656 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2112736 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2113750 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2118394 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2121578 | ref | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2125452 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 2131504 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2133786 | ref | gcc -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2135986 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2139264 | ref | gcc -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2142302 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2228872 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 2237022 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2246968 | ref | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2306180 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2312364 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 2408836 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 2410624 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 4275142 | ref | cc | 20161216 | 20161026 |
| 4285658 | ref | gcc -funroll-loops | 20161216 | 20161026 |
| 4327702 | 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
|