Implementation notes: amd64, phenom, crypto_sign/pflash1

Computer: phenom
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20120812
Operation: crypto_sign
Primitive: pflash1
TimeImplementationCompilerBenchmark dateSUPERCOP version
2440700refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012052420120521
2441663refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012052420120521
2496623refgcc -m64 -march=nocona -O -fomit-frame-pointer2012052420120521
2543485refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012052420120521
2613675refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012052420120521
2622539refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012052420120521
2655116refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012052420120521
2659427refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012052420120521
2715970refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012052420120521
2782610refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012052420120521
2843515refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012052420120521
2853004refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012052420120521
2853207refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012052420120521
2862728refgcc -march=nocona -Os -fomit-frame-pointer2012052420120521
2866601refgcc -m64 -Os -fomit-frame-pointer2012052420120521
2900608refgcc -Os -fomit-frame-pointer2012052420120521
2923248refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012052420120521
2950787refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012052420120521
2963078refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012052420120521
2971403refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012052420120521
3004475refgcc -funroll-loops -O3 -fomit-frame-pointer2012052420120521
3011579refgcc -march=nocona -O3 -fomit-frame-pointer2012052420120521
3018413refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012052420120521
3023124refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012052420120521
3024862refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012052420120521
3025486refgcc -march=barcelona -O -fomit-frame-pointer2012052420120521
3034140refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012052420120521
3056809refgcc -m64 -march=core2 -O -fomit-frame-pointer2012052420120521
3091272refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012052420120521
3111623refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012052420120521
3112325refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012052420120521
3112826refgcc -march=barcelona -O2 -fomit-frame-pointer2012052420120521
3122686refgcc -march=barcelona -Os -fomit-frame-pointer2012052420120521
3136084refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012052420120521
3142898refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012052420120521
3144434refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012052420120521
3148584refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012052420120521
3161594refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012052420120521
3176171refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012052420120521
3185914refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012052420120521
3198226refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012052420120521
3204111refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012052420120521
3213406refgcc -funroll-loops -O2 -fomit-frame-pointer2012052420120521
3229445refgcc -march=k8 -Os -fomit-frame-pointer2012052420120521
3247306refgcc -march=k8 -O -fomit-frame-pointer2012052420120521
3253147refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012052420120521
3253487refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012052420120521
3268765refgcc -funroll-loops -Os -fomit-frame-pointer2012052420120521
3279576refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012052420120521
3305838refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012052420120521
3339355refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012052420120521
3350533refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012052420120521
3352806refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012052420120521
3358574refgcc -O3 -fomit-frame-pointer2012052420120521
3366045refgcc -funroll-loops -O -fomit-frame-pointer2012052420120521
3373567refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012052420120521
3379733refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012052420120521
3383155refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012052420120521
3392694refgcc -fno-schedule-insns -O -fomit-frame-pointer2012052420120521
3415525refgcc -march=k8 -O2 -fomit-frame-pointer2012052420120521
3459169refgcc -march=nocona -O2 -fomit-frame-pointer2012052420120521
3472552refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012052420120521
3472626refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012052420120521
3492968refgcc -O -fomit-frame-pointer2012052420120521
3495512refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012052420120521
3500351refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012052420120521
3528858refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012052420120521
3530645refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012052420120521
3531958refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012052420120521
3551936refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012052420120521
3568132refgcc -m64 -O2 -fomit-frame-pointer2012052420120521
3585651refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012052420120521
3604119refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012052420120521
3626573refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012052420120521
3694192refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012052420120521
3716468refgcc -m64 -march=k8 -O -fomit-frame-pointer2012052420120521
3727839refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012052420120521
3728193refgcc -march=barcelona -O3 -fomit-frame-pointer2012052420120521
3802778refgcc -march=k8 -O3 -fomit-frame-pointer2012052420120521
3874411refgcc -march=nocona -O -fomit-frame-pointer2012052420120521
3890757refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012052420120521
3892938refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012052420120521
3920381refgcc -m64 -O3 -fomit-frame-pointer2012052420120521
3950424refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012052420120521
3973569refgcc -O2 -fomit-frame-pointer2012052420120521
4009638refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012052420120521
4028581refgcc -m64 -O -fomit-frame-pointer2012052420120521
4323886refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012052420120521
4425980refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012052420120521
12390866refgcc -funroll-loops2012052420120521
13380544refgcc2012052420120521
14158786refcc2012052420120521

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: 88, 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=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 -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 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -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