Implementation notes: amd64, h9ivy, crypto_sign/pflash1

Computer: h9ivy
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: pflash1
TimeImplementationCompilerBenchmark dateSUPERCOP version
1124444refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014070820140622
1183840refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014070820140622
1191976refgcc -m64 -O3 -fomit-frame-pointer2014070820140622
1207056refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014070820140622
1220844refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014070820140622
1224812refgcc -O2 -fomit-frame-pointer2014070820140622
1310372refgcc -O3 -fomit-frame-pointer2014070820140622
1317544refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014070820140622
1324128refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014070820140622
1324784refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014070820140622
1326284refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014070820140622
1341976refgcc -march=nocona -O3 -fomit-frame-pointer2014070820140622
1343884refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014070820140622
1347928refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014070820140622
1369648refgcc -march=k8 -Os -fomit-frame-pointer2014070820140622
1372672refgcc -march=k8 -O -fomit-frame-pointer2014070820140622
1380028refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014070820140622
1400508refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014070820140622
1413260refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014070820140622
1417852refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014070820140622
1425068refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014070820140622
1428044refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014070820140622
1429636refgcc -funroll-loops -O3 -fomit-frame-pointer2014070820140622
1437844refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014070820140622
1438144refgcc -march=nocona -O -fomit-frame-pointer2014070820140622
1453008refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014070820140622
1456064refgcc -march=k8 -O2 -fomit-frame-pointer2014070820140622
1461120refgcc -march=k8 -O3 -fomit-frame-pointer2014070820140622
1487148refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014070820140622
1487428refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014070820140622
1493400refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014070820140622
1497960refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014070820140622
1513752refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014070820140622
1523828refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014070820140622
1536652refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014070820140622
1541320refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014070820140622
1549872refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014070820140622
1551884refgcc -march=barcelona -O3 -fomit-frame-pointer2014070820140622
1562920refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014070820140622
1573204refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2014070820140622
1576460refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014070820140622
1593084refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2014070820140622
1620508refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014070820140622
1631168refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014070820140622
1639184refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014070820140622
1639832refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014070820140622
1643568refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2014070820140622
1650344refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014070820140622
1651008refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014070820140622
1653952refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014070820140622
1654496refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014070820140622
1657316refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014070820140622
1660576refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014070820140622
1661192refgcc -march=nocona -Os -fomit-frame-pointer2014070820140622
1661948refgcc -march=nocona -O2 -fomit-frame-pointer2014070820140622
1665204refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014070820140622
1674856refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014070820140622
1676384refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014070820140622
1677012refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014070820140622
1679272refgcc -m64 -march=core2 -O -fomit-frame-pointer2014070820140622
1684292refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014070820140622
1688408refgcc -O -fomit-frame-pointer2014070820140622
1711696refgcc -funroll-loops -O -fomit-frame-pointer2014070820140622
1718188refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014070820140622
1734412refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014070820140622
1741228refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014070820140622
1762440refgcc -march=barcelona -O2 -fomit-frame-pointer2014070820140622
1773672refgcc -Os -fomit-frame-pointer2014070820140622
1779440refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014070820140622
1783880refgcc -fno-schedule-insns -O -fomit-frame-pointer2014070820140622
1785676refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014070820140622
1785840refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014070820140622
1794476refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014070820140622
1795228refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014070820140622
1797044refgcc -m64 -O2 -fomit-frame-pointer2014070820140622
1806480refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014070820140622
1807132refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014070820140622
1829812refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014070820140622
1840668refgcc -funroll-loops -O2 -fomit-frame-pointer2014070820140622
1876344refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014070820140622
1877472refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014070820140622
1897348refgcc -m64 -O -fomit-frame-pointer2014070820140622
1898232refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014070820140622
1904140refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014070820140622
1916028refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014070820140622
1927760refgcc -m64 -march=k8 -O -fomit-frame-pointer2014070820140622
1928824refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014070820140622
1939260refgcc -funroll-loops -Os -fomit-frame-pointer2014070820140622
2006756refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2014070820140622
2015832refgcc -m64 -march=nocona -O -fomit-frame-pointer2014070820140622
2047052refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014070820140622
2124676refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014070820140622
2126904refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014070820140622
2128620refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014070820140622
2216032refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014070820140622
2277448refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014070820140622
2288696refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014070820140622
2296840refgcc -m64 -Os -fomit-frame-pointer2014070820140622
2376720refgcc -march=barcelona -O -fomit-frame-pointer2014070820140622
2949984refgcc -march=barcelona -Os -fomit-frame-pointer2014070820140622
4982720refcc2014070820140622
5682300refgcc -funroll-loops2014070820140622
5718424refgcc2014070820140622

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