| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 356364 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170204 | 20170105 |
| 359368 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 359700 | vperm | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 359980 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 360520 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 361836 | vperm | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 361868 | vperm | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 362264 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 362756 | vperm | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 362784 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 362824 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 362864 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 363456 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 363496 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 363552 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 364344 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 364348 | vperm | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 364368 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 364396 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 364576 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 364672 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 364812 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 365084 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 365100 | vperm | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 365156 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 365352 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8531276 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8533452 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8594788 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8594992 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8605452 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8605568 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8605748 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8607816 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8608464 | ref | gcc -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8608892 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8611284 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8613652 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8622544 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8629480 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8630008 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8631212 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8635424 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8642464 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8642728 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8646568 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 8764636 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8771304 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8782332 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8783400 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 10009092 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 10010748 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 10689796 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 10690916 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 10691436 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 10713868 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 13642148 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13683512 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13690520 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13692336 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13698448 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13707912 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13710720 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13739952 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13745588 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 15447084 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15460996 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15488808 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15806112 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15809916 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15810328 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 16089760 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 16404320 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 16442240 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 17461176 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17462752 | ref | gcc -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17465228 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17468260 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17470820 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17568580 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17569824 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17579748 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17673808 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17677792 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17678148 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17692916 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17706196 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 17953804 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 18203352 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 19035172 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19047684 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19091112 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19148492 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19151340 | ref | gcc -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19235672 | ref | gcc -m64 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19242800 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19243232 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19245952 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19251200 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19431920 | ref | gcc -m64 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 19500856 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20170204 | 20170105 |
| 19573728 | ref | gcc -O -fomit-frame-pointer | 20170204 | 20170105 |
| 19731504 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19736156 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 19872252 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19978976 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 20127536 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 20160456 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 20644964 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 20845536 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 20871952 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 20884092 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 21232388 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 21382488 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 21713184 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 21720236 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 21722244 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 21733164 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 21749488 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 21749708 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 21773704 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 21902704 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 21939844 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 21945480 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 21959928 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 21967504 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 22011248 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170204 | 20170105 |
| 58917480 | ref | gcc | 20170204 | 20170105 |
| 59395008 | ref | gcc -funroll-loops | 20170204 | 20170105 |
| 67868752 | ref | cc | 20170204 | 20170105 |
| Compiler | Implementations
|
| gcc | vperm |
| gcc -O2 -fomit-frame-pointer | vperm |
| gcc -O3 -fomit-frame-pointer | vperm |
| gcc -O -fomit-frame-pointer | vperm |
| gcc -Os -fomit-frame-pointer | vperm |
| gcc -fno-schedule-insns -O2 -fomit-frame-pointer | vperm |
| gcc -fno-schedule-insns -O3 -fomit-frame-pointer | vperm |
| gcc -fno-schedule-insns -O -fomit-frame-pointer | vperm |
| gcc -fno-schedule-insns -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops | vperm |
| gcc -funroll-loops -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | vperm |
| gcc -m64 -O2 -fomit-frame-pointer | vperm |
| gcc -m64 -O3 -fomit-frame-pointer | vperm |
| gcc -m64 -O -fomit-frame-pointer | vperm |
| gcc -m64 -Os -fomit-frame-pointer | vperm |
| gcc -m64 -march=k8 -O2 -fomit-frame-pointer | vperm |
| gcc -m64 -march=k8 -O3 -fomit-frame-pointer | vperm |
| gcc -m64 -march=k8 -O -fomit-frame-pointer | vperm |
| gcc -m64 -march=k8 -Os -fomit-frame-pointer | vperm |
| gcc -m64 -march=nocona -O2 -fomit-frame-pointer | vperm |
| gcc -m64 -march=nocona -O3 -fomit-frame-pointer | vperm |
| gcc -m64 -march=nocona -O -fomit-frame-pointer | vperm |
| gcc -m64 -march=nocona -Os -fomit-frame-pointer | vperm |
| gcc -march=barcelona -O2 -fomit-frame-pointer | vperm |
| gcc -march=barcelona -O3 -fomit-frame-pointer | vperm |
| gcc -march=barcelona -O -fomit-frame-pointer | vperm |
| gcc -march=barcelona -Os -fomit-frame-pointer | vperm |
| gcc -march=k8 -O2 -fomit-frame-pointer | vperm |
| gcc -march=k8 -O3 -fomit-frame-pointer | vperm |
| gcc -march=k8 -O -fomit-frame-pointer | vperm |
| gcc -march=k8 -Os -fomit-frame-pointer | vperm |
| gcc -march=nocona -O2 -fomit-frame-pointer | vperm |
| gcc -march=nocona -O3 -fomit-frame-pointer | vperm |
| gcc -march=nocona -O -fomit-frame-pointer | vperm |
| gcc -march=nocona -Os -fomit-frame-pointer | vperm
|