Implementation notes: x86, pistol, crypto_stream

Computer: pistol
Architecture: x86
CPU ID: AuthenticAMD-00600f12-178bfbff
CPU cycles/second: 4200000000...4200000000 (x86cpuinfo)
SUPERCOP version: 20121016
Benchmark dates: 20121102...20121107

crypto_core

TimeRelative timePrimitiveImplementationCompiler
12701.00hsalsa20crypto_core/hsalsa20/refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
12801.01hsalsa20crypto_core/hsalsa20/ref2gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
13861.00salsa20crypto_core/salsa20/refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer
8601.00salsa2012crypto_core/salsa2012/refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
6801.00salsa208crypto_core/salsa208/refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))

crypto_stream

TimeRelative timePrimitiveImplementationCompiler
236841.00aes128estreamcrypto_stream/aes128estream/e/schwabe/pentium4-1gcc -m32 -march=i386 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
289901.22aes128estreamcrypto_stream/aes128estream/e/bernstein/x86-mmx-1gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer
295461.25aes128estreamcrypto_stream/aes128estream/e/hongjun/v1gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer
304791.29aes128estreamcrypto_stream/aes128estream/e/hongjun/v0gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer
375121.58aes128estreamcrypto_stream/aes128estream/e/gladmangcc -m32 -march=core2 -O -fomit-frame-pointer
401681.70aes128estreamcrypto_stream/aes128estream/e/bernstein/little-4gcc -m32 -march=pentium2 -Os -fomit-frame-pointer
404261.71aes128estreamcrypto_stream/aes128estream/e/bernstein/little-3gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer
568762.40aes128estreamcrypto_stream/aes128estream/e/bernstein/little-2gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer
576162.43aes128estreamcrypto_stream/aes128estream/e/bernstein/little-1gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer
607102.56aes128estreamcrypto_stream/aes128estream/e/bernstein/big-1gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer
414981.00aes256estreamcrypto_stream/aes256estream/e/hongjun/v1gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
418141.01aes256estreamcrypto_stream/aes256estream/e/hongjun/v0gcc -funroll-loops -m32 -O -fomit-frame-pointer
484721.17aes256estreamcrypto_stream/aes256estream/e/gladmangcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer
50021.00chacha12crypto_stream/chacha12/krovetz (1.0a3)gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer
56941.14chacha12crypto_stream/chacha12/e/x86-xmm6gcc -m32 -march=i486 -O -fomit-frame-pointer
58161.16chacha12crypto_stream/chacha12/e/x86-xmm5gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer
113882.28chacha12crypto_stream/chacha12/e/x86-xmm2gcc -m32 -march=i386 -O2 -fomit-frame-pointer
125402.51chacha12crypto_stream/chacha12/e/x86-xmmgcc -m32 -march=i386 -O2 -fomit-frame-pointer
128142.56chacha12crypto_stream/chacha12/e/mergedgcc -m32 -march=pentium4 -O -fomit-frame-pointer
138262.76chacha12crypto_stream/chacha12/e/regsgcc -m32 -march=k8 -O3 -fomit-frame-pointer
143202.86chacha12crypto_stream/chacha12/e/refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer
147402.95chacha12crypto_stream/chacha12/e/x86-1gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer
152623.05chacha12crypto_stream/chacha12/e/x86-mmxgcc -m32 -march=k8 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/amd64-ssse3gcc -m32 -O3 -fomit-frame-pointer
79081.00chacha20crypto_stream/chacha20/krovetz (1.0a3)gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer
87141.10chacha20crypto_stream/chacha20/e/x86-xmm6gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer
89081.13chacha20crypto_stream/chacha20/e/x86-xmm5gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer
183102.32chacha20crypto_stream/chacha20/e/x86-xmm2gcc -m32 -march=nocona -O2 -fomit-frame-pointer
193222.44chacha20crypto_stream/chacha20/e/mergedgcc -m32 -march=core2 -O -fomit-frame-pointer
202282.56chacha20crypto_stream/chacha20/e/x86-xmmgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer
215042.72chacha20crypto_stream/chacha20/e/regsgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer
216982.74chacha20crypto_stream/chacha20/e/refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer
235822.98chacha20crypto_stream/chacha20/e/x86-1gcc -m32 -march=i486 -Os -fomit-frame-pointer
243623.08chacha20crypto_stream/chacha20/e/x86-mmxgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer
chacha20crypto_stream/chacha20/amd64-ssse3gcc -m32 -O3 -fomit-frame-pointer
35501.00chacha8crypto_stream/chacha8/krovetz (1.0a3)gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
41701.17chacha8crypto_stream/chacha8/e/x86-xmm6gcc -m32 -march=i486 -O -fomit-frame-pointer
42641.20chacha8crypto_stream/chacha8/e/x86-xmm5gcc -m32 -march=i386 -O2 -fomit-frame-pointer
79302.23chacha8crypto_stream/chacha8/e/x86-xmm2gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer
87002.45chacha8crypto_stream/chacha8/e/x86-xmmgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer
91822.59chacha8crypto_stream/chacha8/e/mergedgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer
102882.90chacha8crypto_stream/chacha8/e/regsgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer
103802.92chacha8crypto_stream/chacha8/e/refgcc -m32 -march=athlon -O3 -fomit-frame-pointer
103922.93chacha8crypto_stream/chacha8/e/x86-1gcc -funroll-loops -m32 -Os -fomit-frame-pointer
108303.05chacha8crypto_stream/chacha8/e/x86-mmxgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer
chacha8crypto_stream/chacha8/amd64-ssse3gcc -m32 -O3 -fomit-frame-pointer
129221.00cryptmtv3crypto_stream/cryptmtv3/e/v3gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
380581.00dragoncrypto_stream/dragon/e/submissions/dragongcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
327861.00hc128crypto_stream/hc128/e/hc-128/200701agcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
333761.02hc128crypto_stream/hc128/e/hc-128/200606gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer
337811.03hc128crypto_stream/hc128/e/hc-128/200701bgcc -m32 -march=pentium -Os -fomit-frame-pointer
958041.00hc256crypto_stream/hc256/e/hc-256/200701gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
968241.01hc256crypto_stream/hc256/e/hc-256/200511gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
162841.00lexv2crypto_stream/lexv2/e/v2/refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
91361.00nlsv2crypto_stream/nlsv2/e/v2/sync/2gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
203382.23nlsv2crypto_stream/nlsv2/e/v2/sync/1gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer
55601.00rabbitcrypto_stream/rabbit/e/opt/2/5gcc -m32 -march=barcelona -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
97201.75rabbitcrypto_stream/rabbit/e/opt/1/3gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer
98241.77rabbitcrypto_stream/rabbit/e/opt/1/4gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer
99581.79rabbitcrypto_stream/rabbit/e/opt/2/4gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer
99641.79rabbitcrypto_stream/rabbit/e/opt/2/3gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer
108761.96rabbitcrypto_stream/rabbit/e/opt/1/2gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer
109921.98rabbitcrypto_stream/rabbit/e/opt/2/2gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer
156642.82rabbitcrypto_stream/rabbit/e/opt/1/1gcc -m32 -march=pentium -O -fomit-frame-pointer
157742.84rabbitcrypto_stream/rabbit/e/opt/2/1gcc -m32 -march=pentium -O -fomit-frame-pointer
186003.35rabbitcrypto_stream/rabbit/e/refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer
75721.00salsa20crypto_stream/salsa20/e/x86-xmm5gcc -m32 -march=i386 -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
75821.00salsa20crypto_stream/salsa20/x86_xmm5gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer
85341.13salsa20crypto_stream/salsa20/e/x86-xmm4gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer
167522.21salsa20crypto_stream/salsa20/e/x86-xmmgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer
167582.21salsa20crypto_stream/salsa20/e/x86-xmm2gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer
205472.71salsa20crypto_stream/salsa20/e/x86-3gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer
205562.71salsa20crypto_stream/salsa20/e/x86-2gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer
206092.72salsa20crypto_stream/salsa20/e/x86-pmgcc -m32 -march=barcelona -O3 -fomit-frame-pointer
206502.73salsa20crypto_stream/salsa20/e/x86-athlongcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer
213142.81salsa20crypto_stream/salsa20/e/x86-1gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer
228963.02salsa20crypto_stream/salsa20/e/x86-mmxgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer
263943.49salsa20crypto_stream/salsa20/e/mergedgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer
285243.77salsa20crypto_stream/salsa20/e/regsgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer
294183.89salsa20crypto_stream/salsa20/e/refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer
321124.24salsa20crypto_stream/salsa20/refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer
50321.00salsa2012crypto_stream/salsa2012/x86_xmm5gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
50361.00salsa2012crypto_stream/salsa2012/e/x86-xmm5gcc -m32 -march=barcelona -O -fomit-frame-pointer
56641.13salsa2012crypto_stream/salsa2012/e/x86-xmm4gcc -m32 -march=k6 -O -fomit-frame-pointer
106002.11salsa2012crypto_stream/salsa2012/e/x86-xmmgcc -m32 -march=i386 -O2 -fomit-frame-pointer
106142.11salsa2012crypto_stream/salsa2012/e/x86-xmm2gcc -m32 -march=k8 -Os -fomit-frame-pointer
130422.59salsa2012crypto_stream/salsa2012/e/x86-pmgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer
130452.59salsa2012crypto_stream/salsa2012/e/x86-3gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer
130702.60salsa2012crypto_stream/salsa2012/e/x86-2gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer
130862.60salsa2012crypto_stream/salsa2012/e/x86-athlongcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer
133622.66salsa2012crypto_stream/salsa2012/e/x86-1gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer
143662.85salsa2012crypto_stream/salsa2012/e/x86-mmxgcc -m32 -march=i386 -O3 -fomit-frame-pointer
157963.14salsa2012crypto_stream/salsa2012/e/mergedgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer
180163.58salsa2012crypto_stream/salsa2012/e/regsgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer
182293.62salsa2012crypto_stream/salsa2012/e/refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer
204044.05salsa2012crypto_stream/salsa2012/refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer
37481.00salsa208crypto_stream/salsa208/x86_xmm5gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
37681.01salsa208crypto_stream/salsa208/e/x86-xmm5gcc -m32 -march=prescott -O -fomit-frame-pointer
42281.13salsa208crypto_stream/salsa208/e/x86-xmm4gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer
75382.01salsa208crypto_stream/salsa208/e/x86-xmmgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer
75422.01salsa208crypto_stream/salsa208/e/x86-xmm2gcc -m32 -march=barcelona -Os -fomit-frame-pointer
92862.48salsa208crypto_stream/salsa208/e/x86-pmgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer
92942.48salsa208crypto_stream/salsa208/e/x86-3gcc -m32 -march=i386 -O2 -fomit-frame-pointer
93142.49salsa208crypto_stream/salsa208/e/x86-athlongcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer
93182.49salsa208crypto_stream/salsa208/e/x86-2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer
93422.49salsa208crypto_stream/salsa208/e/x86-1gcc -m32 -march=nocona -Os -fomit-frame-pointer
102122.72salsa208crypto_stream/salsa208/e/x86-mmxgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
107562.87salsa208crypto_stream/salsa208/e/mergedgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer
127703.41salsa208crypto_stream/salsa208/e/regsgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer
132863.54salsa208crypto_stream/salsa208/e/refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer
159084.24salsa208crypto_stream/salsa208/refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer
85381.00snow20crypto_stream/snow20/e/benchmarks/snow-2.0gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
123021.00sosemanukcrypto_stream/sosemanuk/e/submissions/sosemanukgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
132661.00tpycrypto_stream/tpy/e/tpygcc -m32 -march=athlon -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
90121.00tpy6crypto_stream/tpy6/e/tpy6gcc -m32 -march=prescott -O -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
162401.00tpypycrypto_stream/tpypy/e/tpypygcc -m32 -march=k6 -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
107841.00triviumcrypto_stream/trivium/e/submissions/triviumgcc -m32 -march=k6-2 -O -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))
88041.00xsalsa20crypto_stream/xsalsa20/refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2))