Implementation notes: amd64, skylake, crypto_stream/xsalsa20

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_stream
Primitive: xsalsa20
TimeImplementationCompilerBenchmark dateSUPERCOP version
2502refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
2504refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121520161026
2504refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
2504refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
2504refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
2504refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121520161026
2504refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121520161026
2504refgcc -march=k8 -O2 -fomit-frame-pointer2016121520161026
2504refgcc -march=nocona -O2 -fomit-frame-pointer2016121520161026
2506refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
2506refgcc -m64 -O -fomit-frame-pointer2016121520161026
2506refgcc -m64 -Os -fomit-frame-pointer2016121520161026
2506refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
2506refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121520161026
2508refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121520161026
2508refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
2508refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121520161026
2508refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121520161026
2508refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121520161026
2508refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
2508refgcc -march=barcelona -O -fomit-frame-pointer2016121520161026
2510refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121520161026
2510refgcc -O3 -fomit-frame-pointer2016121520161026
2510refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
2510refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121520161026
2510refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
2510refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121520161026
2510refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121520161026
2510refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
2510refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
2510refgcc -march=barcelona -O2 -fomit-frame-pointer2016121520161026
2510refgcc -march=barcelona -Os -fomit-frame-pointer2016121520161026
2510refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121520161026
2512refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121520161026
2512refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
2512refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
2512refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
2512refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
2512refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
2512refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121520161026
2512refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
2512refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121520161026
2512refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121520161026
2512refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121520161026
2512refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121520161026
2512refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121520161026
2512refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
2512refgcc -march=k8 -O3 -fomit-frame-pointer2016121520161026
2512refgcc -march=nocona -Os -fomit-frame-pointer2016121520161026
2514refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
2514refgcc -funroll-loops -O -fomit-frame-pointer2016121520161026
2514refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121520161026
2514refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
2514refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121520161026
2514refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121520161026
2514refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
2514refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121520161026
2514refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121520161026
2514refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121520161026
2514refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121520161026
2514refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
2514refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121520161026
2516refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
2516refgcc -O2 -fomit-frame-pointer2016121520161026
2516refgcc -funroll-loops -Os -fomit-frame-pointer2016121520161026
2516refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
2516refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
2516refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
2516refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
2516refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
2516refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121520161026
2516refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121520161026
2516refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121520161026
2516refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121520161026
2516refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121520161026
2516refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121520161026
2516refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121520161026
2516refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121520161026
2518refgcc -O -fomit-frame-pointer2016121520161026
2518refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
2518refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121520161026
2518refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
2518refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121520161026
2518refgcc -m64 -O3 -fomit-frame-pointer2016121520161026
2518refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121520161026
2518refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121520161026
2518refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121520161026
2518refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121520161026
2520refgcc -m64 -O2 -fomit-frame-pointer2016121520161026
2520refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121520161026
2520refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
2520refgcc -march=k8 -O -fomit-frame-pointer2016121520161026
2520refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121520161026
2522refcc2016121520161026
2522refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
2522refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121520161026
2522refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
2522refgcc -march=barcelona -O3 -fomit-frame-pointer2016121520161026
2524refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
2524refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121520161026
2524refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121520161026
2524refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121520161026
2526refgcc -funroll-loops2016121520161026
2526refgcc -funroll-loops -O3 -fomit-frame-pointer2016121520161026
2526refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121520161026
2526refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121520161026
2528refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
2528refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121520161026
2528refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121520161026
2530refgcc -march=nocona -O -fomit-frame-pointer2016121520161026
2532refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
2534refgcc2016121520161026
2536refgcc -funroll-loops -O2 -fomit-frame-pointer2016121520161026
2538refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121520161026
2538refgcc -march=k8 -Os -fomit-frame-pointer2016121520161026
2540refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121520161026
2540refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121520161026
2546refgcc -march=nocona -O3 -fomit-frame-pointer2016121520161026
2550refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121520161026
2826refgcc -Os -fomit-frame-pointer2016121520161026
2830refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026