Implementation notes: amd64, scw1b63b1, crypto_sign/pflash1

Computer: scw1b63b1
Architecture: amd64
CPU ID: GenuineIntel-000506f1-0f8bfbff
SUPERCOP version: 20191017
Operation: crypto_sign
Primitive: pflash1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
177297864211 1088 607188483 1936 7744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
191523096226 1088 607192931 1936 7744refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
208240664651 1088 607188843 1936 7744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
223748442328 1088 607166051 1928 7712refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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: ...
PFLASH.c: ^~
PFLASH.c: PFLASH.c:113:7: warning: ‘_Z’ is static but used in inline function ‘polySqu’ which is not static
PFLASH.c: if( _Z[i] )
PFLASH.c: ^~
PFLASH.c: PFLASH.c:108:14: warning: ‘_Z’ is static but used in inline function ‘polySqu’ which is not static
PFLASH.c: if( logX ) _Z[i<<1] = alogtab[logX<<1];
PFLASH.c: ^~
PFLASH.c: PFLASH.c:104:10: warning: ‘_Z’ is static but used in inline function ‘polySqu’ which is not static
PFLASH.c: memset( _Z , 0 , 73 );
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 -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref

Namespace violations

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
BLAS.o BLAS_aLinearGF16 T
BLAS.o BLAS_affineGF16 T
BLAS.o BLAS_dumpMat T
BLAS.o BLAS_dumpVec T
BLAS.o BLAS_elemRowOpIII T
BLAS.o BLAS_genMatGF16 T
BLAS.o BLAS_genVec T
BLAS.o BLAS_gusElimHomoEqs T
BLAS.o BLAS_ivsAffineGF16 T
BLAS.o BLAS_ivsD T
BLAS.o BLAS_ivsL T
BLAS.o BLAS_ivsU T
BLAS.o BLAS_pLinearGF16 T
BLAS.o BLAS_prod_A T
BLAS.o BLAS_rLinearGF16 T
GF.o alogtab D
GF.o logg D
GF.o logg1 D
GF.o logtab D
GFword.o GF_256_12_div T
GFword.o GF_256_12_inv T
GFword.o GF_256_12_mul T
GFword.o GF_256_12_sqrt T
GFword.o GF_256_16_div T
GFword.o GF_256_16_inv T
GFword.o GF_256_16_mul T
GFword.o GF_256_16_sqrt T
GFword.o GF_256_8_div T
GFword.o GF_256_8_inv T
GFword.o GF_256_8_mul T
GFword.o GF_256_8_mul_g T
GFword.o GF_256_8_sqr T
GFword.o GF_256_8_sqrt T
GFword.o GF_dword_div T
GFword.o GF_dword_inv T
GFword.o GF_dword_mul T
GFword.o GF_dword_mul_g T
GFword.o GF_dword_mul_gg T
GFword.o GF_dword_sqr T
GFword.o GF_dword_sqrt T
GFword.o GF_word_div T
GFword.o GF_word_inv T
GFword.o GF_word_mul T
GFword.o GF_word_mul_g T
GFword.o GF_word_mul_gg T
GFword.o GF_word_mul_ggg T
GFword.o GF_word_sqr T
GFword.o GF_word_sqrt T
PFLASH.o PFLASH_QMap T
PFLASH.o PFLASH_ivsQMap T
SignScheme.o SignScheme_GMap T
SignScheme.o SignScheme_PMap T
SignScheme.o SignScheme_genKey T
SignScheme.o SignScheme_genPubKey T
SignScheme.o SignScheme_sign T
SignScheme.o keypair T
SignScheme.o signatureofshorthash T
SignScheme.o verification T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref