Implementation notes: amd64, genji460, crypto_aead/cba10

Computer: genji460
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_aead
Primitive: cba10
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
248632? ? ?? ? ?reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2018082720180818
248728? ? ?? ? ?reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2018082720180818
252424? ? ?? ? ?reficc_-xAVX_-O3_-fomit-frame-pointer2018082720180818
252632? ? ?? ? ?reficc_-xSSE4.2_-O2_-fomit-frame-pointer2018082720180818
252704? ? ?? ? ?reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018082720180818
252900? ? ?? ? ?reficc_-xSSE4.1_-O3_-fomit-frame-pointer2018082720180818
252976? ? ?? ? ?reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018082720180818
252984? ? ?? ? ?reficc_-xAVX_-O2_-fomit-frame-pointer2018082720180818
253260? ? ?? ? ?reficc_-xSSE4.1_-O2_-fomit-frame-pointer2018082720180818
255020? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018082720180818
255056? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018082720180818
255088? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018082720180818
255152? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018082720180818
255352? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082720180818
255372? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018082720180818
255508? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018082720180818
255700? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018082720180818
255728? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018082720180818
255784? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018082720180818
255792? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018082720180818
255848? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018082720180818
256012? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018082720180818
256100? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018082720180818
256104? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018082720180818
256224? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018082720180818
256224? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018082720180818
256288? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082720180818
256708? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018082720180818
256888? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018082720180818
257040? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018082720180818
257180? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082720180818
257188? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082720180818
257284? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018082720180818
259436? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018082720180818
259840? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082720180818
259936? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018082720180818
261296? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018082720180818
261420? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018082720180818
261968? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018082720180818
261972? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018082720180818
261996? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018082720180818
262100? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018082720180818
262240? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018082720180818
262256? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018082720180818
262272? ? ?? ? ?reficc_-xSSE4.2_-O3_-fomit-frame-pointer2018082720180818
262300? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018082720180818
262684? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018082720180818
262720? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018082720180818
262804? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018082720180818
262972? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018082720180818
263216? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082720180818
267240? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018082720180818
267520? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018082720180818
268468? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018082720180818
268752? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018082720180818
268816? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018082720180818
268856? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082720180818
268904? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018082720180818
269132? ? ?? ? ?reficc_-no-vec2018082720180818
269208? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018082720180818
269280? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018082720180818
269392? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018082720180818
269628? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018082720180818
269984? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018082720180818
270284? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018082720180818
270668? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082720180818
270748? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018082720180818
271416? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018082720180818
271428? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018082720180818
271544? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018082720180818
271576? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018082720180818
271728? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018082720180818
271760? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018082720180818
271828? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018082720180818
271900? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018082720180818
271904? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018082720180818
272764? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018082720180818
272768? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018082720180818
272796? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018082720180818
273640? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018082720180818
274000? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018082720180818
275188? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018082720180818
275204? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018082720180818
275308? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018082720180818
275392? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018082720180818
275504? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018082720180818
275504? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018082720180818
275508? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018082720180818
275560? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018082720180818
275568? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018082720180818
275628? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018082720180818
275648? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018082720180818
275764? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082720180818
275836? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018082720180818
275872? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018082720180818
275952? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018082720180818
276000? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018082720180818
276068? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018082720180818
276072? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018082720180818
276228? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018082720180818
276448? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018082720180818
276780? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018082720180818
276796? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082720180818
276920? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018082720180818
276932? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082720180818
277016? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018082720180818
277088? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018082720180818
277176? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018082720180818
278160? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018082720180818
278400? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018082720180818
278400? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018082720180818
278500? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018082720180818
282124? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018082720180818
282760? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018082720180818
283460? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018082720180818
285136? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018082720180818
288756? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018082720180818
291188? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082720180818
297640? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018082720180818
427172? ? ?? ? ?refgcc2018082720180818
431800? ? ?? ? ?refcc2018082720180818
437676? ? ?? ? ?refgcc_-funroll-loops2018082720180818
445832? ? ?? ? ?reficc2018082720180818

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'enc':
encrypt.c: encrypt.c:240: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:240: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:240: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:240: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:240: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:240: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