| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 270376 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 271156 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 271840 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 272132 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 272352 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 273196 | vperm | clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20141014 | 20141014 |
| 273444 | vperm | clang -O3 -fwrapv -march=native -fomit-frame-pointer | 20141014 | 20141014 |
| 275168 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 275200 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 275428 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 275480 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 275636 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 275676 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 275704 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 275796 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 276008 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 276172 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 276632 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 276644 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 276656 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141014 | 20141014 |
| 276972 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 277016 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 4179520 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4179764 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4180780 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4181000 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4181864 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4200524 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4200996 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4223764 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4224284 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4226768 | ref | gcc -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4226840 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4228556 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4229268 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4229344 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4229376 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4246520 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4247584 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4249304 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4250380 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4336376 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4336828 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4361888 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 4367884 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20140606 | 20140525 |
| 6631368 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6631456 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6649880 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6650540 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6658724 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6673920 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6677200 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6713148 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 6713512 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 7224632 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20140722 | 20140622 |
| 7225704 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer | 20140722 | 20140622 |
| 7233716 | ref | clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140722 | 20140622 |
| 7238152 | ref | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140722 | 20140622 |
| 7241832 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141014 | 20141014 |
| 7242688 | 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 |
| 7252216 | ref | clang -O3 -fomit-frame-pointer | 20140722 | 20140622 |
| 7313460 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7313816 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7319824 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7323252 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7508884 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7512948 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7513032 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7515652 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 7515736 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9610840 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9613808 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9673008 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9675212 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9708040 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9710696 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9873360 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9874304 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9876708 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9882728 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9887084 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9916344 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9917584 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9928540 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9929200 | ref | gcc -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9929568 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 9987780 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 9988128 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20140606 | 20140525 |
| 10008636 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 10008864 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20140606 | 20140525 |
| 10082328 | ref | gcc -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10082604 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10082696 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10083036 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10083384 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10084688 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10085480 | ref | gcc -m64 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10146100 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10165048 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10165480 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10168732 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10168984 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10169344 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10222172 | ref | gcc -m64 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 10222284 | ref | gcc -O -fomit-frame-pointer | 20140606 | 20140525 |
| 10222528 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 10223204 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20140606 | 20140525 |
| 10225940 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 10269524 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10269776 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10270572 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10270608 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10270664 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10271060 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10272916 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10324548 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10371396 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 10371516 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20140606 | 20140525 |
| 10371712 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20140606 | 20140525 |
| 10630040 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 10714756 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20140606 | 20140525 |
| 32371732 | ref | gcc | 20140606 | 20140525 |
| 32379232 | ref | cc | 20140606 | 20140525 |
| 32388056 | 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
|