Implementation notes: amd64, genji460, crypto_aead/cba5

Computer: genji460
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_aead
Primitive: cba5
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
185524? ? ?? ? ?reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2018082720180818
185556? ? ?? ? ?reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2018082720180818
188244? ? ?? ? ?reficc_-xAVX_-O3_-fomit-frame-pointer2018082720180818
188384? ? ?? ? ?reficc_-xSSE4.2_-O3_-fomit-frame-pointer2018082720180818
188844? ? ?? ? ?reficc_-xSSE4.1_-O3_-fomit-frame-pointer2018082720180818
189796? ? ?? ? ?reficc2018082720180818
189884? ? ?? ? ?reficc_-xSSE4.1_-O2_-fomit-frame-pointer2018082720180818
190156? ? ?? ? ?reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018082720180818
191376? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018082720180818
191512? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018082720180818
191544? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018082720180818
191592? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018082720180818
191688? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018082720180818
191816? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018082720180818
191964? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018082720180818
192024? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082720180818
192036? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018082720180818
192136? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018082720180818
192188? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018082720180818
192388? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018082720180818
192508? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018082720180818
192524? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018082720180818
192584? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018082720180818
192644? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082720180818
192680? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018082720180818
193056? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018082720180818
193140? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018082720180818
193276? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018082720180818
193400? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082720180818
193572? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018082720180818
193596? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018082720180818
193944? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082720180818
194028? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018082720180818
194156? ? ?? ? ?reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018082720180818
195996? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018082720180818
196128? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082720180818
197324? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018082720180818
197720? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018082720180818
197888? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018082720180818
197916? ? ?? ? ?reficc_-xAVX_-O2_-fomit-frame-pointer2018082720180818
197944? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018082720180818
198268? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018082720180818
198544? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082720180818
198564? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018082720180818
198616? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018082720180818
198620? ? ?? ? ?reficc_-xSSE4.2_-O2_-fomit-frame-pointer2018082720180818
198712? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018082720180818
198816? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018082720180818
198836? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018082720180818
198936? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018082720180818
199024? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018082720180818
199084? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018082720180818
199404? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018082720180818
199412? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018082720180818
199872? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018082720180818
203996? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018082720180818
204520? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018082720180818
204588? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018082720180818
205156? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018082720180818
205172? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082720180818
205272? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018082720180818
205436? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018082720180818
205488? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018082720180818
205528? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018082720180818
205672? ? ?? ? ?reficc_-no-vec2018082720180818
205800? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018082720180818
206100? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018082720180818
206212? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018082720180818
206856? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018082720180818
207336? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018082720180818
207344? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082720180818
207348? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018082720180818
207532? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018082720180818
208388? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018082720180818
208392? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018082720180818
211244? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018082720180818
211476? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018082720180818
211664? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018082720180818
211704? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018082720180818
211736? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018082720180818
211776? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018082720180818
211808? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018082720180818
211812? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018082720180818
211840? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018082720180818
211844? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018082720180818
211940? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018082720180818
211960? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018082720180818
212084? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018082720180818
212124? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018082720180818
212160? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018082720180818
212204? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018082720180818
212212? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018082720180818
212224? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018082720180818
212232? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018082720180818
212268? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018082720180818
212296? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082720180818
212324? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082720180818
212484? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018082720180818
212496? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018082720180818
212500? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018082720180818
212516? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018082720180818
212820? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018082720180818
212908? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018082720180818
213068? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082720180818
213624? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018082720180818
213668? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018082720180818
213800? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018082720180818
213960? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018082720180818
214132? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018082720180818
214152? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018082720180818
214276? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018082720180818
214356? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018082720180818
214996? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018082720180818
215520? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082720180818
217600? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018082720180818
217652? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018082720180818
220176? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018082720180818
222032? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018082720180818
222596? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018082720180818
247316? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018082720180818
364884? ? ?? ? ?refgcc2018082720180818
366796? ? ?? ? ?refgcc_-funroll-loops2018082720180818
367512? ? ?? ? ?refcc2018082720180818

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'enc':
encrypt.c: encrypt.c:241:17: warning: argument 1 range [9223372036854775808, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
encrypt.c: unsigned char C_0[inbytes];
encrypt.c: ^~~
encrypt.c: encrypt.c:241:17: note: in a call to built-in allocation function '__builtin_alloca_with_align'

Number of similar (compiler,implementation) pairs: 100, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'enc':
encrypt.c: encrypt.c:241:17: warning: argument 1 range [9223372036854775808, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
encrypt.c: unsigned char C_0[inbytes];
encrypt.c: ^~~
encrypt.c: encrypt.c:241:17: note: in a call to built-in allocation function '__builtin_alloca_with_align'
encrypt.c: encrypt.c: In function 'enc':
encrypt.c: encrypt.c:241:17: warning: argument 1 range [9223372036854775808, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
encrypt.c: unsigned char C_0[inbytes];
encrypt.c: ^~~
encrypt.c: encrypt.c:241:17: note: in a call to built-in allocation function '__builtin_alloca_with_align'

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