Implementation notes: amd64, h5nano, crypto_sign/pflash1

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: pflash1
TimeImplementationCompilerBenchmark dateSUPERCOP version
1561110refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014082520140622
1952865refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014082520140622
2143075refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014082520140622
2167670refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014082520140622
2184605refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014082520140622
2230720refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014082520140622
2235345refgcc -O2 -fomit-frame-pointer2014082520140622
2293490refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014082520140622
2311230refgcc -funroll-loops -O3 -fomit-frame-pointer2014082520140622
2340470refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014082520140622
2385390refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014082520140622
2432455refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014082520140622
2459340refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014082520140622
2467665refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014082520140622
2467725refgcc -m64 -march=nocona -O -fomit-frame-pointer2014082520140622
2478445refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014082520140622
2478615refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014082520140622
2489485refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014082520140622
2569350refgcc -funroll-loops -O -fomit-frame-pointer2014082520140622
2576860refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014082520140622
2607015refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014082520140622
2615850refgcc -m64 -O3 -fomit-frame-pointer2014082520140622
2627455refgcc -march=k8 -O3 -fomit-frame-pointer2014082520140622
2630700refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014082520140622
2637125refgcc -m64 -Os -fomit-frame-pointer2014082520140622
2652075refgcc -march=k8 -O2 -fomit-frame-pointer2014082520140622
2652785refgcc -funroll-loops -Os -fomit-frame-pointer2014082520140622
2653585refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014082520140622
2669545refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014082520140622
2687620refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014082520140622
2691120refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014082520140622
2693300refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014082520140622
2701565refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014082520140622
2706260refgcc -funroll-loops -O2 -fomit-frame-pointer2014082520140622
2748400refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014082520140622
2750450refgcc -march=barcelona -O -fomit-frame-pointer2014082520140622
2763280refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014082520140622
2817715refgcc -march=barcelona -Os -fomit-frame-pointer2014082520140622
2830180refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014082520140622
2832270refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014082520140622
2842960refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014082520140622
2847140refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014082520140622
2894490refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014082520140622
2896725refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014082520140622
2920375refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014082520140622
2931275refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014082520140622
2933790refgcc -march=barcelona -O3 -fomit-frame-pointer2014082520140622
2944785refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014082520140622
2961770refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014082520140622
2970930refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014082520140622
2980285refgcc -march=barcelona -O2 -fomit-frame-pointer2014082520140622
3004710refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014082520140622
3006985refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014082520140622
3021550refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014082520140622
3049845refgcc -march=k8 -Os -fomit-frame-pointer2014082520140622
3102640refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014082520140622
3109935refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014082520140622
3114765refgcc -m64 -march=core2 -O -fomit-frame-pointer2014082520140622
3116695refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014082520140622
3121035refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014082520140622
3130565refgcc -m64 -march=k8 -O -fomit-frame-pointer2014082520140622
3131910refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014082520140622
3171260refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014082520140622
3179875refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014082520140622
3223825refgcc -O3 -fomit-frame-pointer2014082520140622
3236485refgcc -march=nocona -O -fomit-frame-pointer2014082520140622
3236540refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014082520140622
3252160refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014082520140622
3254910refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014082520140622
3258405refgcc -m64 -O2 -fomit-frame-pointer2014082520140622
3260050refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014082520140622
3284150refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014082520140622
3285475refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014082520140622
3308785refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014082520140622
3320315refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014082520140622
3321660refgcc -Os -fomit-frame-pointer2014082520140622
3321795refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014082520140622
3361920refgcc -O -fomit-frame-pointer2014082520140622
3417375refgcc -march=k8 -O -fomit-frame-pointer2014082520140622
3439325refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014082520140622
3459230refgcc -march=nocona -O3 -fomit-frame-pointer2014082520140622
3541625refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014082520140622
3544320refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014082520140622
3573820refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014082520140622
3596530refgcc -fno-schedule-insns -O -fomit-frame-pointer2014082520140622
3677475refgcc -march=nocona -O2 -fomit-frame-pointer2014082520140622
3785050refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014082520140622
3808240refgcc -m64 -O -fomit-frame-pointer2014082520140622
3813615refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014082520140622
3823445refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014082520140622
3917770refgcc -march=nocona -Os -fomit-frame-pointer2014082520140622
3998540refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014082520140622
10700895refcc2014082520140622
11364720refgcc2014082520140622
11518930refgcc -funroll-loops2014082520140622

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: 91, 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=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 -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 -fomit-frame-pointer
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: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning 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: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/pflash1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
BLAS.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
BLAS.c: clang: warning: argument unused during compilation: '-mavx2'
BLAS.c: clang: warning: argument unused during compilation: '-mpclmul'
GF.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
GF.c: clang: warning: argument unused during compilation: '-mavx2'
GF.c: clang: warning: argument unused during compilation: '-mpclmul'
GF16.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
GF16.c: clang: warning: argument unused during compilation: '-mavx2'
GF16.c: clang: warning: argument unused during compilation: '-mpclmul'
GF256.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
GF256.c: clang: warning: argument unused during compilation: '-mavx2'
GF256.c: clang: warning: argument unused during compilation: '-mpclmul'
GFword.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
GFword.c: clang: warning: argument unused during compilation: '-mavx2'
GFword.c: clang: warning: argument unused during compilation: '-mpclmul'
PFLASH.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
PFLASH.c: clang: warning: argument unused during compilation: '-mavx2'
PFLASH.c: clang: warning: argument unused during compilation: '-mpclmul'
SignScheme.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
SignScheme.c: clang: warning: argument unused during compilation: '-mavx2'
SignScheme.c: clang: warning: argument unused during compilation: '-mpclmul'
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.
usehash.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
usehash.c: clang: warning: argument unused during compilation: '-mavx2'
usehash.c: clang: warning: argument unused during compilation: '-mpclmul'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning 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: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/pflash1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
BLAS.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
BLAS.c: clang: warning: argument unused during compilation: '-mavx2'
BLAS.c: clang: warning: argument unused during compilation: '-mpclmul'
BLAS.c: clang: warning: argument unused during compilation: '-fpolly'
BLAS.c: clang: warning: argument unused during compilation: '-fvectorize'
BLAS.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
BLAS.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
GF.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
GF.c: clang: warning: argument unused during compilation: '-mavx2'
GF.c: clang: warning: argument unused during compilation: '-mpclmul'
GF.c: clang: warning: argument unused during compilation: '-fpolly'
GF.c: clang: warning: argument unused during compilation: '-fvectorize'
GF.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
GF.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
GF16.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
GF16.c: clang: warning: argument unused during compilation: '-mavx2'
GF16.c: clang: warning: argument unused during compilation: '-mpclmul'
GF16.c: clang: warning: argument unused during compilation: '-fpolly'
GF16.c: clang: warning: argument unused during compilation: '-fvectorize'
GF16.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
GF16.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
GF256.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
GF256.c: clang: warning: argument unused during compilation: '-mavx2'
GF256.c: clang: warning: argument unused during compilation: '-mpclmul'
GF256.c: clang: warning: argument unused during compilation: '-fpolly'
GF256.c: clang: warning: argument unused during compilation: '-fvectorize'
GF256.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
GF256.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
GFword.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
GFword.c: clang: warning: argument unused during compilation: '-mavx2'
GFword.c: clang: warning: argument unused during compilation: '-mpclmul'
GFword.c: clang: warning: argument unused during compilation: '-fpolly'
GFword.c: clang: warning: argument unused during compilation: '-fvectorize'
GFword.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
GFword.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
PFLASH.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
PFLASH.c: clang: warning: argument unused during compilation: '-mavx2'
PFLASH.c: clang: warning: argument unused during compilation: '-mpclmul'
PFLASH.c: clang: warning: argument unused during compilation: '-fpolly'
PFLASH.c: clang: warning: argument unused during compilation: '-fvectorize'
PFLASH.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
PFLASH.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
SignScheme.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
SignScheme.c: clang: warning: argument unused during compilation: '-mavx2'
SignScheme.c: clang: warning: argument unused during compilation: '-mpclmul'
SignScheme.c: clang: warning: argument unused during compilation: '-fpolly'
SignScheme.c: clang: warning: argument unused during compilation: '-fvectorize'
SignScheme.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
SignScheme.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
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: ...
usehash.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
usehash.c: clang: warning: argument unused during compilation: '-mavx2'
usehash.c: clang: warning: argument unused during compilation: '-mpclmul'
usehash.c: clang: warning: argument unused during compilation: '-fpolly'
usehash.c: clang: warning: argument unused during compilation: '-fvectorize'
usehash.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
usehash.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning 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: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/pflash1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
BLAS.c: clang: warning: argument unused during compilation: '-mavx2'
GF.c: clang: warning: argument unused during compilation: '-mavx2'
GF16.c: clang: warning: argument unused during compilation: '-mavx2'
GF256.c: clang: warning: argument unused during compilation: '-mavx2'
GFword.c: clang: warning: argument unused during compilation: '-mavx2'
PFLASH.c: clang: warning: argument unused during compilation: '-mavx2'
SignScheme.c: clang: warning: argument unused during compilation: '-mavx2'
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.
usehash.c: clang: warning: argument unused during compilation: '-mavx2'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning 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: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/pflash1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
BLAS.c: clang: warning: argument unused during compilation: '-mavx2'
BLAS.c: clang: warning: argument unused during compilation: '-fpolly'
BLAS.c: clang: warning: argument unused during compilation: '-fvectorize'
BLAS.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
BLAS.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
GF.c: clang: warning: argument unused during compilation: '-mavx2'
GF.c: clang: warning: argument unused during compilation: '-fpolly'
GF.c: clang: warning: argument unused during compilation: '-fvectorize'
GF.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
GF.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
GF16.c: clang: warning: argument unused during compilation: '-mavx2'
GF16.c: clang: warning: argument unused during compilation: '-fpolly'
GF16.c: clang: warning: argument unused during compilation: '-fvectorize'
GF16.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
GF16.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
GF256.c: clang: warning: argument unused during compilation: '-mavx2'
GF256.c: clang: warning: argument unused during compilation: '-fpolly'
GF256.c: clang: warning: argument unused during compilation: '-fvectorize'
GF256.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
GF256.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
GFword.c: clang: warning: argument unused during compilation: '-mavx2'
GFword.c: clang: warning: argument unused during compilation: '-fpolly'
GFword.c: clang: warning: argument unused during compilation: '-fvectorize'
GFword.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
GFword.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
PFLASH.c: clang: warning: argument unused during compilation: '-mavx2'
PFLASH.c: clang: warning: argument unused during compilation: '-fpolly'
PFLASH.c: clang: warning: argument unused during compilation: '-fvectorize'
PFLASH.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
PFLASH.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
SignScheme.c: clang: warning: argument unused during compilation: '-mavx2'
SignScheme.c: clang: warning: argument unused during compilation: '-fpolly'
SignScheme.c: clang: warning: argument unused during compilation: '-fvectorize'
SignScheme.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
SignScheme.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
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.
usehash.c: clang: warning: argument unused during compilation: '-mavx2'
usehash.c: clang: warning: argument unused during compilation: '-fpolly'
usehash.c: clang: warning: argument unused during compilation: '-fvectorize'
usehash.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
usehash.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning 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: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -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