Implementation notes: amd64, manny613, crypto_sign/pqrsa15

Computer: manny613
Architecture: amd64
CPU ID: GenuineIntel-000306e4-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_sign
Primitive: pqrsa15
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
196989064? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018083020180818
196997928? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018083020180818
197046888? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018083020180818
197055872? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018083020180818
197061060? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018083020180818
197061960? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018083020180818
197066084? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018083020180818
197066428? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018083020180818
197068740? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018083020180818
197077404? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018083020180818
197086288? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018083020180818
197087232? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018083020180818
197091680? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018083020180818
197094984? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018083020180818
197097680? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018083020180818
197100524? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018083020180818
197103736? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018083020180818
197107160? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018083020180818
197108260? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018083020180818
197110612? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018083020180818
197111880? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018083020180818
197116248? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018083020180818
197118572? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018083020180818
197121788? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018083020180818
197124420? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018083020180818
197125968? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018083020180818
197133396? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018083020180818
197136268? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018083020180818
197139444? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018083020180818
197139508? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018083020180818
197140740? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018083020180818
197149536? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018083020180818
197150476? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018083020180818
197156676? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018083020180818
197161440? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018083020180818
197185508? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018083020180818
197189996? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018083020180818
197197924? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018083020180818
197199320? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018083020180818
197202820? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018083020180818
197206560? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018083020180818
197208160? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018083020180818
197209280? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018083020180818
197210940? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018083020180818
197212744? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018083020180818
197215720? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018083020180818
197218976? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018083020180818
197240076? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018083020180818
197240828? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018083020180818
197257644? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018083020180818
197258036? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018083020180818
197265612? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018083020180818
197278068? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018083020180818
197280396? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018083020180818
197282128? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018083020180818
197288392? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018083020180818
197292936? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018083020180818
197293208? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018083020180818
197295496? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018083020180818
197302200? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018083020180818
197309564? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018083020180818
197313848? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018083020180818
197320992? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018083020180818
197326692? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018083020180818
197347008? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018083020180818
197359488? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018083020180818
197359812? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018083020180818
197362444? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018083020180818
197364936? ? ?? ? ?reficc2018083020180818
197372240? ? ?? ? ?reficc_-xSSE4.2_-O2_-fomit-frame-pointer2018083020180818
197377584? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018083020180818
197381720? ? ?? ? ?reficc_-xAVX_-O2_-fomit-frame-pointer2018083020180818
197385444? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018083020180818
197404372? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018083020180818
197409420? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018083020180818
197414452? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018083020180818
197415140? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018083020180818
197422008? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018083020180818
197423120? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018083020180818
197431396? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018083020180818
197442392? ? ?? ? ?reficc_-xSSE4.2_-O3_-fomit-frame-pointer2018083020180818
197470620? ? ?? ? ?reficc_-xSSE4.1_-O3_-fomit-frame-pointer2018083020180818
197476124? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018083020180818
197477596? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018083020180818
197488116? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018083020180818
197494412? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018083020180818
197496680? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018083020180818
197517976? ? ?? ? ?reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018083020180818
197520168? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018083020180818
197526480? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018083020180818
197541352? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018083020180818
197546064? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018083020180818
197552920? ? ?? ? ?refgcc2018083020180818
197555888? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018083020180818
197561132? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018083020180818
197571796? ? ?? ? ?reficc_-xSSE4.1_-O2_-fomit-frame-pointer2018083020180818
197574112? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018083020180818
197617292? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018083020180818
197636960? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018083020180818
197638680? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018083020180818
197657676? ? ?? ? ?refgcc_-funroll-loops2018083020180818
197703540? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018083020180818
197736752? ? ?? ? ?reficc_-xAVX_-O3_-fomit-frame-pointer2018083020180818
197754280? ? ?? ? ?reficc_-no-vec2018083020180818
197767380? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018083020180818
197811036? ? ?? ? ?reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018083020180818
197978076? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018083020180818
198003112? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018083020180818
198439108? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018083020180818
198798320? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018083020180818
200406640? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018083020180818
200526040? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018083020180818
201456136? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018083020180818
202131820? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018083020180818
205649320? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018083020180818
213715528? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018083020180818

