Implementation notes: x86, gcc14, crypto_stream/amastrid

Computer: gcc14
Architecture: x86
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_stream
Primitive: amastrid
TimeImplementationCompilerBenchmark dateSUPERCOP version
148446refg++ -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016101420161009
148455refg++ -m32 -march=pentium2 -O3 -fomit-frame-pointer2016101420161009
148608refg++ -m32 -march=pentium-m -O3 -fomit-frame-pointer2016101420161009
149265refg++ -m32 -march=pentium3 -O3 -fomit-frame-pointer2016101420161009
152847refg++ -m32 -march=pentium3 -O2 -fomit-frame-pointer2016101420161009
153027refg++ -m32 -march=pentium-m -O2 -fomit-frame-pointer2016101420161009
153054refg++ -m32 -march=pentium2 -O2 -fomit-frame-pointer2016101420161009
153945refg++ -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016101420161009
154386refg++ -m32 -march=pentium2 -O -fomit-frame-pointer2016101420161009
154386refg++ -m32 -march=pentium3 -O -fomit-frame-pointer2016101420161009
154386refg++ -m32 -march=pentiumpro -O -fomit-frame-pointer2016101420161009
154944refg++ -m32 -march=k6 -O3 -fomit-frame-pointer2016101420161009
154980refg++ -m32 -march=k6-2 -O3 -fomit-frame-pointer2016101420161009
155007refg++ -m32 -march=k6-3 -O3 -fomit-frame-pointer2016101420161009
155061refg++ -m32 -march=athlon -O3 -fomit-frame-pointer2016101420161009
155232refg++ -m32 -march=pentium-m -O -fomit-frame-pointer2016101420161009
155403refg++ -m32 -march=barcelona -O3 -fomit-frame-pointer2016101420161009
155709refg++ -m32 -march=core2 -O3 -fomit-frame-pointer2016101420161009
155961refg++ -m32 -march=k6 -O2 -fomit-frame-pointer2016101420161009
156897refg++ -m32 -march=nocona -O -fomit-frame-pointer2016101420161009
157671refg++ -m32 -march=k6-3 -O2 -fomit-frame-pointer2016101420161009
157743refg++ -m32 -march=k6-2 -O2 -fomit-frame-pointer2016101420161009
158157refg++ -m32 -march=pentium4 -O3 -fomit-frame-pointer2016101420161009
159066refg++ -m32 -march=athlon -O -fomit-frame-pointer2016101420161009
159723refg++ -m32 -march=k6 -O -fomit-frame-pointer2016101420161009
159822refg++ -m32 -march=k6-3 -O -fomit-frame-pointer2016101420161009
159858refg++ -m32 -march=k6-2 -O -fomit-frame-pointer2016101420161009
159894refg++ -m32 -march=barcelona -O2 -fomit-frame-pointer2016101420161009
160551refg++ -m32 -march=k8 -O3 -fomit-frame-pointer2016101420161009
161208refg++ -m32 -march=athlon -O2 -fomit-frame-pointer2016101420161009
161217refg++ -m32 -march=pentium4 -O -fomit-frame-pointer2016101420161009
161523refg++ -m32 -march=prescott -O -fomit-frame-pointer2016101420161009
161757refg++ -m32 -O3 -fomit-frame-pointer2016101420161009
161964refg++ -m32 -march=i486 -O2 -fomit-frame-pointer2016101420161009
162342refg++ -m32 -march=prescott -O3 -fomit-frame-pointer2016101420161009
162540refg++ -m32 -march=k8 -O -fomit-frame-pointer2016101420161009
162747refg++ -m32 -O -fomit-frame-pointer2016101420161009
162855refg++ -m32 -march=nocona -O3 -fomit-frame-pointer2016101420161009
163026refg++ -m32 -O2 -fomit-frame-pointer2016101420161009
163215refg++ -m32 -march=k8 -O2 -fomit-frame-pointer2016101420161009
163341refg++ -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2016101420161009
163638refg++ -m32 -march=pentium4 -O2 -fomit-frame-pointer2016101420161009
163764refg++ -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2016101420161009
163782refg++ -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016101420161009
163791refg++ -m32 -march=athlon -Os -fomit-frame-pointer2016101420161009
163854refg++ -m32 -march=core2 -O2 -fomit-frame-pointer2016101420161009
163998refg++ -m32 -march=core2 -O -fomit-frame-pointer2016101420161009
164106refg++ -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2016101420161009
164142refg++ -m32 -Os -fomit-frame-pointer2016101420161009
164178refg++ -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016101420161009
164250refg++ -m32 -march=native -mtune=native -O -fomit-frame-pointer2016101420161009
164313refg++ -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016101420161009
164313refg++ -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2016101420161009
164367refg++ -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2016101420161009
164700refg++ -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2016101420161009
164826refg++ -m32 -march=i486 -O3 -fomit-frame-pointer2016101420161009
165069refg++ -m32 -march=core2 -msse4 -O -fomit-frame-pointer2016101420161009
165123refg++ -m32 -march=prescott -O2 -fomit-frame-pointer2016101420161009
165285refg++ -m32 -march=barcelona -O -fomit-frame-pointer2016101420161009
165537refg++ -m32 -march=pentium4 -Os -fomit-frame-pointer2016101420161009
165816refg++ -m32 -march=nocona -O2 -fomit-frame-pointer2016101420161009
165996refg++ -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016101420161009
165996refg++ -m32 -march=pentium -Os -fomit-frame-pointer2016101420161009
166203refg++ -m32 -march=core2 -Os -fomit-frame-pointer2016101420161009
166464refg++ -m32 -march=pentium-m -Os -fomit-frame-pointer2016101420161009
166977refg++ -m32 -march=pentium2 -Os -fomit-frame-pointer2016101420161009
166986refg++ -m32 -march=pentium3 -Os -fomit-frame-pointer2016101420161009
166986refg++ -m32 -march=pentiumpro -Os -fomit-frame-pointer2016101420161009
167220refg++ -m32 -march=k6-3 -Os -fomit-frame-pointer2016101420161009
167220refg++ -m32 -march=k6 -Os -fomit-frame-pointer2016101420161009
167382refg++ -m32 -march=barcelona -Os -fomit-frame-pointer2016101420161009
167508refg++ -m32 -march=native -mtune=native -Os -fomit-frame-pointer2016101420161009
167985refg++ -m32 -march=nocona -Os -fomit-frame-pointer2016101420161009
168048refg++ -m32 -march=prescott -Os -fomit-frame-pointer2016101420161009
168201refg++ -m32 -march=i486 -Os -fomit-frame-pointer2016101420161009
168309refg++ -m32 -march=k6-2 -Os -fomit-frame-pointer2016101420161009
170118refg++ -m32 -march=i386 -Os -fomit-frame-pointer2016101420161009
172944refg++ -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016101420161009
172953refg++ -m32 -march=pentium -O3 -fomit-frame-pointer2016101420161009
173421refg++ -m32 -march=k8 -Os -fomit-frame-pointer2016101420161009
180657refg++ -m32 -march=pentium -O2 -fomit-frame-pointer2016101420161009
181107refg++ -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016101420161009
188091refg++ -m32 -march=i486 -O -fomit-frame-pointer2016101420161009
199404refg++ -m32 -march=pentium -O -fomit-frame-pointer2016101420161009
199674refg++ -m32 -march=pentium-mmx -O -fomit-frame-pointer2016101420161009

