| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 570020 | vperm | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 573408 | vperm | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 712352 | vperm | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 713564 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 713644 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 713664 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 714820 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 714824 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 940500 | vperm | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 940568 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 940756 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 940764 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 940928 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 941328 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 1314316 | vperm | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 1314384 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170204 | 20170105 |
| 1314388 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 1314404 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 1314412 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 1314456 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 2023276 | vperm | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 2023404 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 2023520 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 2023552 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 2023584 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 2023612 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 32808768 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 32809180 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 32810128 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 32812040 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 32816884 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 32817796 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 36193028 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 36193180 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 36289952 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 36290604 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 36351948 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 36352240 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 36352412 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 36876156 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 36876176 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 36878360 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 36918400 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 36957552 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20170204 | 20170105 |
| 36957988 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 36958084 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20170204 | 20170105 |
| 38619708 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 38696164 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 38744316 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 38791880 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 38792288 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 38805096 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 38827072 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20170204 | 20170105 |
| 38827544 | ref | gcc -m64 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 38831488 | ref | gcc -O -fomit-frame-pointer | 20170204 | 20170105 |
| 38873260 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 38952092 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 38968572 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 38968792 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 38969268 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170204 | 20170105 |
| 38972712 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 38994628 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 39004128 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 39004708 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 39060600 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 39063376 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 39152084 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 39152144 | ref | gcc -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 39163148 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 39240596 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 39240640 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 39240700 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 40542696 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 40543060 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 40543608 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 40543800 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 40546508 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 40586812 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 40587436 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41242896 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41242896 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41242924 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41631660 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41631944 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41663192 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41667136 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41669324 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 41724688 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41730848 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41730884 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41731044 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 41731400 | ref | gcc -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 42401768 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 42402288 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 42641580 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 42643164 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 45148624 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 45176348 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 45430124 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45432968 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45434300 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45488272 | ref | gcc -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45617064 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 45637704 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45647340 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45654636 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45674020 | ref | gcc -m64 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45677348 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45766764 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45924616 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 45974140 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46294728 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46300480 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46371188 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46425144 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46429716 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46472508 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46578296 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46602632 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46729476 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46799368 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 46931092 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 47802088 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 47916120 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 48159824 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 48160124 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 48593036 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 48595160 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 121394096 | ref | gcc | 20170204 | 20170105 |
| 121397712 | ref | gcc -funroll-loops | 20170204 | 20170105 |
| 214156796 | 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
|