Implementation notes: x86, hydra4, crypto_stream

Computer: hydra4
Architecture: x86
CPU ID: AuthenticAMD-00300f10-178bfbff
CPU cycles/second: 2600000000...2600000000 (x86cpuinfo)
SUPERCOP version: 20141014
Benchmark dates: 20140525...20141014

crypto_core

TimeRelative timePrimitiveImplementationCompiler
8305401.00aes128decryptcrypto_core/aes128decrypt/refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer (4.6.3)
aes128decryptcrypto_core/aes128decrypt/opensslgcc -m32 -O3 -fomit-frame-pointer
7003301.00aes128encryptcrypto_core/aes128encrypt/refgcc -m32 -march=k8 -O3 -fomit-frame-pointer (4.6.3)
aes128encryptcrypto_core/aes128encrypt/opensslgcc -m32 -O3 -fomit-frame-pointer
11505271.00aes256decryptcrypto_core/aes256decrypt/refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer (4.6.3)
aes256decryptcrypto_core/aes256decrypt/opensslgcc -m32 -O3 -fomit-frame-pointer
9758661.00aes256encryptcrypto_core/aes256encrypt/refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer (4.6.3)
aes256encryptcrypto_core/aes256encrypt/opensslgcc -m32 -O3 -fomit-frame-pointer
7921.00hsalsa20crypto_core/hsalsa20/refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer (4.6.3)
7921.00hsalsa20crypto_core/hsalsa20/ref2gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
9321.00salsa20crypto_core/salsa20/refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer (4.6.3)
6091.00salsa2012crypto_core/salsa2012/refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer (4.6.3)
5071.00salsa208crypto_core/salsa208/refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer (4.6.3)

crypto_stream