Compiler output

Implementation: crypto_stream/amastrid/ref
Compiler: g++ -m32 -march=i386 -O2 -fomit-frame-pointer
try.cpp: crypto_stream_amastrid.a(Amastrid.o): In function `Amastrid::FileLength(std::basic_ifstreamgt; >gt;&)':
try.cpp: Amastrid.cpp:(.text+0x...): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_amastrid.a(Amastrid.o): In function `Amastrid::EncryptFile(std::basic_stringgt;, std::allocatorgt; >gt; const&, std::basic_stringgt;, std::allocatorgt; >gt; const&, int)':
try.cpp: Amastrid.cpp:(.text+0x...): undefined reference to `__sync_fetch_and_add_4'
try.cpp: Amastrid.cpp:(.text+0x...): undefined reference to `__sync_fetch_and_add_4'
try.cpp: crypto_stream_amastrid.a(Amastrid.o): In function `Amastrid::DecryptFile(std::basic_stringgt;, std::allocatorgt; >gt; const&, std::basic_stringgt;, std::allocatorgt; >gt; const&, unsigned long long const&, int)':
try.cpp: Amastrid.cpp:(.text+0x...): undefined reference to `__sync_fetch_and_add_4'
try.cpp: Amastrid.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 ref
g++ -m32 -march=i386 -O3 -fomit-frame-pointer ref
g++ -m32 -march=i386 -O -fomit-frame-pointer ref