Implementation notes: amd64, khazaddum, crypto_sign/pflash1

Computer: khazaddum
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20120928
Operation: crypto_sign
Primitive: pflash1
TimeImplementationCompilerBenchmark dateSUPERCOP version
1500232refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012101620120928
1598840refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012101620120928
1648284refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012101620120928
1675724refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012101620120928
1696396refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
1719980refgcc -funroll-loops -Os -fomit-frame-pointer2012101620120928
1724396refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012101620120928
1725304refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012101620120928
1753848refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012101620120928
1783624refgcc -march=barcelona -O3 -fomit-frame-pointer2012101620120928
1787004refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012101620120928
1796188refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012101620120928
1798332refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012101620120928
1813936refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
1824328refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012101620120928
1824828refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012101620120928
1832384refgcc -march=nocona -O2 -fomit-frame-pointer2012101620120928
1835236refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012101620120928
1836620refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
1845488refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012101620120928
1847120refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012101620120928
1856804refgcc -m64 -march=nocona -O -fomit-frame-pointer2012101620120928
1909724refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012101620120928
1919168refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012101620120928
1919816refgcc -m64 -O2 -fomit-frame-pointer2012101620120928
1923596refgcc -march=barcelona -O2 -fomit-frame-pointer2012101620120928
1927044refgcc -march=nocona -O -fomit-frame-pointer2012101620120928
1927524refgcc -m64 -march=core2 -O -fomit-frame-pointer2012101620120928
1931640refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012101620120928
1932344refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012101620120928
1932572refgcc -m64 -O -fomit-frame-pointer2012101620120928
1936052refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012101620120928
1940748refgcc -march=nocona -Os -fomit-frame-pointer2012101620120928
1941740refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012101620120928
1944580refgcc -O -fomit-frame-pointer2012101620120928
1956380refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012101620120928
1959028refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012101620120928
1968060refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012101620120928
1971464refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012101620120928
2008524refgcc -march=k8 -O3 -fomit-frame-pointer2012101620120928
2017776refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012101620120928
2018156refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012101620120928
2023048refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012101620120928
2029364refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012101620120928
2033804refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
2035904refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012101620120928
2045996refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012101620120928
2049496refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012101620120928
2050740refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012101620120928
2052608refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012101620120928
2060484refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012101620120928
2065536refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012101620120928
2072228refgcc -fno-schedule-insns -O -fomit-frame-pointer2012101620120928
2074280refgcc -m64 -Os -fomit-frame-pointer2012101620120928
2099588refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
2101116refgcc -m64 -march=k8 -O -fomit-frame-pointer2012101620120928
2124044refgcc -funroll-loops -O3 -fomit-frame-pointer2012101620120928
2129140refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012101620120928
2151436refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012101620120928
2151724refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
2153076refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012101620120928
2165316refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012101620120928
2168128refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012101620120928
2168472refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
2176228refgcc -O3 -fomit-frame-pointer2012101620120928
2176692refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012101620120928
2179716refgcc -march=k8 -Os -fomit-frame-pointer2012101620120928
2180572refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012101620120928
2180916refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012101620120928
2184020refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012101620120928
2193216refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012101620120928
2205320refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012101620120928
2225924refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012101620120928
2242964refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012101620120928
2249180refgcc -funroll-loops -O2 -fomit-frame-pointer2012101620120928
2253564refgcc -funroll-loops -O -fomit-frame-pointer2012101620120928
2267136refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012101620120928
2270508refgcc -m64 -O3 -fomit-frame-pointer2012101620120928
2282536refgcc -O2 -fomit-frame-pointer2012101620120928
2284348refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012101620120928
2286724refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012101620120928
2297100refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012101620120928
2300336refgcc -Os -fomit-frame-pointer2012101620120928
2302208refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012101620120928
2311728refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012101620120928
2319096refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012101620120928
2327244refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012101620120928
2328436refgcc -march=nocona -O3 -fomit-frame-pointer2012101620120928
2330760refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012101620120928
2355952refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012101620120928
2358912refgcc -march=k8 -O2 -fomit-frame-pointer2012101620120928
2362460refgcc -march=barcelona -O -fomit-frame-pointer2012101620120928
2374980refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012101620120928
2380932refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012101620120928
2426244refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012101620120928
2437840refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012101620120928
2479552refgcc -march=k8 -O -fomit-frame-pointer2012101620120928
2499532refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012101620120928
2516956refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012101620120928
2524680refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
2535620refgcc -march=barcelona -Os -fomit-frame-pointer2012101620120928
2552736refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012101620120928
2600836refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012101620120928
2646104refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012101620120928
6572268refgcc -funroll-loops2012101620120928
6865440refcc2012101620120928
6994196refgcc2012101620120928

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