Implementation notes: amd64, haswell, crypto_sign/pflash1

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_sign
Primitive: pflash1
TimeImplementationCompilerBenchmark dateSUPERCOP version
1469455refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060920130419
1469752refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060920130419
1490322refgcc -funroll-loops -O2 -fomit-frame-pointer2013060920130419
1518732refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060920130419
1540220refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060920130419
1548880refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060920130419
1551764refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060920130419
1557604refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060920130419
1564420refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060920130419
1568972refgcc -m64 -Os -fomit-frame-pointer2013060920130419
1578560refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060920130419
1579352refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060920130419
1643396refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060920130419
1646304refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060920130419
1646960refgcc -march=barcelona -O3 -fomit-frame-pointer2013060920130419
1649474refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060920130419
1653868refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060920130419
1658180refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060920130419
1667819refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060920130419
1670687refgcc -funroll-loops -O3 -fomit-frame-pointer2013060920130419
1673143refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060920130419
1685184refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060920130419
1707052refgcc -march=nocona -O -fomit-frame-pointer2013060920130419
1712445refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060920130419
1728364refgcc -m64 -O3 -fomit-frame-pointer2013060920130419
1728756refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060920130419
1740404refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060920130419
1740957refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060920130419
1743044refgcc -march=k8 -O2 -fomit-frame-pointer2013060920130419
1775408refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060920130419
1782480refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060920130419
1786764refgcc -O3 -fomit-frame-pointer2013060920130419
1792523refgcc -march=barcelona -O -fomit-frame-pointer2013060920130419
1799500refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060920130419
1817208refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060920130419
1825632refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060920130419
1843612refgcc -march=barcelona -O2 -fomit-frame-pointer2013060920130419
1846008refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060920130419
1859508refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060920130419
1864308refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060920130419
1873580refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060920130419
1875352refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060920130419
1879460refgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060920130419
1880836refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060920130419
1882432refgcc -O2 -fomit-frame-pointer2013060920130419
1891669refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060920130419
1894424refgcc -Os -fomit-frame-pointer2013060920130419
1912376refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060920130419
1917302refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060920130419
1930124refgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060920130419
1931856refgcc -m64 -O2 -fomit-frame-pointer2013060920130419
1940656refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060920130419
1940816refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060920130419
1941960refgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060920130419
1954912refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060920130419
1959298refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060920130419
1964588refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060920130419
1966224refgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060920130419
1966696refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060920130419
1966791refgcc -O -fomit-frame-pointer2013060920130419
1967476refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060920130419
1980369refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060920130419
1989072refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060920130419
1991260refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060920130419
2004596refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060920130419
2005968refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060920130419
2031872refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060920130419
2036644refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060920130419
2049907refgcc -funroll-loops -O -fomit-frame-pointer2013060920130419
2060724refgcc -march=k8 -Os -fomit-frame-pointer2013060920130419
2067404refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060920130419
2078082refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060920130419
2087856refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060920130419
2094080refgcc -m64 -march=nocona -O -fomit-frame-pointer2013060920130419
2097416refgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060920130419
2098364refgcc -march=nocona -O3 -fomit-frame-pointer2013060920130419
2100151refgcc -march=k8 -O3 -fomit-frame-pointer2013060920130419
2105392refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060920130419
2111170refgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060920130419
2137653refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060920130419
2154888refgcc -m64 -march=core2 -O -fomit-frame-pointer2013060920130419
2156280refgcc -fno-schedule-insns -O -fomit-frame-pointer2013060920130419
2160724refgcc -m64 -march=k8 -O -fomit-frame-pointer2013060920130419
2169234refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060920130419
2169656refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060920130419
2200184refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060920130419
2238028refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060920130419
2253640refgcc -m64 -O -fomit-frame-pointer2013060920130419
2257700refgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060920130419
2296508refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060920130419
2299779refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060920130419
2304033refgcc -funroll-loops -Os -fomit-frame-pointer2013060920130419
2306701refgcc -march=k8 -O -fomit-frame-pointer2013060920130419
2322572refgcc -march=barcelona -Os -fomit-frame-pointer2013060920130419
2337250refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060920130419
2354068refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060920130419
2404588refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060920130419
2428948refgcc -march=nocona -O2 -fomit-frame-pointer2013060920130419
2608500refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060920130419
2855430refgcc -march=nocona -Os -fomit-frame-pointer2013060920130419
6256063refgcc2013060920130419
6359124refcc2013060920130419
7469620refgcc -funroll-loops2013060920130419

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_sign( sk , h , mlen , sm );
SignScheme.c: ^
SignScheme.c: SignScheme.c:95:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_sign( byte * pri , byte * Y , int Ylen , byte * outX )
SignScheme.c: ^
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_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
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_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^

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: clang -O3
SignScheme.c: SignScheme.c:211:19: warning: passing 'const unsigned char *' to parameter of type 'byte *' (aka 'unsigned char *') discards qualifiers [-Wincompatible-pointer-types]
SignScheme.c: SignScheme_sign( sk , h , mlen , sm );
SignScheme.c: ^~
SignScheme.c: SignScheme.c:95:29: note: passing argument to parameter 'pri' here
SignScheme.c: int SignScheme_sign( byte * pri , byte * Y , int Ylen , byte * outX )
SignScheme.c: ^
SignScheme.c: SignScheme.c:227:19: warning: passing 'const unsigned char *' to parameter of type 'byte *' (aka 'unsigned char *') discards qualifiers [-Wincompatible-pointer-types]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^~
SignScheme.c: SignScheme.c:152:29: note: passing argument to parameter 'pub' here
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
SignScheme.c: SignScheme.c:227:24: warning: passing 'const unsigned char *' to parameter of type 'byte *' (aka 'unsigned char *') discards qualifiers [-Wincompatible-pointer-types]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^~
SignScheme.c: SignScheme.c:152:42: note: passing argument to parameter 'X' here
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
SignScheme.c: 3 warnings generated.
try.c: crypto_sign_pflash1.a(PFLASH.o):PFLASH.c:function PFLASH_QMap: error: undefined reference to 'polyPow88'
try.c: crypto_sign_pflash1.a(PFLASH.o):PFLASH.c:function PFLASH_ivsQMap: error: undefined reference to 'polyPow24'
try.c: crypto_sign_pflash1.a(PFLASH.o):PFLASH.c:function PFLASH_ivsQMap: error: undefined reference to 'polyPow8'
try.c: crypto_sign_pflash1.a(PFLASH.o):PFLASH.c:function PFLASH_ivsQMap: error: undefined reference to 'polyPow8'
try.c: crypto_sign_pflash1.a(PFLASH.o):PFLASH.c:function PFLASH_ivsQMap: error: undefined reference to 'polyPow8'
try.c: crypto_sign_pflash1.a(PFLASH.o):PFLASH.c:function PFLASH_ivsQMap: error: undefined reference to 'polyPow8'
try.c: crypto_sign_pflash1.a(PFLASH.o):PFLASH.c:function PFLASH_ivsQMap: error: undefined reference to 'polyPow56'
try.c: crypto_sign_pflash1.a(PFLASH.o):PFLASH.c:function PFLASH_ivsQMap: error: undefined reference to 'polyPow56'
try.c: crypto_sign_pflash1.a(PFLASH.o):PFLASH.c:function PFLASH_ivsQMap: error: undefined reference to 'polyPow56'
try.c: crypto_sign_pflash1.a(PFLASH.o):PFLASH.c:function PFLASH_ivsQMap: error: undefined reference to 'polyPow56'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 ref
clang -O3 -mavx 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_sign( sk , h , mlen , sm );
SignScheme.c: ^
SignScheme.c: SignScheme.c:95:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_sign( byte * pri , byte * Y , int Ylen , byte * outX )
SignScheme.c: ^
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_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
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_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
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_sign( sk , h , mlen , sm );
SignScheme.c: ^
SignScheme.c: SignScheme.c:95:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_sign( byte * pri , byte * Y , int Ylen , byte * outX )
SignScheme.c: ^
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_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
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_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^

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