Implementation notes: amd64, pistol, crypto_sign/pflash1

Computer: pistol
Architecture: amd64
CPU ID: AuthenticAMD-00600f12-178bfbff
SUPERCOP version: 20121016
Operation: crypto_sign
Primitive: pflash1
TimeImplementationCompilerBenchmark dateSUPERCOP version
2126866refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012110720121016
2366121refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012110720121016
2366764refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012110720121016
2416047refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012110720121016
2457066refgcc -march=nocona -O2 -fomit-frame-pointer2012110720121016
2468478refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012110720121016
2508769refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012110720121016
2524128refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012110720121016
2546351refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012110720121016
2567383refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012110720121016
2573692refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012110720121016
2581174refgcc -funroll-loops -O2 -fomit-frame-pointer2012110720121016
2587857refgcc -m64 -march=nocona -O -fomit-frame-pointer2012110720121016
2612370refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012110720121016
2618550refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012110720121016
2619132refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012110720121016
2645470refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012110720121016
2654099refgcc -funroll-loops -O -fomit-frame-pointer2012110720121016
2658045refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012110720121016
2673482refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012110720121016
2691875refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012110720121016
2705025refgcc -march=barcelona -O -fomit-frame-pointer2012110720121016
2731485refgcc -march=k8 -O -fomit-frame-pointer2012110720121016
2731825refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012110720121016
2736350refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012110720121016
2745463refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012110720121016
2772719refgcc -O3 -fomit-frame-pointer2012110720121016
2777162refgcc -m64 -O2 -fomit-frame-pointer2012110720121016
2790454refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012110720121016
2791908refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012110720121016
2795634refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012110720121016
2800027refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012110720121016
2806550refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012110720121016
2833470refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012110720121016
2836944refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012110720121016
2841207refgcc -m64 -march=k8 -O -fomit-frame-pointer2012110720121016
2846739refgcc -march=nocona -Os -fomit-frame-pointer2012110720121016
2849145refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012110720121016
2849413refgcc -march=barcelona -O2 -fomit-frame-pointer2012110720121016
2865487refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012110720121016
2868762refgcc -funroll-loops -Os -fomit-frame-pointer2012110720121016
2881684refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012110720121016
2888016refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012110720121016
2891174refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012110720121016
2897049refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012110720121016
2899055refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012110720121016
2904977refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012110720121016
2906912refgcc -march=nocona -O -fomit-frame-pointer2012110720121016
2913769refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012110720121016
2915854refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012110720121016
2917709refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012110720121016
2928501refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012110720121016
2932460refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012110720121016
2945258refgcc -O2 -fomit-frame-pointer2012110720121016
2965324refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012110720121016
2993954refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012110720121016
2996283refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012110720121016
2999210refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012110720121016
3000908refgcc -Os -fomit-frame-pointer2012110720121016
3007630refgcc -fno-schedule-insns -O -fomit-frame-pointer2012110720121016
3018586refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012110720121016
3021495refgcc -march=k8 -Os -fomit-frame-pointer2012110720121016
3027542refgcc -m64 -O -fomit-frame-pointer2012110720121016
3041780refgcc -m64 -march=core2 -O -fomit-frame-pointer2012110720121016
3043540refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012110720121016
3045142refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012110720121016
3063671refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012110720121016
3066164refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012110720121016
3145371refgcc -O -fomit-frame-pointer2012110720121016
3164601refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012110720121016
3172474refgcc -march=nocona -O3 -fomit-frame-pointer2012110720121016
3180601refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012110720121016
3188568refgcc -march=barcelona -Os -fomit-frame-pointer2012110720121016
3200563refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012110720121016
3210863refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012110720121016
3220184refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012110720121016
3220945refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012110720121016
3233220refgcc -march=k8 -O2 -fomit-frame-pointer2012110720121016
3243028refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012110720121016
3248707refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012110720121016
3254087refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012110720121016
3258208refgcc -march=k8 -O3 -fomit-frame-pointer2012110720121016
3260488refgcc -m64 -O3 -fomit-frame-pointer2012110720121016
3261667refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012110720121016
3261913refgcc -funroll-loops -O3 -fomit-frame-pointer2012110720121016
3271611refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012110720121016
3280226refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012110720121016
3345294refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012110720121016
3348096refgcc -m64 -Os -fomit-frame-pointer2012110720121016
3353465refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012110720121016
3353612refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012110720121016
3383025refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012110720121016
3383568refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012110720121016
3386409refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012110720121016
3398884refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012110720121016
3557283refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012110720121016
3719007refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012110720121016
3783588refgcc -march=barcelona -O3 -fomit-frame-pointer2012110720121016
3836835refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012110720121016
3878568refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012110720121016
8812580refgcc2012110720121016
10396752refgcc -funroll-loops2012110720121016
11145707refcc2012110720121016

Compiler output

Implementation: crypto_sign/pflash1/ref
Compiler: cc
SignScheme.c: SignScheme.c: In function 'signatureofshorthash':
SignScheme.c: SignScheme.c:211:2: warning: passing argument 1 of 'SignScheme_sign' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme.c:95:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: SignScheme.c: In function 'verification':
SignScheme.c: SignScheme.c:227:2: warning: passing argument 1 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: SignScheme.c:227:2: warning: passing argument 2 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'

Number of similar (compiler,implementation) pairs: 99, namely:
CompilerImplementations
cc ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/pflash1/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
SignScheme.c: SignScheme.c: In function 'signatureofshorthash':
SignScheme.c: SignScheme.c:211:2: warning: passing argument 1 of 'SignScheme_sign' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme.c:95:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: SignScheme.c: In function 'verification':
SignScheme.c: SignScheme.c:227:2: warning: passing argument 1 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: SignScheme.c:227:2: warning: passing argument 2 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: SignScheme.c: In function 'signatureofshorthash':
SignScheme.c: SignScheme.c:211:2: warning: passing argument 1 of 'SignScheme_sign' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme.c:95:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: SignScheme.c: In function 'verification':
SignScheme.c: SignScheme.c:227:2: warning: passing argument 1 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: SignScheme.c:227:2: warning: passing argument 2 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref