Implementation notes: x86, gcc16, crypto_dh/surf127eps

Computer: gcc16
Architecture: x86
CPU ID: AuthenticAMD-00100f23-178bfbff
SUPERCOP version: 20171020
Operation: crypto_dh
Primitive: surf127eps

Compiler output

Implementation: crypto_dh/surf127eps/mpfq
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
keysharing.c: In file included from keysharing.c:3:
keysharing.c: /usr/include/gmp.h:43:22: error: gmp-i386.h: No such file or directory
keysharing.c: keysharing.c:20: error: expected specifier-qualifier-list before 'mpfq_p_127_735_elt'
keysharing.c: keysharing.c:31: error: expected specifier-qualifier-list before 'mpfq_p_127_735_elt'
keysharing.c: keysharing.c:43: error: expected ')' before 'k'
keysharing.c: keysharing.c:46: error: expected ')' before 'k'
keysharing.c: keysharing.c:47: error: expected ')' before 'k'
keysharing.c: keysharing.c:48: error: expected ')' before 'k'
keysharing.c: keysharing.c:52: error: expected ')' before 'k'
keysharing.c: keysharing.c:70: error: expected ')' before 'z'
keysharing.c: keysharing.c:83: error: expected ';', ',' or ')' before 'z'
keysharing.c: keysharing.c: In function 'crypto_dh_surf127eps_mpfq_keypair':
keysharing.c: keysharing.c:106: error: 'mpz_t' undeclared (first use in this function)
keysharing.c: keysharing.c:106: error: (Each undeclared identifier is reported only once
keysharing.c: keysharing.c:106: error: for each function it appears in.)
keysharing.c: keysharing.c:106: error: expected ';' before 'key'
keysharing.c: keysharing.c:107: error: 'mpfq_p_127_735_field' undeclared (first use in this function)
keysharing.c: keysharing.c:107: error: expected ';' before 'K'
keysharing.c: keysharing.c:116: error: 'K' undeclared (first use in this function)
keysharing.c: keysharing.c:116: error: 'mp_limb_t' undeclared (first use in this function)
keysharing.c: keysharing.c:116: error: expected expression before ')' token
keysharing.c: keysharing.c:118: error: 'KSpoint_struct' has no member named 'x'
keysharing.c: keysharing.c:119: error: 'KSpoint_struct' has no member named 'y'
keysharing.c: keysharing.c:120: error: 'KSpoint_struct' has no member named 'z'
keysharing.c: keysharing.c:121: error: 'KSpoint_struct' has no member named 't'
keysharing.c: ...

Number of similar (compiler,implementation) pairs: 156, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer mpfq
gcc -m32 -O2 -fomit-frame-pointer mpfq
gcc -m32 -O3 -fomit-frame-pointer mpfq
gcc -m32 -O -fomit-frame-pointer mpfq
gcc -m32 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=athlon -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=athlon -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=athlon -O -fomit-frame-pointer mpfq
gcc -m32 -march=athlon -Os -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -O -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=i386 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=i386 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=i386 -O -fomit-frame-pointer mpfq
gcc -m32 -march=i386 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=i486 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=i486 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=i486 -O -fomit-frame-pointer mpfq
gcc -m32 -march=i486 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=k6-2 -O -fomit-frame-pointer mpfq
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=k6-3 -O -fomit-frame-pointer mpfq
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=k6 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=k6 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=k6 -O -fomit-frame-pointer mpfq
gcc -m32 -march=k6 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=k8 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=k8 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=k8 -O -fomit-frame-pointer mpfq
gcc -m32 -march=k8 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer mpfq
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer mpfq
gcc -m32 -march=nocona -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=nocona -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=nocona -O -fomit-frame-pointer mpfq
gcc -m32 -march=nocona -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-m -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium2 -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium3 -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium4 -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer mpfq
gcc -m32 -march=prescott -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=prescott -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=prescott -O -fomit-frame-pointer mpfq
gcc -m32 -march=prescott -Os -fomit-frame-pointer mpfq

Compiler output

Implementation: crypto_dh/surf127eps/mpfq
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
keysharing.c: In file included from keysharing.c:3:
keysharing.c: /usr/include/gmp.h:43:22: error: gmp-i386.h: No such file or directory
keysharing.c: keysharing.c:20: error: expected specifier-qualifier-list before 'mpfq_p_127_735_elt'
keysharing.c: keysharing.c:31: error: expected specifier-qualifier-list before 'mpfq_p_127_735_elt'
keysharing.c: keysharing.c:43: error: expected ')' before 'k'
keysharing.c: keysharing.c:46: error: expected ')' before 'k'
keysharing.c: keysharing.c:47: error: expected ')' before 'k'
keysharing.c: keysharing.c:48: error: expected ')' before 'k'
keysharing.c: keysharing.c:52: error: expected ')' before 'k'
keysharing.c: keysharing.c:70: error: expected ')' before 'z'
keysharing.c: keysharing.c:83: error: expected ';', ',' or ')' before 'z'
keysharing.c: keysharing.c: In function 'crypto_dh_surf127eps_mpfq_keypair':
keysharing.c: keysharing.c:106: error: 'mpz_t' undeclared (first use in this function)
keysharing.c: keysharing.c:106: error: (Each undeclared identifier is reported only once
keysharing.c: keysharing.c:106: error: for each function it appears in.)
keysharing.c: keysharing.c:106: error: expected ';' before 'key'
keysharing.c: keysharing.c:107: error: 'mpfq_p_127_735_field' undeclared (first use in this function)
keysharing.c: keysharing.c:107: error: expected ';' before 'K'
keysharing.c: keysharing.c:116: error: 'K' undeclared (first use in this function)
keysharing.c: keysharing.c:116: error: 'mp_limb_t' undeclared (first use in this function)
keysharing.c: keysharing.c:116: error: expected expression before ')' token
keysharing.c: keysharing.c:118: error: 'KSpoint_struct' has no member named 'x'
keysharing.c: keysharing.c:119: error: 'KSpoint_struct' has no member named 'y'
keysharing.c: keysharing.c:120: error: 'KSpoint_struct' has no member named 'z'
keysharing.c: keysharing.c:121: error: 'KSpoint_struct' has no member named 't'
keysharing.c: ...
keysharing.c: In file included from keysharing.c:3:
keysharing.c: /usr/include/gmp.h:43:22: error: gmp-i386.h: No such file or directory
keysharing.c: keysharing.c:20: error: expected specifier-qualifier-list before 'mpfq_p_127_735_elt'
keysharing.c: keysharing.c:31: error: expected specifier-qualifier-list before 'mpfq_p_127_735_elt'
keysharing.c: keysharing.c:43: error: expected ')' before 'k'
keysharing.c: keysharing.c:46: error: expected ')' before 'k'
keysharing.c: keysharing.c:47: error: expected ')' before 'k'
keysharing.c: keysharing.c:48: error: expected ')' before 'k'
keysharing.c: keysharing.c:52: error: expected ')' before 'k'
keysharing.c: keysharing.c:70: error: expected ')' before 'z'
keysharing.c: keysharing.c:83: error: expected ';', ',' or ')' before 'z'
keysharing.c: keysharing.c: In function 'crypto_dh_surf127eps_mpfq_keypair':
keysharing.c: keysharing.c:106: error: 'mpz_t' undeclared (first use in this function)
keysharing.c: keysharing.c:106: error: (Each undeclared identifier is reported only once
keysharing.c: keysharing.c:106: error: for each function it appears in.)
keysharing.c: keysharing.c:106: error: expected ';' before 'key'
keysharing.c: keysharing.c:107: error: 'mpfq_p_127_735_field' undeclared (first use in this function)
keysharing.c: keysharing.c:107: error: expected ';' before 'K'
keysharing.c: keysharing.c:116: error: 'K' undeclared (first use in this function)
keysharing.c: keysharing.c:116: error: 'mp_limb_t' undeclared (first use in this function)
keysharing.c: keysharing.c:116: error: expected expression before ')' token
keysharing.c: keysharing.c:118: error: 'KSpoint_struct' has no member named 'x'
keysharing.c: keysharing.c:119: error: 'KSpoint_struct' has no member named 'y'
keysharing.c: keysharing.c:120: error: 'KSpoint_struct' has no member named 'z'
keysharing.c: keysharing.c:121: error: 'KSpoint_struct' has no member named 't'
keysharing.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=barcelona -O -fomit-frame-pointer mpfq
gcc -m32 -march=barcelona -Os -fomit-frame-pointer mpfq