Implementation notes: amd64, skylake, crypto_sign/sflashv2

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_sign
Primitive: sflashv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
174176refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
174414refgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
174624refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
174790refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
174850refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
174956refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
175002refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
175010refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
177706refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
199728refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
200624refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121720161026
201014refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
201130refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
202064refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
202344refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
202814refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
203226refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
203704refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
204084refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121720161026
204520refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
205170refgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
207834refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
210594refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
210812refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
211014refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121720161026
212190refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
213148refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121720161026
213266refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
216072refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
216138refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
216464refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
220502refgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
221320refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
223024refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
223388refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
223722refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
223880refgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
224522refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
224558refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
224792refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
228968refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
229118refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
229156refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
229608refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
229664refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
229916refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
231212refgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
231488refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
231554refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
235188refgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
235650refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
241714refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
246152refgcc -m64 -O2 -fomit-frame-pointer2016121720161026
247032refgcc -O2 -fomit-frame-pointer2016121720161026
247976refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
261302refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
261966refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
261972refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
262162refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
263046refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
263092refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
263208refgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
263582refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
263706refgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
264592refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
264812refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
265090refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
265396refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
266348refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
267094refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
267340refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
267506refgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
267756refgcc -m64 -Os -fomit-frame-pointer2016121720161026
267790refgcc -Os -fomit-frame-pointer2016121720161026
267836refgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
267854refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
267914refgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
268666refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
269284refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
269422refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
269788refgcc -O3 -fomit-frame-pointer2016121720161026
269838refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
270080refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
270490refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
270968refgcc -m64 -O3 -fomit-frame-pointer2016121720161026
271206refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
271350refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
271774refgcc -march=k8 -O -fomit-frame-pointer2016121720161026
272094refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
272814refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
273320refgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
273340refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
273442refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
275108refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
279814refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
279824refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
280044refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
280732refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
280774refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
281024refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
281546refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
282082refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
282758refgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
283186refgcc -m64 -O -fomit-frame-pointer2016121720161026
283330refgcc -O -fomit-frame-pointer2016121720161026
289584refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
290458refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
290482refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
290868refgcc -march=nocona -O -fomit-frame-pointer2016121720161026
291028refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
291584refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
297578refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
308126refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
309314refgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
325696refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
331470refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
333260refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
333656refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
866004refgcc -funroll-loops2016121720161026
869552refgcc2016121720161026
871410refcc2016121720161026

Compiler output

Implementation: crypto_sign/sflashv2/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
lib_flash.c: lib_flash.c:409:50: warning: '/*' within block comment [-Wcomment]
lib_flash.c: init_table_flash(CK->gt;M,/*CK->gt;I,*/CK->gt;M1/*,CK->gt;M2/* /*,CK->gt;M3*/);
lib_flash.c: ^
lib_flash.c: lib_flash.c:409:53: warning: '/*' within block comment [-Wcomment]
lib_flash.c: init_table_flash(CK->gt;M,/*CK->gt;I,*/CK->gt;M1/*,CK->gt;M2/* /*,CK->gt;M3*/);
lib_flash.c: ^
lib_flash.c: lib_flash.c:690:3: warning: '/*' within block comment [-Wcomment]
lib_flash.c: /*mis gt; la puissance 2^7^22 de tmp
lib_flash.c: ^
lib_flash.c: lib_flash.c:692:3: warning: '/*' within block comment [-Wcomment]
lib_flash.c: /*
lib_flash.c: ^
lib_flash.c: lib_flash.c:695:4: warning: '/*' within block comment [-Wcomment]
lib_flash.c: /* inversion affine de S*/
lib_flash.c: ^
lib_flash.c: lib_flash.c:910:34: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
lib_flash.c: printf("Erreur de fichier de clgt; publique: '%s'\n",fichier);
lib_flash.c: ^~~~
lib_flash.c: lib_flash.c:1016:34: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
lib_flash.c: printf("Erreur de fichier de clgt; secrgt;te: '%s'\n",fichier);
lib_flash.c: ^~~~ ~~~~
lib_flash.c: 7 warnings generated.
table_flash.c: table_flash.c:25:8: warning: ^ has lower precedence than table_flash.c: if( x^P table_flash.c: ^~~~~~
table_flash.c: table_flash.c:25:8: note: place parentheses around the ' table_flash.c: if( x^P table_flash.c: ^
table_flash.c: ( )
table_flash.c: table_flash.c:25:8: note: place parentheses around the ^ expression to evaluate it first
table_flash.c: if( x^P table_flash.c: ^
table_flash.c: ( )
table_flash.c: 1 warning 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