Implementation notes: amd64, katana, crypto_sign/pflash1

Computer: katana
Architecture: amd64
CPU ID: GenuineIntel-000006f6-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_sign
Primitive: pflash1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1308040? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016103120161009
1427488? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016103120161009
1550080? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016103120161009
1640264? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016103120161009
1652896? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2016103120161009
1668824? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016103120161009
1669584? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016103120161009
1679816? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016103120161009
1680848? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016103120161009
1692872? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2016103120161009
1702960? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016103120161009
1731688? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016103120161009
1746432? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016103120161009
1759192? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2016103120161009
1770456? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2016103120161009
1783608? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2016103120161009
1784952? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2016103120161009
1797760? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016103120161009
1805288? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016103120161009
1821352? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016103120161009
1822416? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016103120161009
1824056? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2016103120161009
1834456? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016103120161009
1840896? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016103120161009
1843512? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2016103120161009
1858760? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016103120161009
1891136? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016103120161009
1903832? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016103120161009
1911944? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016103120161009
1912280? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016103120161009
1918352? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2016103120161009
1924216? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016103120161009
1932928? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2016103120161009
1962688? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016103120161009
1973944? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2016103120161009
1974456? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016103120161009
1992112? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016103120161009
2000360? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016103120161009
2015432? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2016103120161009
2019848? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2016103120161009
2023736? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016103120161009
2032336? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016103120161009
2032584? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016103120161009
2041080? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2016103120161009
2046696? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2016103120161009
2060872? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016103120161009
2062312? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016103120161009
2067920? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2016103120161009
2076520? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016103120161009
2078168? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016103120161009
2078600? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016103120161009
2082760? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016103120161009
2082792? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016103120161009
2087728? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016103120161009
2090416? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016103120161009
2096904? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016103120161009
2106328? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2016103120161009
2106632? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2016103120161009
2107440? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016103120161009
2124632? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016103120161009
2134272? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016103120161009
2140488? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016103120161009
2188632? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016103120161009
2201968? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2016103120161009
2206008? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016103120161009
2224480? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016103120161009
2225608? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016103120161009
2225944? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016103120161009
2234456? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016103120161009
2249096? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016103120161009
2260816? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016103120161009
2261136? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016103120161009
2262792? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016103120161009
2341808? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016103120161009
2352792? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016103120161009
2364608? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016103120161009
2372216? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016103120161009
2382528? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016103120161009
2393848? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2016103120161009
2427000? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2016103120161009
2469992? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016103120161009
2492032? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016103120161009
2567840? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016103120161009
2596432? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016103120161009
2601536? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016103120161009
2619088? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016103120161009
2623568? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2016103120161009
2667952? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2016103120161009
2682128? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016103120161009
2756728? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016103120161009
2766296? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2016103120161009
2795488? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016103120161009
2837016? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2016103120161009

Compiler output

