Implementation notes: amd64, h4e350, crypto_sign/pflash1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: pflash1
TimeImplementationCompilerBenchmark dateSUPERCOP version
2018565refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
2038200refgcc -funroll-loops -O -fomit-frame-pointer2014080820140622
2416215refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014080820140622
2512854refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
2538099refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
2560047refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014080820140622
2568918refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014080820140622
2598609refgcc -funroll-loops -O3 -fomit-frame-pointer2014080820140622
2641299refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
2650095refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
2654103refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014080820140622
2751489refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
2765907refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
2775276refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014080820140622
2836860refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014080820140622
2839959refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
2867301refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
2879034refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014080820140622
2882109refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014080820140622
2904699refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
2925210refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014080820140622
2952189refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014080820140622
2958558refgcc -march=k8 -O -fomit-frame-pointer2014080820140622
2971710refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
2976171refgcc -Os -fomit-frame-pointer2014080820140622
2980818refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014080820140622
3006519refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
3038151refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014080820140622
3078150refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014080820140622
3148272refgcc -march=barcelona -O2 -fomit-frame-pointer2014080820140622
3168366refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014080820140622
3168915refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
3171480refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014080820140622
3197640refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
3210987refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014080820140622
3246834refgcc -march=k8 -O2 -fomit-frame-pointer2014080820140622
3275832refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014080820140622
3297597refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
3361284refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014080820140622
3370296refgcc -march=barcelona -Os -fomit-frame-pointer2014080820140622
3372867refgcc -march=k8 -Os -fomit-frame-pointer2014080820140622
3391746refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014080820140622
3391989refgcc -funroll-loops -O2 -fomit-frame-pointer2014080820140622
3399063refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014080820140622
3403824refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014080820140622
3419082refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014080820140622
3428142refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014080820140622
3435222refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014080820140622
3458775refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014080820140622
3459162refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014080820140622
3459294refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014080820140622
3467439refgcc -march=barcelona -O3 -fomit-frame-pointer2014080820140622
3483168refgcc -fno-schedule-insns -O -fomit-frame-pointer2014080820140622
3489990refgcc -march=k8 -O3 -fomit-frame-pointer2014080820140622
3496905refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014080820140622
3504846refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
3516411refgcc -m64 -march=nocona -O -fomit-frame-pointer2014080820140622
3537768refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014080820140622
3574281refgcc -m64 -Os -fomit-frame-pointer2014080820140622
3591321refgcc -march=nocona -Os -fomit-frame-pointer2014080820140622
3657108refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014080820140622
3675222refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014080820140622
3725151refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014080820140622
3747270refgcc -funroll-loops -Os -fomit-frame-pointer2014080820140622
3753024refgcc -m64 -march=core2 -O -fomit-frame-pointer2014080820140622
3774240refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014080820140622
3791505refgcc -O3 -fomit-frame-pointer2014080820140622
3862317refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014080820140622
3888681refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014080820140622
3988287refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014080820140622
4000773refgcc -march=nocona -O -fomit-frame-pointer2014080820140622
4080129refgcc -march=nocona -O3 -fomit-frame-pointer2014080820140622
4228227refgcc -O -fomit-frame-pointer2014080820140622
4254570refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014080820140622
4255764refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014080820140622
4260453refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014080820140622
4268649refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014080820140622
4271211refgcc -m64 -march=k8 -O -fomit-frame-pointer2014080820140622
4272150refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014080820140622
4302210refgcc -m64 -O -fomit-frame-pointer2014080820140622
4314165refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014080820140622
4320327refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014080820140622
4393470refgcc -march=nocona -O2 -fomit-frame-pointer2014080820140622
4456875refgcc -m64 -O3 -fomit-frame-pointer2014080820140622
4501665refgcc -m64 -O2 -fomit-frame-pointer2014080820140622
4529769refgcc -O2 -fomit-frame-pointer2014080820140622
4606806refgcc -march=barcelona -O -fomit-frame-pointer2014080820140622
4825464refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014080820140622
5102703refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014080820140622
9210069refgcc -funroll-loops2014080820140622
10246845refcc2014080820140622
11603187refgcc2014080820140622

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: 88, 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 -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=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