TimeRelative timePrimitiveImplementationCompiler
193791.00aes128ctrcrypto_stream/aes128ctr/cryptoppg++ -m32 -march=barcelona -O3 -fomit-frame-pointer (4.6.3)
195231.00aes128estreamcrypto_stream/aes128estream/e/schwabe/pentium4-1gcc -m32 -march=barcelona -O2 -fomit-frame-pointer (4.6.3)
228811.17aes128estreamcrypto_stream/aes128estream/e/bernstein/x86-mmx-1gcc -m32 -march=k6 -O3 -fomit-frame-pointer
239931.23aes128estreamcrypto_stream/aes128estream/e/hongjun/v1gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer
248941.28aes128estreamcrypto_stream/aes128estream/e/hongjun/v0gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer
295821.52aes128estreamcrypto_stream/aes128estream/e/bernstein/little-3gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer
304011.56aes128estreamcrypto_stream/aes128estream/e/gladmangcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer
315471.62aes128estreamcrypto_stream/aes128estream/e/bernstein/little-4gcc -m32 -march=corei7 -O -fomit-frame-pointer
451042.31aes128estreamcrypto_stream/aes128estream/e/bernstein/little-1gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer
452602.32aes128estreamcrypto_stream/aes128estream/e/bernstein/little-2gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer
477092.44aes128estreamcrypto_stream/aes128estream/e/bernstein/big-1gcc -m32 -march=nocona -O -fomit-frame-pointer
226941.00aes192ctrcrypto_stream/aes192ctr/cryptoppg++ -m32 -march=k6-2 -O2 -fomit-frame-pointer (4.6.3)
261531.00aes256ctrcrypto_stream/aes256ctr/cryptoppg++ -m32 -march=k6-3 -O2 -fomit-frame-pointer
aes256ctrcrypto_stream/aes256ctr/opensslgcc -m32 -O3 -fomit-frame-pointer
338521.00aes256estreamcrypto_stream/aes256estream/e/hongjun/v1gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer (4.6.3)
345351.02aes256estreamcrypto_stream/aes256estream/e/hongjun/v0gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer
394491.17aes256estreamcrypto_stream/aes256estream/e/gladmangcc -m32 -march=k6-2 -O -fomit-frame-pointer
1190591.00amastridcrypto_stream/amastrid/ref (1.1.0)g++ -m32 -march=barcelona -O3 -fomit-frame-pointer (4.6.3)
61461.00chacha12crypto_stream/chacha12/e/x86-xmm5gcc -m32 -Os -fomit-frame-pointer (4.6.3)
67081.09chacha12crypto_stream/chacha12/e/x86-xmm6gcc -m32 -march=k8 -O2 -fomit-frame-pointer
70441.15chacha12crypto_stream/chacha12/krovetz/vec128gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer
83381.36chacha12crypto_stream/chacha12/e/x86-xmmgcc -m32 -march=barcelona -Os -fomit-frame-pointer
91731.49chacha12crypto_stream/chacha12/e/mergedgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer
95981.56chacha12crypto_stream/chacha12/e/x86-1gcc -m32 -Os -fomit-frame-pointer (4.6.3)
97191.58chacha12crypto_stream/chacha12/e/regsgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer
102411.67chacha12crypto_stream/chacha12/e/refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer
105111.71chacha12crypto_stream/chacha12/e/x86-xmm2gcc -m32 -Os -fomit-frame-pointer (4.6.3)
119221.94chacha12crypto_stream/chacha12/e/x86-mmxgcc -m32 -march=pentium3 -O -fomit-frame-pointer
chacha12crypto_stream/chacha12/amd64-ssse3gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/goll_guerongcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/krovetz/avx2gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/moon/armv6/32gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/moon/avx/32gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/moon/avx/64gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/moon/avx2/32gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/moon/avx2/64gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/moon/neon/32gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/moon/sse2/64gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/moon/ssse3/64gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/moon/xop/32gcc -m32 -O3 -fomit-frame-pointer
chacha12crypto_stream/chacha12/moon/xop/64gcc -m32 -O3 -fomit-frame-pointer
94731.00chacha20crypto_stream/chacha20/e/x86-xmm5gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer
103351.09chacha20crypto_stream/chacha20/e/x86-xmm6gcc -m32 -O3 -fomit-frame-pointer
112711.19chacha20crypto_stream/chacha20/krovetz/vec128gcc -m32 -march=pentium4 -O -fomit-frame-pointer
134431.42chacha20crypto_stream/chacha20/e/x86-xmmgcc -m32 -march=barcelona -O -fomit-frame-pointer
144971.53chacha20crypto_stream/chacha20/e/mergedgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer
149921.58chacha20crypto_stream/chacha20/e/x86-1gcc -m32 -O2 -fomit-frame-pointer
153821.62chacha20crypto_stream/chacha20/e/regsgcc -m32 -march=k6 -O3 -fomit-frame-pointer
171091.81chacha20crypto_stream/chacha20/e/x86-xmm2gcc -m32 -march=pentium2 -O -fomit-frame-pointer
176011.86chacha20crypto_stream/chacha20/e/refgcc -m32 -O3 -fomit-frame-pointer
185721.96chacha20crypto_stream/chacha20/e/x86-mmxgcc -m32 -march=core2 -Os -fomit-frame-pointer
chacha20crypto_stream/chacha20/amd64-ssse3gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/goll_guerongcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/krovetz/avx2gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/moon/armv6/32gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/moon/avx/32gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/moon/avx/64gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/moon/avx2/32gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/moon/avx2/64gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/moon/neon/32gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/moon/sse2/64gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/moon/ssse3/64gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/moon/xop/32gcc -m32 -O3 -fomit-frame-pointer
chacha20crypto_stream/chacha20/moon/xop/64gcc -m32 -O3 -fomit-frame-pointer
44111.00chacha8crypto_stream/chacha8/e/x86-xmm5gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer
48981.11chacha8crypto_stream/chacha8/e/x86-xmm6gcc -m32 -O3 -fomit-frame-pointer
49451.12chacha8crypto_stream/chacha8/krovetz/vec128gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer
57951.31chacha8crypto_stream/chacha8/e/x86-xmmgcc -m32 -march=k8 -O -fomit-frame-pointer
66891.52chacha8crypto_stream/chacha8/e/mergedgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer
69111.57chacha8crypto_stream/chacha8/e/x86-1gcc -m32 -O3 -fomit-frame-pointer
71681.63chacha8crypto_stream/chacha8/e/regsgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer
73051.66chacha8crypto_stream/chacha8/e/x86-xmm2gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer
77731.76chacha8crypto_stream/chacha8/e/refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer
85761.94chacha8crypto_stream/chacha8/e/x86-mmxgcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/amd64-ssse3gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/goll_guerongcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/krovetz/avx2gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/moon/armv6/32gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/moon/avx/32gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/moon/avx/64gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/moon/avx2/32gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/moon/avx2/64gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/moon/neon/32gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/moon/sse2/64gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/moon/ssse3/64gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/moon/xop/32gcc -m32 -O3 -fomit-frame-pointer
chacha8crypto_stream/chacha8/moon/xop/64gcc -m32 -O3 -fomit-frame-pointer
97311.00cryptmtv3crypto_stream/cryptmtv3/e/v3gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer (4.6.3)
dragoncrypto_stream/dragon/e/submissions/dragongcc -m32 -O3 -fomit-frame-pointer
278971.00hc128crypto_stream/hc128/e/hc-128/200701bgcc -funroll-loops -m32 -O3 -fomit-frame-pointer (4.6.3)
279511.00hc128crypto_stream/hc128/e/hc-128/200606gcc -funroll-loops -m32 -O3 -fomit-frame-pointer (4.6.3)
280491.01hc128crypto_stream/hc128/e/hc-128/200701agcc -funroll-loops -m32 -O3 -fomit-frame-pointer (4.6.3)
781521.00hc256crypto_stream/hc256/e/hc-256/200511gcc -funroll-loops -m32 -O3 -fomit-frame-pointer (4.6.3)
782261.00hc256crypto_stream/hc256/e/hc-256/200701gcc -funroll-loops -m32 -O3 -fomit-frame-pointer (4.6.3)
123441.00lexv2crypto_stream/lexv2/e/v2/refgcc -funroll-loops -m32 -O -fomit-frame-pointer (4.6.3)
71611.00nlsv2crypto_stream/nlsv2/e/v2/sync/2gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer (4.6.3)
189972.65nlsv2crypto_stream/nlsv2/e/v2/sync/1gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer
636171.00ocelot1crypto_stream/ocelot1/ref (2.1.0)g++ -m32 -march=athlon -O3 -fomit-frame-pointer (4.6.3)
ocelot2crypto_stream/ocelot2/refg++ -m32 -O3 -fomit-frame-pointer
83691.00panamacrypto_stream/panama/cryptoppg++ -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer (4.6.3)
48791.00rabbitcrypto_stream/rabbit/e/opt/2/5gcc -m32 -march=barcelona -O -fomit-frame-pointer (4.6.3)
65791.35rabbitcrypto_stream/rabbit/e/opt/1/4gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer
66111.35rabbitcrypto_stream/rabbit/e/opt/2/3gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer
67041.37rabbitcrypto_stream/rabbit/e/opt/1/3gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer
70041.44rabbitcrypto_stream/rabbit/e/opt/2/4gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer
75271.54rabbitcrypto_stream/rabbit/e/opt/1/2gcc -m32 -march=i486 -O3 -fomit-frame-pointer
75501.55rabbitcrypto_stream/rabbit/e/opt/2/2gcc -m32 -march=i486 -O3 -fomit-frame-pointer
115562.37rabbitcrypto_stream/rabbit/e/opt/2/1gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer
117122.40rabbitcrypto_stream/rabbit/e/opt/1/1gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer
135642.78rabbitcrypto_stream/rabbit/e/refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer
89511.00salsa20crypto_stream/salsa20/e/x86-xmm4gcc -m32 -Os -fomit-frame-pointer
94031.05salsa20crypto_stream/salsa20/x86_xmm5gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
95081.06salsa20crypto_stream/salsa20/e/x86-xmm5gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer
140051.56salsa20crypto_stream/salsa20/e/x86-xmmgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer
145391.62salsa20crypto_stream/salsa20/e/x86-1gcc -m32 -march=athlon -O3 -fomit-frame-pointer
152841.71salsa20crypto_stream/salsa20/e/mergedgcc -m32 -O -fomit-frame-pointer
153501.71salsa20crypto_stream/salsa20/e/x86-2gcc -m32 -march=core2 -O2 -fomit-frame-pointer
153501.71salsa20crypto_stream/salsa20/e/x86-3gcc -m32 -march=barcelona -Os -fomit-frame-pointer
155031.73salsa20crypto_stream/salsa20/e/x86-pmgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer
155691.74salsa20crypto_stream/salsa20/e/x86-athlongcc -m32 -march=athlon -O3 -fomit-frame-pointer
168401.88salsa20crypto_stream/salsa20/e/x86-xmm2gcc -m32 -march=athlon -O2 -fomit-frame-pointer
169811.90salsa20crypto_stream/salsa20/e/x86-mmxgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer
177681.99salsa20crypto_stream/salsa20/e/regsgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer
178742.00salsa20crypto_stream/salsa20/e/refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer
213532.39salsa20crypto_stream/salsa20/refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer
59241.00salsa2012crypto_stream/salsa2012/e/x86-xmm4gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer (4.6.3)
61231.03salsa2012crypto_stream/salsa2012/e/x86-xmm5gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer
61391.04salsa2012crypto_stream/salsa2012/x86_xmm5gcc -m32 -O2 -fomit-frame-pointer
90441.53salsa2012crypto_stream/salsa2012/e/x86-xmmgcc -m32 -march=pentium3 -Os -fomit-frame-pointer
92661.56salsa2012crypto_stream/salsa2012/e/mergedgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer
93991.59salsa2012crypto_stream/salsa2012/e/x86-1gcc -m32 -march=corei7 -O2 -fomit-frame-pointer
99141.67salsa2012crypto_stream/salsa2012/e/x86-2gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer
99141.67salsa2012crypto_stream/salsa2012/e/x86-3gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
100971.70salsa2012crypto_stream/salsa2012/e/x86-athlongcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer
101241.71salsa2012crypto_stream/salsa2012/e/x86-pmgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer
106001.79salsa2012crypto_stream/salsa2012/e/x86-xmm2gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
110061.86salsa2012crypto_stream/salsa2012/e/x86-mmxgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer
113101.91salsa2012crypto_stream/salsa2012/e/regsgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer
119342.01salsa2012crypto_stream/salsa2012/e/refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer
134942.28salsa2012crypto_stream/salsa2012/refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer
44151.00salsa208crypto_stream/salsa208/e/x86-xmm4gcc -m32 -Os -fomit-frame-pointer
44731.01salsa208crypto_stream/salsa208/e/x86-xmm5gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer
45081.02salsa208crypto_stream/salsa208/x86_xmm5gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer
63291.43salsa208crypto_stream/salsa208/e/x86-xmmgcc -m32 -march=corei7 -Os -fomit-frame-pointer
66381.50salsa208crypto_stream/salsa208/e/mergedgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer
68331.55salsa208crypto_stream/salsa208/e/x86-1gcc -m32 -march=core2 -O2 -fomit-frame-pointer
73551.67salsa208crypto_stream/salsa208/e/x86-athlongcc -m32 -march=corei7 -O2 -fomit-frame-pointer
73561.67salsa208crypto_stream/salsa208/e/x86-2gcc -m32 -march=core2 -O2 -fomit-frame-pointer
73591.67salsa208crypto_stream/salsa208/e/x86-3gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer
73911.67salsa208crypto_stream/salsa208/e/x86-pmgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer
75271.70salsa208crypto_stream/salsa208/e/x86-xmm2gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer
79831.81salsa208crypto_stream/salsa208/e/regsgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer
80071.81salsa208crypto_stream/salsa208/e/x86-mmxgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer
90792.06salsa208crypto_stream/salsa208/e/refgcc -m32 -march=nocona -O3 -fomit-frame-pointer
109552.48salsa208crypto_stream/salsa208/refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer
74491.00snow20crypto_stream/snow20/e/benchmarks/snow-2.0gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer (4.6.3)
70231.00sosemanukcrypto_stream/sosemanuk/cryptoppg++ -m32 -march=athlon -O2 -fomit-frame-pointer (4.6.3)
93291.33sosemanukcrypto_stream/sosemanuk/e/submissions/sosemanukgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer
126091.00tpycrypto_stream/tpy/e/tpygcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer (4.6.3)
84051.00tpy6crypto_stream/tpy6/e/tpy6gcc -m32 -march=core2 -O -fomit-frame-pointer
164271.00tpypycrypto_stream/tpypy/e/tpypygcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer (4.6.3)
111651.00triviumcrypto_stream/trivium/e/submissions/triviumgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer (4.6.3)
96761.00xsalsa20crypto_stream/xsalsa20/refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer