Implementation notes: x86, gcc14, crypto_dh/sclaus2048

Computer: gcc14
Architecture: x86
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_dh
Primitive: sclaus2048
TimeImplementationCompilerBenchmark dateSUPERCOP version
14754627cryptoppg++ -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016102820161009
14757201cryptoppg++ -m32 -march=athlon -O2 -fomit-frame-pointer2016102820161009
14758371cryptoppg++ -m32 -march=pentium3 -O2 -fomit-frame-pointer2016102820161009
14758614cryptoppg++ -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2016102820161009
14758911cryptoppg++ -m32 -march=pentium2 -O2 -fomit-frame-pointer2016102820161009
14762673cryptoppg++ -m32 -march=pentium-m -O2 -fomit-frame-pointer2016102820161009
14763177cryptoppg++ -m32 -march=k8 -O2 -fomit-frame-pointer2016102820161009
14764446cryptoppg++ -m32 -march=k6-2 -O3 -fomit-frame-pointer2016102820161009
14766660cryptoppg++ -m32 -march=k6-3 -O3 -fomit-frame-pointer2016102820161009
14770179cryptoppg++ -m32 -march=core2 -Os -fomit-frame-pointer2016102820161009
14770647cryptoppg++ -m32 -march=prescott -Os -fomit-frame-pointer2016102820161009
14771502cryptoppg++ -m32 -march=nocona -Os -fomit-frame-pointer2016102820161009
14771547cryptoppg++ -m32 -march=i386 -Os -fomit-frame-pointer2016102820161009
14771790cryptoppg++ -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2016102820161009
14772213cryptoppg++ -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016102820161009
14772366cryptoppg++ -m32 -march=pentium3 -Os -fomit-frame-pointer2016102820161009
14772537cryptoppg++ -m32 -march=pentium -O2 -fomit-frame-pointer2016102820161009
14773095cryptoppg++ -m32 -march=pentium4 -Os -fomit-frame-pointer2016102820161009
14773536cryptoppg++ -m32 -march=k6 -O3 -fomit-frame-pointer2016102820161009
14773563cryptoppg++ -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016102820161009
14774346cryptoppg++ -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102820161009
14774517cryptoppg++ -m32 -march=i386 -O -fomit-frame-pointer2016102820161009
14776173cryptoppg++ -m32 -march=athlon -Os -fomit-frame-pointer2016102820161009
14777361cryptoppg++ -m32 -march=nocona -O -fomit-frame-pointer2016102820161009
14778360cryptoppg++ -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016102820161009
14778522cryptoppg++ -m32 -march=k6-3 -Os -fomit-frame-pointer2016102820161009
14778630cryptoppg++ -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102820161009
14779917cryptoppg++ -m32 -O2 -fomit-frame-pointer2016102820161009
14779998cryptoppg++ -m32 -march=k6-2 -Os -fomit-frame-pointer2016102820161009
14780934cryptoppg++ -m32 -march=pentium -O3 -fomit-frame-pointer2016102820161009
14781834cryptoppg++ -m32 -march=k6-3 -O -fomit-frame-pointer2016102820161009
14781861cryptoppg++ -m32 -march=i386 -O3 -fomit-frame-pointer2016102820161009
14782383cryptoppg++ -m32 -O3 -fomit-frame-pointer2016102820161009
14782392cryptoppg++ -m32 -march=pentium2 -Os -fomit-frame-pointer2016102820161009
14782950cryptoppg++ -m32 -march=nocona -O2 -fomit-frame-pointer2016102820161009
14784291cryptoppg++ -m32 -march=barcelona -Os -fomit-frame-pointer2016102820161009
14784372cryptoppg++ -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2016102820161009
14784678cryptoppg++ -m32 -march=prescott -O -fomit-frame-pointer2016102820161009
14784876cryptoppg++ -m32 -march=core2 -O2 -fomit-frame-pointer2016102820161009
14785290cryptoppg++ -m32 -march=i386 -O2 -fomit-frame-pointer2016102820161009
14785641cryptoppg++ -m32 -march=native -mtune=native -Os -fomit-frame-pointer2016102820161009
14785812cryptoppg++ -m32 -march=pentiumpro -Os -fomit-frame-pointer2016102820161009
14786082cryptoppg++ -m32 -march=pentium-m -Os -fomit-frame-pointer2016102820161009
14786406cryptoppg++ -m32 -march=nocona -O3 -fomit-frame-pointer2016102820161009
14786676cryptoppg++ -m32 -Os -fomit-frame-pointer2016102820161009
14786775cryptoppg++ -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016102820161009
14786946cryptoppg++ -m32 -march=i486 -O3 -fomit-frame-pointer2016102820161009
14787027cryptoppg++ -m32 -march=pentium3 -O3 -fomit-frame-pointer2016102820161009
14787495cryptoppg++ -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2016102820161009
14788017cryptoppg++ -m32 -march=pentium -Os -fomit-frame-pointer2016102820161009
14788206cryptoppg++ -m32 -march=pentium-m -O3 -fomit-frame-pointer2016102820161009
14788377cryptoppg++ -m32 -march=k8 -Os -fomit-frame-pointer2016102820161009
14788422cryptoppg++ -m32 -march=pentium4 -O2 -fomit-frame-pointer2016102820161009
14789187cryptoppg++ -m32 -march=athlon -O3 -fomit-frame-pointer2016102820161009
14789187cryptoppg++ -m32 -march=i486 -Os -fomit-frame-pointer2016102820161009
14789430cryptoppg++ -m32 -march=barcelona -O3 -fomit-frame-pointer2016102820161009
14789547cryptoppg++ -m32 -march=k6 -O2 -fomit-frame-pointer2016102820161009
14790303cryptoppg++ -m32 -march=k6-2 -O -fomit-frame-pointer2016102820161009
14790393cryptoppg++ -m32 -march=athlon -O -fomit-frame-pointer2016102820161009
14791095cryptoppg++ -m32 -march=k6 -Os -fomit-frame-pointer2016102820161009
14791356cryptoppg++ -m32 -march=pentium -O -fomit-frame-pointer2016102820161009
14792265cryptoppg++ -m32 -march=k8 -O -fomit-frame-pointer2016102820161009
14793606cryptoppg++ -m32 -march=core2 -O3 -fomit-frame-pointer2016102820161009
14794596cryptoppg++ -m32 -march=i486 -O -fomit-frame-pointer2016102820161009
14796603cryptoppg++ -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102820161009
14796639cryptoppg++ -m32 -march=prescott -O3 -fomit-frame-pointer2016102820161009
14797296cryptoppg++ -m32 -march=native -mtune=native -O -fomit-frame-pointer2016102820161009
14797827cryptoppg++ -m32 -march=prescott -O2 -fomit-frame-pointer2016102820161009
14798061cryptoppg++ -m32 -march=pentium-mmx -O -fomit-frame-pointer2016102820161009
14798403cryptoppg++ -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016102820161009
14800545cryptoppg++ -m32 -march=k8 -O3 -fomit-frame-pointer2016102820161009
14801445cryptoppg++ -m32 -O -fomit-frame-pointer2016102820161009
14801688cryptoppg++ -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102820161009
14802129cryptoppg++ -m32 -march=barcelona -O -fomit-frame-pointer2016102820161009
14802129cryptoppg++ -m32 -march=pentium2 -O -fomit-frame-pointer2016102820161009
14803434cryptoppg++ -m32 -march=pentium2 -O3 -fomit-frame-pointer2016102820161009
14805162cryptoppg++ -m32 -march=k6 -O -fomit-frame-pointer2016102820161009
14806566cryptoppg++ -m32 -march=pentiumpro -O -fomit-frame-pointer2016102820161009
14806638cryptoppg++ -m32 -march=pentium3 -O -fomit-frame-pointer2016102820161009
14807097cryptoppg++ -m32 -march=pentium4 -O -fomit-frame-pointer2016102820161009
14807106cryptoppg++ -m32 -march=core2 -msse4 -O -fomit-frame-pointer2016102820161009
14813244cryptoppg++ -m32 -march=core2 -O -fomit-frame-pointer2016102820161009
14816232cryptoppg++ -m32 -march=barcelona -O2 -fomit-frame-pointer2016102820161009
14820417cryptoppg++ -m32 -march=pentium-m -O -fomit-frame-pointer2016102820161009
14824701cryptoppg++ -m32 -march=pentium4 -O3 -fomit-frame-pointer2016102820161009
14878908cryptoppg++ -m32 -march=i486 -O2 -fomit-frame-pointer2016102820161009
14884002cryptoppg++ -m32 -march=k6-2 -O2 -fomit-frame-pointer2016102820161009
14895126cryptoppg++ -m32 -march=k6-3 -O2 -fomit-frame-pointer2016102820161009
26651817gmpg++ -m32 -march=k8 -O -fomit-frame-pointer2016102820161009
26666973gmpg++ -m32 -march=prescott -O3 -fomit-frame-pointer2016102820161009
26673759gmpg++ -m32 -march=athlon -O -fomit-frame-pointer2016102820161009
26692020gmpg++ -m32 -march=pentium4 -O -fomit-frame-pointer2016102820161009
26692902gmpg++ -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016102820161009
26694189gmpg++ -m32 -march=i486 -Os -fomit-frame-pointer2016102820161009
26702370gmpg++ -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102820161009
26708742gmpg++ -m32 -march=prescott -Os -fomit-frame-pointer2016102820161009
26710353gmpg++ -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2016102820161009
26710497gmpg++ -m32 -march=pentium -Os -fomit-frame-pointer2016102820161009
26714583gmpg++ -m32 -march=barcelona -Os -fomit-frame-pointer2016102820161009
26718030gmpg++ -m32 -march=pentium-m -Os -fomit-frame-pointer2016102820161009
26719470gmpg++ -m32 -march=i386 -Os -fomit-frame-pointer2016102820161009
26720064gmpg++ -m32 -march=nocona -Os -fomit-frame-pointer2016102820161009
26720712gmpg++ -m32 -O -fomit-frame-pointer2016102820161009
26722188gmpg++ -m32 -march=core2 -Os -fomit-frame-pointer2016102820161009
26722539gmpg++ -m32 -Os -fomit-frame-pointer2016102820161009
26723601gmpg++ -m32 -march=pentium4 -O3 -fomit-frame-pointer2016102820161009
26725257gmpg++ -m32 -march=k8 -Os -fomit-frame-pointer2016102820161009
26725887gmpg++ -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016102820161009
26727831gmpg++ -m32 -march=native -mtune=native -Os -fomit-frame-pointer2016102820161009
26728344gmpg++ -m32 -march=pentium3 -O3 -fomit-frame-pointer2016102820161009
26730981gmpg++ -m32 -march=athlon -Os -fomit-frame-pointer2016102820161009
26733069gmpg++ -m32 -march=pentium2 -Os -fomit-frame-pointer2016102820161009
26737092gmpg++ -m32 -march=pentium3 -Os -fomit-frame-pointer2016102820161009
26738091gmpg++ -m32 -march=nocona -O2 -fomit-frame-pointer2016102820161009
26739549gmpg++ -m32 -march=k6 -O -fomit-frame-pointer2016102820161009
26740377gmpg++ -m32 -march=pentium -O -fomit-frame-pointer2016102820161009
26747658gmpg++ -m32 -march=pentiumpro -Os -fomit-frame-pointer2016102820161009
26755740gmpg++ -m32 -march=pentium3 -O -fomit-frame-pointer2016102820161009
26758692gmpg++ -m32 -march=core2 -O2 -fomit-frame-pointer2016102820161009
26760276gmpg++ -m32 -march=k6 -O2 -fomit-frame-pointer2016102820161009
26761266gmpg++ -m32 -march=pentium -O2 -fomit-frame-pointer2016102820161009
26763255gmpg++ -m32 -march=pentium2 -O3 -fomit-frame-pointer2016102820161009
26767917gmpg++ -m32 -march=pentium-m -O3 -fomit-frame-pointer2016102820161009
26771814gmpg++ -m32 -march=barcelona -O -fomit-frame-pointer2016102820161009
26772525gmpg++ -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016102820161009
26772705gmpg++ -m32 -march=pentium4 -Os -fomit-frame-pointer2016102820161009
26782686gmpg++ -m32 -march=k6-3 -O -fomit-frame-pointer2016102820161009
26783640gmpg++ -m32 -march=pentium-mmx -O -fomit-frame-pointer2016102820161009
26784963gmpg++ -m32 -march=i486 -O -fomit-frame-pointer2016102820161009
26785629gmpg++ -m32 -march=k6 -Os -fomit-frame-pointer2016102820161009
26787213gmpg++ -m32 -march=nocona -O -fomit-frame-pointer2016102820161009
26787456gmpg++ -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2016102820161009
26788608gmpg++ -m32 -march=k6-2 -Os -fomit-frame-pointer2016102820161009
26792694gmpg++ -m32 -march=core2 -O -fomit-frame-pointer2016102820161009
26796060gmpg++ -m32 -march=prescott -O -fomit-frame-pointer2016102820161009
26806887gmpg++ -m32 -march=barcelona -O3 -fomit-frame-pointer2016102820161009
26808606gmpg++ -m32 -march=k6-2 -O -fomit-frame-pointer2016102820161009
26810856gmpg++ -m32 -march=pentium2 -O -fomit-frame-pointer2016102820161009
26812548gmpg++ -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2016102820161009
26822592gmpg++ -m32 -march=pentiumpro -O -fomit-frame-pointer2016102820161009
26824275gmpg++ -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016102820161009
26843949gmpg++ -m32 -march=k8 -O2 -fomit-frame-pointer2016102820161009
26845317gmpg++ -m32 -O2 -fomit-frame-pointer2016102820161009
26848134gmpg++ -m32 -march=pentium-m -O -fomit-frame-pointer2016102820161009
26851932gmpg++ -m32 -march=core2 -msse4 -O -fomit-frame-pointer2016102820161009
26854524gmpg++ -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102820161009
26857503gmpg++ -m32 -march=k6-3 -Os -fomit-frame-pointer2016102820161009
26863587gmpg++ -m32 -march=native -mtune=native -O -fomit-frame-pointer2016102820161009
26864910gmpg++ -m32 -march=i486 -O2 -fomit-frame-pointer2016102820161009
26875764gmpg++ -m32 -march=k6-3 -O2 -fomit-frame-pointer2016102820161009
26881659gmpg++ -m32 -march=k6-2 -O2 -fomit-frame-pointer2016102820161009
26883270gmpg++ -m32 -march=athlon -O2 -fomit-frame-pointer2016102820161009
26935371gmpg++ -m32 -march=nocona -O3 -fomit-frame-pointer2016102820161009
26941977gmpg++ -m32 -march=barcelona -O2 -fomit-frame-pointer2016102820161009
26966232gmpg++ -m32 -march=pentium -O3 -fomit-frame-pointer2016102820161009
26966376gmpg++ -m32 -march=k8 -O3 -fomit-frame-pointer2016102820161009
26972586gmpg++ -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2016102820161009
26984340gmpg++ -m32 -march=core2 -O3 -fomit-frame-pointer2016102820161009
26988102gmpg++ -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102820161009
27002430gmpg++ -m32 -march=prescott -O2 -fomit-frame-pointer2016102820161009
27007344gmpg++ -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016102820161009
27011430gmpg++ -m32 -march=pentium4 -O2 -fomit-frame-pointer2016102820161009
27021978gmpg++ -m32 -march=athlon -O3 -fomit-frame-pointer2016102820161009
27031203gmpg++ -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102820161009
27063855gmpg++ -m32 -O3 -fomit-frame-pointer2016102820161009
27078462gmpg++ -m32 -march=i486 -O3 -fomit-frame-pointer2016102820161009
27088065gmpg++ -m32 -march=pentium2 -O2 -fomit-frame-pointer2016102820161009
27088731gmpg++ -m32 -march=k6-3 -O3 -fomit-frame-pointer2016102820161009
27092007gmpg++ -m32 -march=k6 -O3 -fomit-frame-pointer2016102820161009
27105084gmpg++ -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016102820161009
27137574gmpg++ -m32 -march=pentium-m -O2 -fomit-frame-pointer2016102820161009
27145575gmpg++ -m32 -march=k6-2 -O3 -fomit-frame-pointer2016102820161009
27180252gmpg++ -m32 -march=pentium3 -O2 -fomit-frame-pointer2016102820161009

Compiler output

Implementation: crypto_dh/sclaus2048/gmp
Compiler: g++ -m32 -march=i386 -O2 -fomit-frame-pointer
try.cpp: crypto_dh_sclaus2048.a(keypair.o): In function `crypto_dh_sclaus2048_gmp_keypair':
try.cpp: keypair.cpp:(.text+0x...): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_dh_sclaus2048.a(sharedsecret.o): In function `crypto_dh_sclaus2048_gmp':
try.cpp: sharedsecret.cpp:(.text+0x...): undefined reference to `__sync_fetch_and_add_4'
try.cpp: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
g++ -m32 -march=i386 -O2 -fomit-frame-pointer gmp
g++ -m32 -march=i386 -O3 -fomit-frame-pointer gmp
g++ -m32 -march=i386 -O -fomit-frame-pointer gmp