| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 1889884 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1890292 | ref | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1934252 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1935202 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1969526 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 1973956 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2001852 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2009548 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2013976 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2015362 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2017450 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2018844 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2024194 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2025070 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2025082 | ref | gcc -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2025192 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2026328 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2027556 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2027604 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2033474 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2035308 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2104562 | ref | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2105412 | ref | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2106486 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2271672 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 2285028 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 2294488 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 2297208 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 2343122 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 2344662 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 2469946 | ref | clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 2477762 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 2477980 | ref | clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 2483722 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20161216 | 20161026 |
| 2694948 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20161216 | 20161026 |
| 3453728 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20161216 | 20161026 |
| 10565474 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 10565904 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 10566068 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 10571706 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 10572874 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 10576914 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 10576996 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 10587640 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 10588002 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 13984642 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 13985358 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 14117058 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 14129694 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 14742374 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 14960886 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 14979742 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 14983048 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 14983826 | ref | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 14984658 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 14985046 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 14985704 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 14996534 | ref | gcc -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 14998078 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 15008790 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 15036858 | ref | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 15043800 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 15053166 | ref | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 15055324 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 15060862 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20161216 | 20161026 |
| 15063174 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 15067804 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 15073364 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 15081966 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 15107690 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 15149900 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20161216 | 20161026 |
| 15425570 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15442722 | ref | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15516768 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15516794 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15516804 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15516896 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15532786 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15536198 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15537272 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15540916 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15540932 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15545770 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15552220 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15553672 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15553730 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15555994 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15655834 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15738984 | ref | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15782758 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15790646 | ref | gcc -m64 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15815004 | ref | gcc -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15818748 | ref | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15825754 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15827944 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15832732 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 15843510 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20161216 | 20161026 |
| 16880426 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 17156604 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 17335298 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17338876 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17365600 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17366112 | ref | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17451256 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17452852 | ref | gcc -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17453012 | ref | gcc -m64 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17456478 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17456940 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17469914 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17473444 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 17476748 | ref | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17476776 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17476894 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17477152 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17477192 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17478684 | ref | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17481760 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20161216 | 20161026 |
| 17804004 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20161216 | 20161026 |
| 68106688 | ref | gcc -funroll-loops | 20161216 | 20161026 |
| 68142038 | ref | gcc | 20161216 | 20161026 |
| 68154554 | 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
|