Test failure

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
sign.c: sign.c: In function 'remainders_via_tree':
sign.c: sign.c:95:3: warning: passing argument 3 of 'remainders_via_tree' from incompatible pointer type [enabled by default]
sign.c: remainders_via_tree(xmodq,x,q,qlen);
sign.c: ^
sign.c: sign.c:68:13: note: expected 'const struct __mpz_struct (*)[1]' but argument is of type 'struct __mpz_struct (*)[1]'
sign.c: static void remainders_via_tree(mpz_t *xmodp,const mpz_t x,const mpz_t *p,long long plen)
sign.c: ^
sign.c: sign.c: In function 'cuberoot':
sign.c: sign.c:178:3: warning: passing argument 3 of 'sumfrac' from incompatible pointer type [enabled by default]
sign.c: sumfrac(x,t,xmodp,p,K);
sign.c: ^
sign.c: sign.c:24:13: note: expected 'const struct __mpz_struct (*)[1]' but argument is of type 'struct __mpz_struct (*)[1]'
sign.c: static void sumfrac(mpz_t num,mpz_t den,const mpz_t *x,const mpz_t *p,long long plen)
sign.c: ^
sign.c: sign.c: In function 'crypto_sign_pqrsa15_ref':
sign.c: sign.c:232:3: warning: passing argument 2 of 'cuberoot' from incompatible pointer type [enabled by default]
sign.c: cuberoot(X,p,pinv,N);
sign.c: ^
sign.c: sign.c:135:12: note: expected 'const struct __mpz_struct (*)[1]' but argument is of type 'struct __mpz_struct (*)[1]'
sign.c: static int cuberoot(mpz_t x,const mpz_t *p,const mpz_t *pinv,const mpz_t N)
sign.c: ^
sign.c: sign.c:232:3: warning: passing argument 3 of 'cuberoot' from incompatible pointer type [enabled by default]
sign.c: cuberoot(X,p,pinv,N);
sign.c: ^
sign.c: sign.c:135:12: note: expected 'const struct __mpz_struct (*)[1]' but argument is of type 'struct __mpz_struct (*)[1]'
sign.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: icc
sign.c: sign.c(95): warning #167: argument of type "mpz_t *" is incompatible with parameter of type "const mpz_t *"
sign.c: remainders_via_tree(xmodq,x,q,qlen);
sign.c: ^
sign.c:
sign.c: sign.c(178): warning #167: argument of type "mpz_t *" is incompatible with parameter of type "const mpz_t *"
sign.c: sumfrac(x,t,xmodp,p,K);
sign.c: ^
sign.c:
sign.c: sign.c(232): warning #167: argument of type "mpz_t *" is incompatible with parameter of type "const mpz_t *"
sign.c: cuberoot(X,p,pinv,N);
sign.c: ^
sign.c:
sign.c: sign.c(232): warning #167: argument of type "mpz_t *" is incompatible with parameter of type "const mpz_t *"
sign.c: cuberoot(X,p,pinv,N);
sign.c: ^
sign.c:
sign.c: sign.c(283): warning #167: argument of type "mpz_t *" is incompatible with parameter of type "const mpz_t *"
sign.c: sumfrac(q,N,0,p,K);
sign.c: ^
sign.c:
sign.c: sign.c(284): warning #167: argument of type "mpz_t *" is incompatible with parameter of type "const mpz_t *"
sign.c: remainders(qmodp,q,p);
sign.c: ^
sign.c:

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
icc ref
icc -no-vec ref
icc -xAVX -O2 -fomit-frame-pointer ref
icc -xAVX -O3 -fomit-frame-pointer ref
icc -xCORE-AVX-I -O2 -fomit-frame-pointer ref
icc -xCORE-AVX-I -O3 -fomit-frame-pointer ref
icc -xSSE4.1 -O2 -fomit-frame-pointer ref
icc -xSSE4.1 -O3 -fomit-frame-pointer ref
icc -xSSE4.2 -O2 -fomit-frame-pointer ref
icc -xSSE4.2 -O3 -fomit-frame-pointer ref