Implementation notes: amd64, skylake, crypto_aead/minalpherv1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: minalpherv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
2385628refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
2406696refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
2440736refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
2440752refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
2447572refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
2457112refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
2478568refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
2481584refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
2491016refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
2511034refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
2712268refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
2716790refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
2890392refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
2894732refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
2895216refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
2897540refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
2898018refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
2899594refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
2901568refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
2902024refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
2905492refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
2905516refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
2907866refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
2909574refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
2912684refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
2914918refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
2915738refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
2916648refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
2919122refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
2922180refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
2941348refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
2950900refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
2951248refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
2952220refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
2955706refgcc -O3 -fomit-frame-pointer2016121620161026
2956560refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
2958638refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
2963774refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
2963964refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
2964284refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
2964972refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
2968452refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
2970406refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
2996442refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
3000252refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
3001164refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
3065864refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
3066756refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
3069258refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
3070078refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
3123756refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
3124256refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
3174402refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
3174592refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
3176840refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
3843420refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
3849294refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
3963710refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
3964844refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
3984272refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
3985672refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
3998920refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
3999676refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
4052192refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
4124226refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
4128890refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
4137356refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
4153486refgcc -O2 -fomit-frame-pointer2016121620161026
4157210refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
4158628refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
4161928refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
4182154refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
4184360refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
4381902refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
4386170refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
4402268refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
4414888refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
4417900refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
4418522refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
4424656refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
4439050refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
4450992refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
4710234refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
4720476refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
4723222refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
4723402refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
4759590refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
4765170refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
4800854refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
4808222refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
4914828refgcc -m64 -O -fomit-frame-pointer2016121620161026
4915170refgcc -O -fomit-frame-pointer2016121620161026
4936664refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
4940354refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
4992366refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
5015410refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
5025518refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
5031966refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
5032896refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
5061632refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
6070264refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
6089676refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
6123508refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
6213460refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
6221024refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
6252102refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
6271280refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
6317396refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
6332750refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
6336596refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
6341156refgcc -Os -fomit-frame-pointer2016121620161026
6342302refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
6359078refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
6360936refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
6364262refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
6365154refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
6369706refgcc -m64 -Os -fomit-frame-pointer2016121620161026
6377834refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
19966122refgcc2016121620161026
19986318refgcc -funroll-loops2016121620161026
20017470refcc2016121620161026

Compiler output

Implementation: crypto_aead/minalpherv1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:223:53: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f ) encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:53: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f ) encrypt.c: ^
encrypt.c: ( )
encrypt.c: encrypt.c:223:110: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f ) encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:110: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f ) encrypt.c: ^
encrypt.c: ( )
encrypt.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref