| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 272365944 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 272398984 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 272511312 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 272545780 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 272667432 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 277531248 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 281944580 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 282302596 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 282354328 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20170206 | 20170105 |
| 282604584 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 282632936 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 283912916 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 283978960 | ref | gcc -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 284019244 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 284094160 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 284156264 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 285144372 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 285204000 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 285593360 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 285678108 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 286392876 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 286559488 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 287701288 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 287797672 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 390469864 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 390898084 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 391193920 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20170206 | 20170105 |
| 391325588 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 391618536 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20170205 | 20170105 |
| 391961012 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 391971072 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 392210240 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 392328220 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 392389880 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20170206 | 20170105 |
| 392620440 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 392878364 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 393325000 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 393461904 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 395097516 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170206 | 20170105 |
| 395309020 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 395678200 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 395937516 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 395966628 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 396056456 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 413213440 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 413711560 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 414000712 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 417411224 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20170206 | 20170105 |
| 462367120 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 463113928 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 474035576 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 478322968 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 479609224 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 479650408 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 480207288 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 481010072 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 481605104 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 481880068 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 489877708 | ref | gcc -O -fomit-frame-pointer | 20170205 | 20170105 |
| 490333032 | ref | gcc -m64 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 490366780 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20170206 | 20170105 |
| 491576124 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 491647064 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170205 | 20170105 |
| 491920296 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 492652468 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 492821796 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 494789788 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 501129848 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 501175492 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 501188656 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 501605536 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 501662384 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 501685324 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 502050664 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 502326548 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 502425928 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 503202388 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 503300904 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 504470656 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 506260764 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20170206 | 20170105 |
| 506407576 | ref | gcc -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 506473780 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 511069288 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 511283424 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20170206 | 20170105 |
| 511293508 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 511294488 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 511315504 | ref | gcc -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 511959500 | ref | gcc -m64 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 512034396 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 520326856 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 521283204 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 522056380 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 523171384 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 524324544 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 525118264 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 525361340 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 525511316 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20170206 | 20170105 |
| 525824316 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 528459628 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 529211744 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 529257936 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 529554124 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 3211049280 | ref | gcc | 20170205 | 20170105 |
| 3211249312 | ref | gcc -funroll-loops | 20170205 | 20170105 |
| 3284941148 | ref | cc | 20170206 | 20170105 |
| Compiler | Implementations
|
| cc | avx2 |
| clang -O3 -fomit-frame-pointer -Qunused-arguments | avx2 |
| clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | avx2 |
| clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | avx2 |
| clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | avx2 |
| clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | avx2 |
| clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | avx2 |
| gcc | avx2 |
| gcc -O2 -fomit-frame-pointer | avx2 |
| gcc -O3 -fomit-frame-pointer | avx2 |
| gcc -O -fomit-frame-pointer | avx2 |
| gcc -Os -fomit-frame-pointer | avx2 |
| gcc -fno-schedule-insns -O2 -fomit-frame-pointer | avx2 |
| gcc -fno-schedule-insns -O3 -fomit-frame-pointer | avx2 |
| gcc -fno-schedule-insns -O -fomit-frame-pointer | avx2 |
| gcc -fno-schedule-insns -Os -fomit-frame-pointer | avx2 |
| gcc -funroll-loops | avx2 |
| gcc -funroll-loops -O2 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -O3 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -O -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -Os -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -O -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -Os -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | avx2 |
| gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | avx2 |
| gcc -m64 -O2 -fomit-frame-pointer | avx2 |
| gcc -m64 -O3 -fomit-frame-pointer | avx2 |
| gcc -m64 -O -fomit-frame-pointer | avx2 |
| gcc -m64 -Os -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -O2 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -O3 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -O -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -Os -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | avx2 |
| gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | avx2 |
| gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=corei7 -O -fomit-frame-pointer | avx2 |
| gcc -m64 -march=corei7 -Os -fomit-frame-pointer | avx2 |
| gcc -m64 -march=k8 -O2 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=k8 -O3 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=k8 -O -fomit-frame-pointer | avx2 |
| gcc -m64 -march=k8 -Os -fomit-frame-pointer | avx2 |
| gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | avx2 |
| gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | avx2 |
| gcc -m64 -march=nocona -O2 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=nocona -O3 -fomit-frame-pointer | avx2 |
| gcc -m64 -march=nocona -O -fomit-frame-pointer | avx2 |
| gcc -m64 -march=nocona -Os -fomit-frame-pointer | avx2 |
| gcc -march=barcelona -O2 -fomit-frame-pointer | avx2 |
| gcc -march=barcelona -O3 -fomit-frame-pointer | avx2 |
| gcc -march=barcelona -O -fomit-frame-pointer | avx2 |
| gcc -march=barcelona -Os -fomit-frame-pointer | avx2 |
| gcc -march=k8 -O2 -fomit-frame-pointer | avx2 |
| gcc -march=k8 -O3 -fomit-frame-pointer | avx2 |
| gcc -march=k8 -O -fomit-frame-pointer | avx2 |
| gcc -march=k8 -Os -fomit-frame-pointer | avx2 |
| gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | avx2 |
| gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | avx2 |
| gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | avx2 |
| gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | avx2 |
| gcc -march=nocona -O2 -fomit-frame-pointer | avx2 |
| gcc -march=nocona -O3 -fomit-frame-pointer | avx2 |
| gcc -march=nocona -O -fomit-frame-pointer | avx2 |
| gcc -march=nocona -Os -fomit-frame-pointer | avx2
|