Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
114418048 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180903 | 20180818 |
114461632 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180903 | 20180818 |
114482880 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180903 | 20180818 |
114593504 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
114817696 | ref | clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
114917376 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
115379264 | ref | clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
115535328 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
115788640 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
115830816 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180903 | 20180818 |
120650848 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20180903 | 20180818 |
121078784 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
121245408 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20180903 | 20180818 |
121757664 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
122127936 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
122355552 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
122463776 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
123564832 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
123855328 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
124365760 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20180903 | 20180818 |
124484704 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20180903 | 20180818 |
124610304 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
124644384 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
124722016 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
124723136 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
124736576 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20180903 | 20180818 |
124789472 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
124818080 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
124827712 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20180903 | 20180818 |
124841088 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
124862848 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
124874944 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20180903 | 20180818 |
124888992 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
124925408 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
125067840 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20180903 | 20180818 |
125195488 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
125222080 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
125222816 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20180903 | 20180818 |
125612032 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
125960000 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
126055712 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
126084992 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20180903 | 20180818 |
126101600 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
126144672 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20180903 | 20180818 |
126208000 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20180903 | 20180818 |
126290880 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20180903 | 20180818 |
126310496 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20180903 | 20180818 |
126385312 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
126428000 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20180903 | 20180818 |
126505344 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20180903 | 20180818 |
126540896 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
126700544 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
126768736 | ref | gcc -O3 -fomit-frame-pointer | 20180903 | 20180818 |
126966784 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
126992704 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
127655904 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20180903 | 20180818 |
127728608 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20180903 | 20180818 |
128622688 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20180903 | 20180818 |
128768288 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20180903 | 20180818 |
128788032 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20180903 | 20180818 |
129550528 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20180903 | 20180818 |
129697728 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20180903 | 20180818 |
129822496 | ref | gcc -m64 -O -fomit-frame-pointer | 20180903 | 20180818 |
130022176 | ref | gcc -O -fomit-frame-pointer | 20180903 | 20180818 |
130076128 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20180903 | 20180818 |
130113856 | ref | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20180903 | 20180818 |
130179296 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
130179936 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20180903 | 20180818 |
130359392 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20180903 | 20180818 |
130447776 | ref | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20180903 | 20180818 |
130567520 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
130596352 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
130620480 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20180903 | 20180818 |
130658880 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
130764896 | ref | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20180903 | 20180818 |
130937152 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
131022048 | ref | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
131034144 | ref | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20180903 | 20180818 |
131060160 | ref | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20180903 | 20180818 |
131087072 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20180903 | 20180818 |
131206304 | ref | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
131414848 | ref | gcc -O2 -fomit-frame-pointer | 20180903 | 20180818 |
131677792 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
131940672 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
132147872 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
132181248 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
132250720 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
132323776 | ref | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20180903 | 20180818 |
132556576 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
132973376 | ref | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20180903 | 20180818 |
139611008 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20180903 | 20180818 |
141914432 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
142598592 | ref | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20180903 | 20180818 |
143503776 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20180903 | 20180818 |
143549504 | ref | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20180903 | 20180818 |
143925504 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20180903 | 20180818 |
144214560 | ref | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20180903 | 20180818 |
144763520 | ref | gcc -Os -fomit-frame-pointer | 20180903 | 20180818 |
144801728 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20180903 | 20180818 |
144806144 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20180903 | 20180818 |
144807072 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20180903 | 20180818 |
144829504 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20180903 | 20180818 |
144942432 | ref | gcc -m64 -Os -fomit-frame-pointer | 20180903 | 20180818 |
145010912 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20180903 | 20180818 |
145020512 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20180903 | 20180818 |
145117824 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20180903 | 20180818 |
145510912 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20180903 | 20180818 |
145560672 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20180903 | 20180818 |
147383072 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20180903 | 20180818 |
147620544 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20180903 | 20180818 |
147705280 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20180903 | 20180818 |
147789280 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20180903 | 20180818 |
147827328 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20180903 | 20180818 |
147925376 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20180903 | 20180818 |
148380288 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20180903 | 20180818 |
148743616 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20180903 | 20180818 |
148901184 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20180903 | 20180818 |
162598208 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20180903 | 20180818 |
191228032 | ref | gcc -funroll-loops | 20180903 | 20180818 |
191793408 | ref | cc | 20180903 | 20180818 |
191869536 | ref | gcc | 20180903 | 20180818 |
197967136 | avx2 | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
198185760 | avx2 | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180903 | 20180818 |
198283008 | avx2 | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
198400416 | avx2 | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
232228832 | avx2 | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20180903 | 20180818 |
236667040 | avx2 | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
236961888 | avx2 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20180903 | 20180818 |
237175616 | avx2 | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
237725376 | avx2 | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20180903 | 20180818 |
240962784 | avx2 | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
241527040 | avx2 | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
242743968 | avx2 | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20180903 | 20180818 |
250847200 | avx2 | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
263181184 | avx2 | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20180903 | 20180818 |
264589728 | avx2 | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
264936512 | avx2 | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20180903 | 20180818 |
Compiler | Implementations
|
gcc -O2 -fomit-frame-pointer | avx2 |
gcc -O3 -fomit-frame-pointer | avx2 |
gcc -O -fomit-frame-pointer | avx2 |
gcc -Os -fomit-frame-pointer | avx2 |
gcc -fno-schedule-insns -O2 -fomit-frame-pointer | avx2 |
gcc -fno-schedule-insns -O3 -fomit-frame-pointer | avx2 |
gcc -fno-schedule-insns -O -fomit-frame-pointer | avx2 |
gcc -fno-schedule-insns -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | avx2 |
gcc -m64 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -O -fomit-frame-pointer | avx2 |
gcc -m64 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=corei7 -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=corei7 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=k8 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=k8 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=k8 -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=k8 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=nocona -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=nocona -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=nocona -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=nocona -Os -fomit-frame-pointer | avx2 |
gcc -march=barcelona -O2 -fomit-frame-pointer | avx2 |
gcc -march=barcelona -O3 -fomit-frame-pointer | avx2 |
gcc -march=barcelona -O -fomit-frame-pointer | avx2 |
gcc -march=barcelona -Os -fomit-frame-pointer | avx2 |
gcc -march=k8 -O2 -fomit-frame-pointer | avx2 |
gcc -march=k8 -O3 -fomit-frame-pointer | avx2 |
gcc -march=k8 -O -fomit-frame-pointer | avx2 |
gcc -march=k8 -Os -fomit-frame-pointer | avx2 |
gcc -march=nocona -O2 -fomit-frame-pointer | avx2 |
gcc -march=nocona -O3 -fomit-frame-pointer | avx2 |
gcc -march=nocona -O -fomit-frame-pointer | avx2 |
gcc -march=nocona -Os -fomit-frame-pointer | avx2
|