Implementation notes: amd64, sandy0, crypto_sign/pflash1

Computer: sandy0
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_sign
Primitive: pflash1
TimeImplementationCompilerBenchmark dateSUPERCOP version
1631396refgcc -funroll-loops -O2 -fomit-frame-pointer2012032920120316
1645300refgcc -m64 -march=core2 -O -fomit-frame-pointer2012032920120316
1726668refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
1738000refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012032920120316
1739336refgcc -march=nocona -O3 -fomit-frame-pointer2012032920120316
1810844refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
1816524refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012032920120316
1830668refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012032920120316
1830964refgcc -funroll-loops -O3 -fomit-frame-pointer2012032920120316
1834056refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012032920120316
1865420refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012032920120316
1891632refgcc -O -fomit-frame-pointer2012032920120316
1934400refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012032920120316
1945180refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012032920120316
1945396refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
1946752refgcc -march=barcelona -O2 -fomit-frame-pointer2012032920120316
1948432refgcc -march=barcelona -O3 -fomit-frame-pointer2012032920120316
1952540refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012032920120316
1971676refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012032920120316
1972796refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316
1988288refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012032920120316
1994820refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012032920120316
1996312refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
1996380refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012032920120316
2001196refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012032920120316
2016208refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012032920120316
2022896refgcc -march=k8 -Os -fomit-frame-pointer2012032920120316
2025056refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012032920120316
2032588refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012032920120316
2052388refgcc -funroll-loops -Os -fomit-frame-pointer2012032920120316
2060632refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012032920120316
2069180refgcc -march=nocona -O -fomit-frame-pointer2012032920120316
2069944refgcc -O3 -fomit-frame-pointer2012032920120316
2078672refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012032920120316
2085304refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012032920120316
2098108refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012032920120316
2103752refgcc -march=nocona -O2 -fomit-frame-pointer2012032920120316
2103944refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012032920120316
2111152refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012032920120316
2111780refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012032920120316
2153804refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012032920120316
2161304refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012032920120316
2169048refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
2186140refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012032920120316
2192456refgcc -funroll-loops -O -fomit-frame-pointer2012032920120316
2201188refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012032920120316
2217716refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012032920120316
2222716refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012032920120316
2222828refgcc -march=k8 -O3 -fomit-frame-pointer2012032920120316
2236384refgcc -march=barcelona -O -fomit-frame-pointer2012032920120316
2247444refgcc -m64 -march=k8 -O -fomit-frame-pointer2012032920120316
2262468refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012032920120316
2270236refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012032920120316
2270424refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
2280784refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012032920120316
2284632refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012032920120316
2289788refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012032920120316
2289856refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
2291172refgcc -O2 -fomit-frame-pointer2012032920120316
2295408refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012032920120316
2297988refgcc -Os -fomit-frame-pointer2012032920120316
2300024refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012032920120316
2301296refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012032920120316
2304456refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012032920120316
2332052refgcc -fno-schedule-insns -O -fomit-frame-pointer2012032920120316
2344420refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012032920120316
2345016refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012032920120316
2347020refgcc -march=nocona -Os -fomit-frame-pointer2012032920120316
2358996refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012032920120316
2362772refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012032920120316
2407152refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
2408148refgcc -m64 -O2 -fomit-frame-pointer2012032920120316
2425056refgcc -m64 -march=nocona -O -fomit-frame-pointer2012032920120316
2429300refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012032920120316
2444056refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012032920120316
2448940refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012032920120316
2451004refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012032920120316
2452620refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012032920120316
2463620refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
2467664refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012032920120316
2472984refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012032920120316
2478580refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012032920120316
2522088refgcc -march=k8 -O2 -fomit-frame-pointer2012032920120316
2528848refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012032920120316
2550680refgcc -march=k8 -O -fomit-frame-pointer2012032920120316
2555436refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012032920120316
2557804refgcc -m64 -O3 -fomit-frame-pointer2012032920120316
2562500refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012032920120316
2567616refgcc -m64 -O -fomit-frame-pointer2012032920120316
2574216refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012032920120316
2596696refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012032920120316
2611588refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012032920120316
2668996refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012032920120316
2679800refgcc -march=barcelona -Os -fomit-frame-pointer2012032920120316
2710184refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012032920120316
2773860refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012032920120316
2827468refgcc -m64 -Os -fomit-frame-pointer2012032920120316
2959896refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012032920120316
2979608refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012032920120316
3111156refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012032920120316
5988516refgcc2012032920120316
7706616refcc2012032920120316
9163704refgcc -funroll-loops2012032920120316

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