| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 272460 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 272564 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 272848 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141014 | 20141014 |
| 273932 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 273964 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 274028 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 274148 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 274152 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 274192 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 274200 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 274204 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 274268 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 274560 | vperm | clang -O3 -fwrapv -march=native -fomit-frame-pointer | 20141014 | 20141014 |
| 274760 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 274764 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 274780 | vperm | clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20141014 | 20141014 |
| 275832 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 276308 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 276408 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 276792 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 276888 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 277216 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 4181156 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4181724 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4183596 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4194980 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4211472 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4213908 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4223132 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4223248 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4223892 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4224012 | ref | gcc -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4226516 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4227092 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4227196 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4229940 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4232348 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4252700 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4253596 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4255384 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4256088 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4343240 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4345952 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4438772 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4441936 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 6651716 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6651728 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6651796 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6659900 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6660168 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6674952 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6675028 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 7011384 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 7166976 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 7222760 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer | 20140722 | 20140622 |
| 7223244 | ref | clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140722 | 20140622 |
| 7242416 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20140722 | 20140622 |
| 7243476 | ref | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140722 | 20140622 |
| 7244512 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20141014 | 20141014 |
| 7245352 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141014 | 20141014 |
| 7246988 | ref | clang -O3 -fomit-frame-pointer | 20140722 | 20140622 |
| 7307992 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7308696 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7311088 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7311632 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7312492 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7314844 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7385368 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7513588 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7514460 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9546532 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9546800 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9546816 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9549320 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9549580 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9561180 | ref | gcc -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9561600 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9562228 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9609220 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9612296 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9661160 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9710268 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9712700 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9800784 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9914024 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9915008 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9915032 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9915056 | ref | gcc -m64 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9915216 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9916200 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9916392 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9917072 | ref | gcc -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9918628 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9926360 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9985264 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9990136 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 10267420 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10268608 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10269640 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10269788 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10270288 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10271996 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10311888 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10311900 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10312492 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10312972 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10313164 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10324544 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10329552 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10340828 | ref | gcc -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10345584 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10345908 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10346772 | ref | gcc -m64 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10346820 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10347256 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10349036 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10362200 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10362224 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10667712 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 12365336 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 12365356 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 32213472 | ref | cc | 20140606 | 20140525 |
| 32227528 | ref | gcc | 20140606 | 20140525 |
| 32228780 | ref | gcc -funroll-loops | 20140606 | 20140525 |
| Compiler | Implementations
|
| cc | vperm |
| 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
|