Implementation: crypto_sign/pflash1/ref
Compiler: cc
PFLASH.c: PFLASH.c:152:16: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: memcpy( outZ ,_Z,37);
PFLASH.c: ^
PFLASH.c: PFLASH.c:149:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37- 0)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:148:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37- 2)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:147:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37-10)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:146:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37-12)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:143:10: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: temp = _Z[i];
PFLASH.c: ^
PFLASH.c: PFLASH.c:136:15: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: if( logY ) _Z[i+j] ^= alogtab[logX+logY];
PFLASH.c: ^
PFLASH.c: PFLASH.c:128:11: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: memset(_Z,0,73);
PFLASH.c: ^
PFLASH.c: PFLASH.c:122:16: warning: '_Z' is static but used in inline function 'polySqu' which is not static
PFLASH.c: ...
SignScheme.c: SignScheme.c: In function 'signatureofshorthash':
SignScheme.c: SignScheme.c:211:19: warning: passing argument 1 of 'SignScheme_sign' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_sign( sk , h , mlen , sm );
SignScheme.c: ^
SignScheme.c: SignScheme.c:95:5: note: expected 'byte * {aka unsigned char *}' 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:19: warning: passing argument 1 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte * {aka unsigned char *}' 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:24: warning: passing argument 2 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte * {aka unsigned char *}' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
try.c: crypto_sign_pflash1.a(PFLASH.o): In function `PFLASH_QMap':
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow88'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyMul'
try.c: crypto_sign_pflash1.a(PFLASH.o): In function `PFLASH_ivsQMap':
try.c: PFLASH.c:(.text+0x...): undefined reference to `polySqu'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polySqu'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyMul'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polySqu'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polySqu'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyMul'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polySqu'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyMul'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polySqu'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polySqu'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyMul'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polySqu'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow24'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyMul'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow8'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyMul'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow8'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyMul'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow8'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyMul'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyMul'
try.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc ref
gcc ref
gcc -funroll-loops ref

Compiler output

Implementation: crypto_sign/pflash1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
SignScheme.c: SignScheme.c:211:19: warning: passing 'const unsigned char *' to parameter of type 'byte *' (aka 'unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
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-discards-qualifiers]
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-discards-qualifiers]
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): In function `PFLASH_QMap':
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow88'
try.c: crypto_sign_pflash1.a(PFLASH.o): In function `PFLASH_ivsQMap':
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow24'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow8'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow8'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow8'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow8'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow56'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow56'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow56'
try.c: PFLASH.c:(.text+0x...): undefined reference to `polyPow8'
try.c: PFLASH.c:(.text+0x...): 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: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_sign/pflash1/ref
Compiler: gcc -O2 -fomit-frame-pointer
PFLASH.c: PFLASH.c:152:16: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: memcpy( outZ ,_Z,37);
PFLASH.c: ^
PFLASH.c: PFLASH.c:149:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37- 0)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:148:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37- 2)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:147:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37-10)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:146:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37-12)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:143:10: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: temp = _Z[i];
PFLASH.c: ^
PFLASH.c: PFLASH.c:136:15: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: if( logY ) _Z[i+j] ^= alogtab[logX+logY];
PFLASH.c: ^
PFLASH.c: PFLASH.c:128:11: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: memset(_Z,0,73);
PFLASH.c: ^
PFLASH.c: PFLASH.c:122:16: warning: '_Z' is static but used in inline function 'polySqu' which is not static
PFLASH.c: ...
SignScheme.c: SignScheme.c: In function 'signatureofshorthash':
SignScheme.c: SignScheme.c:211:19: warning: passing argument 1 of 'SignScheme_sign' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_sign( sk , h , mlen , sm );
SignScheme.c: ^
SignScheme.c: SignScheme.c:95:5: note: expected 'byte * {aka unsigned char *}' 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:19: warning: passing argument 1 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte * {aka unsigned char *}' 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:24: warning: passing argument 2 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte * {aka unsigned char *}' 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: 89, namely:
CompilerImplementations
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 -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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
PFLASH.c: PFLASH.c:152:16: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: memcpy( outZ ,_Z,37);
PFLASH.c: ^
PFLASH.c: PFLASH.c:149:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37- 0)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:148:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37- 2)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:147:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37-10)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:146:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37-12)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:143:10: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: temp = _Z[i];
PFLASH.c: ^
PFLASH.c: PFLASH.c:136:15: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: if( logY ) _Z[i+j] ^= alogtab[logX+logY];
PFLASH.c: ^
PFLASH.c: PFLASH.c:128:11: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: memset(_Z,0,73);
PFLASH.c: ^
PFLASH.c: PFLASH.c:122:16: warning: '_Z' is static but used in inline function 'polySqu' which is not static
PFLASH.c: ...
SignScheme.c: SignScheme.c: In function 'signatureofshorthash':
SignScheme.c: SignScheme.c:211:19: warning: passing argument 1 of 'SignScheme_sign' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_sign( sk , h , mlen , sm );
SignScheme.c: ^
SignScheme.c: SignScheme.c:95:5: note: expected 'byte * {aka unsigned char *}' 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:19: warning: passing argument 1 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte * {aka unsigned char *}' 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:24: warning: passing argument 2 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte * {aka unsigned char *}' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
PFLASH.c: PFLASH.c:152:16: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: memcpy( outZ ,_Z,37);
PFLASH.c: ^
PFLASH.c: PFLASH.c:149:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37- 0)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:148:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37- 2)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:147:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37-10)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:146:4: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: _Z[i-(37-12)] ^= temp;
PFLASH.c: ^
PFLASH.c: PFLASH.c:143:10: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: temp = _Z[i];
PFLASH.c: ^
PFLASH.c: PFLASH.c:136:15: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: if( logY ) _Z[i+j] ^= alogtab[logX+logY];
PFLASH.c: ^
PFLASH.c: PFLASH.c:128:11: warning: '_Z' is static but used in inline function 'polyMul' which is not static
PFLASH.c: memset(_Z,0,73);
PFLASH.c: ^
PFLASH.c: PFLASH.c:122:16: warning: '_Z' is static but used in inline function 'polySqu' which is not static
PFLASH.c: ...
SignScheme.c: SignScheme.c: In function 'signatureofshorthash':
SignScheme.c: SignScheme.c:211:19: warning: passing argument 1 of 'SignScheme_sign' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_sign( sk , h , mlen , sm );
SignScheme.c: ^
SignScheme.c: SignScheme.c:95:5: note: expected 'byte * {aka unsigned char *}' 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:19: warning: passing argument 1 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte * {aka unsigned char *}' 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:24: warning: passing argument 2 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte * {aka unsigned char *}' 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