| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
|---|---|---|---|---|
| 57912 | aesni | g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141014 | 20141014 |
| 59204 | aesni | clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20141014 | 20141014 |
| 59212 | aesni | clang++ -O3 -fwrapv -march=native -fomit-frame-pointer | 20141014 | 20141014 |
| 62880 | aesni | g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 63212 | aesni | g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 71716 | aesni | g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 5273524 | ref | clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20141014 | 20141014 |
| 5275300 | ref | clang++ -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 5277716 | ref | clang++ -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20141014 | 20141014 |
| 5284188 | 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 |
| 5285892 | ref | clang++ -O3 -fwrapv -march=native -fomit-frame-pointer | 20141014 | 20141014 |
| 5287684 | ref | clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20141014 | 20141014 |
| 5293768 | ref | clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141014 | 20141014 |
| 6652088 | ref | g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6727908 | ref | g++ -m64 -march=core2 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6730896 | ref | g++ -m64 -march=corei7 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6731100 | ref | g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6734252 | ref | g++ -march=barcelona -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6735484 | ref | g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6737652 | ref | g++ -m64 -march=barcelona -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6741376 | ref | g++ -fno-schedule-insns -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6744568 | ref | g++ -m64 -march=k8 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6746452 | ref | g++ -m64 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6754236 | ref | g++ -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6755808 | ref | g++ -march=k8 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 6755904 | ref | g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 8050128 | ref | g++ -march=nocona -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 8055864 | ref | g++ -m64 -march=nocona -O3 -fomit-frame-pointer | 20141014 | 20141014 |
| 8521808 | ref | g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 9128192 | ref | g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20141014 | 20141014 |
| 11297188 | ref | g++ -march=barcelona -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11337368 | ref | g++ -march=k8 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11357588 | ref | g++ -m64 -march=k8 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11433016 | ref | g++ -m64 -march=barcelona -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11487368 | ref | g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11498880 | ref | g++ -fno-schedule-insns -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11505692 | ref | g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11510908 | ref | g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11511136 | ref | g++ -m64 -march=core2 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11512276 | ref | g++ -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11525784 | ref | g++ -m64 -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 11526112 | ref | g++ -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 12122340 | ref | g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12124496 | ref | g++ -fno-schedule-insns -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12124628 | ref | g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12124704 | ref | g++ -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12125648 | ref | g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12126100 | ref | g++ -m64 -march=corei7 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12127608 | ref | g++ -m64 -march=core2 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12135068 | ref | g++ -m64 -march=k8 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12139744 | ref | g++ -march=k8 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12174348 | ref | g++ -m64 -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12205176 | ref | g++ -m64 -march=barcelona -O -fomit-frame-pointer | 20141014 | 20141014 |
| 12205956 | ref | g++ -march=barcelona -O -fomit-frame-pointer | 20141014 | 20141014 |
| 18768720 | ref | g++ -march=k8 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18768916 | ref | g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18769896 | ref | g++ -m64 -march=barcelona -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18771468 | ref | g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18771616 | ref | g++ -m64 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18772876 | ref | g++ -fno-schedule-insns -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18772900 | ref | g++ -m64 -march=corei7 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18773208 | ref | g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18774788 | ref | g++ -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18783780 | ref | g++ -m64 -march=core2 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18787736 | ref | g++ -m64 -march=k8 -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18788592 | ref | g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18792320 | ref | g++ -march=barcelona -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18794240 | ref | g++ -march=nocona -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 18809888 | ref | g++ -m64 -march=nocona -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 18819292 | ref | g++ -march=nocona -O2 -fomit-frame-pointer | 20141014 | 20141014 |
| 18924148 | ref | g++ -m64 -march=nocona -Os -fomit-frame-pointer | 20141014 | 20141014 |
| 19430768 | ref | g++ -m64 -march=nocona -O -fomit-frame-pointer | 20141014 | 20141014 |
| 19434792 | ref | g++ -march=nocona -O -fomit-frame-pointer | 20141014 | 20141014 |
| 46433208 | ref | g++ | 20141014 | 20141014 |
| Compiler | Implementations |
| clang++ -O3 -fomit-frame-pointer | aesni |
| Compiler | Implementations |
| clang++ -O3 -fomit-frame-pointer | opt-win-aes |
| Compiler | Implementations |
| clang++ -O3 -fomit-frame-pointer | ref |
| clang++ -O3 -fwrapv -march=native -fomit-frame-pointer | aesni ref |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -march=native -fomit-frame-pointer | opt-win-aes |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | opt-win-aes |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | aesni ref |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | aesni |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | opt-win-aes |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | ref |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | aesni |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | opt-win-aes |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | ref |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer | aesni |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer | opt-win-aes |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer | ref |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | aesni |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | opt-win-aes |
| Compiler | Implementations |
| clang++ -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | ref |
| Compiler | Implementations |
| g++ | opt-win-aes |
| g++ -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -O -fomit-frame-pointer | opt-win-aes |
| g++ -Os -fomit-frame-pointer | opt-win-aes |
| g++ -fno-schedule-insns -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -fno-schedule-insns -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -fno-schedule-insns -O -fomit-frame-pointer | opt-win-aes |
| g++ -fno-schedule-insns -Os -fomit-frame-pointer | opt-win-aes |
| g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | opt-win-aes |
| g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -O -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -Os -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -O -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -Os -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=corei7 -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=corei7 -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=corei7 -O -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=corei7 -Os -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=k8 -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=k8 -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=k8 -O -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=k8 -Os -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=nocona -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=nocona -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=nocona -O -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=nocona -Os -fomit-frame-pointer | opt-win-aes |
| g++ -march=barcelona -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -march=barcelona -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -march=barcelona -O -fomit-frame-pointer | opt-win-aes |
| g++ -march=barcelona -Os -fomit-frame-pointer | opt-win-aes |
| g++ -march=k8 -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -march=k8 -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -march=k8 -O -fomit-frame-pointer | opt-win-aes |
| g++ -march=k8 -Os -fomit-frame-pointer | opt-win-aes |
| g++ -march=nocona -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -march=nocona -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -march=nocona -O -fomit-frame-pointer | opt-win-aes |
| g++ -march=nocona -Os -fomit-frame-pointer | opt-win-aes |
| Compiler | Implementations |
| g++ | aesni |
| g++ -O2 -fomit-frame-pointer | aesni |
| g++ -O3 -fomit-frame-pointer | aesni |
| g++ -O -fomit-frame-pointer | aesni |
| g++ -Os -fomit-frame-pointer | aesni |
| g++ -fno-schedule-insns -O2 -fomit-frame-pointer | aesni |
| g++ -fno-schedule-insns -O3 -fomit-frame-pointer | aesni |
| g++ -fno-schedule-insns -O -fomit-frame-pointer | aesni |
| g++ -fno-schedule-insns -Os -fomit-frame-pointer | aesni |
| g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | aesni |
| g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | aesni |
| g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | aesni |
| g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | aesni |
| g++ -m64 -O2 -fomit-frame-pointer | aesni |
| g++ -m64 -O3 -fomit-frame-pointer | aesni |
| g++ -m64 -O -fomit-frame-pointer | aesni |
| g++ -m64 -Os -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -O2 -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -O3 -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -O -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -Os -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer | aesni |
| g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | aesni |
| g++ -m64 -march=corei7 -O2 -fomit-frame-pointer | aesni |
| g++ -m64 -march=corei7 -O3 -fomit-frame-pointer | aesni |
| g++ -m64 -march=corei7 -O -fomit-frame-pointer | aesni |
| g++ -m64 -march=corei7 -Os -fomit-frame-pointer | aesni |
| g++ -m64 -march=k8 -O2 -fomit-frame-pointer | aesni |
| g++ -m64 -march=k8 -O3 -fomit-frame-pointer | aesni |
| g++ -m64 -march=k8 -O -fomit-frame-pointer | aesni |
| g++ -m64 -march=k8 -Os -fomit-frame-pointer | aesni |
| g++ -m64 -march=nocona -O2 -fomit-frame-pointer | aesni |
| g++ -m64 -march=nocona -O3 -fomit-frame-pointer | aesni |
| g++ -m64 -march=nocona -O -fomit-frame-pointer | aesni |
| g++ -m64 -march=nocona -Os -fomit-frame-pointer | aesni |
| g++ -march=barcelona -O2 -fomit-frame-pointer | aesni |
| g++ -march=barcelona -O3 -fomit-frame-pointer | aesni |
| g++ -march=barcelona -O -fomit-frame-pointer | aesni |
| g++ -march=barcelona -Os -fomit-frame-pointer | aesni |
| g++ -march=k8 -O2 -fomit-frame-pointer | aesni |
| g++ -march=k8 -O3 -fomit-frame-pointer | aesni |
| g++ -march=k8 -O -fomit-frame-pointer | aesni |
| g++ -march=k8 -Os -fomit-frame-pointer | aesni |
| g++ -march=nocona -O2 -fomit-frame-pointer | aesni |
| g++ -march=nocona -O3 -fomit-frame-pointer | aesni |
| g++ -march=nocona -O -fomit-frame-pointer | aesni |
| g++ -march=nocona -Os -fomit-frame-pointer | aesni |
| Compiler | Implementations |
| g++ -m64 -march=barcelona -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=barcelona -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=barcelona -O -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=barcelona -Os -fomit-frame-pointer | opt-win-aes |
| Compiler | Implementations |
| g++ -m64 -march=barcelona -O2 -fomit-frame-pointer | aesni |
| g++ -m64 -march=barcelona -O3 -fomit-frame-pointer | aesni |
| g++ -m64 -march=barcelona -O -fomit-frame-pointer | aesni |
| g++ -m64 -march=barcelona -Os -fomit-frame-pointer | aesni |
| Compiler | Implementations |
| g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer | opt-win-aes |
| g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer | opt-win-aes |