Implementation notes: amd64, gpu, crypto_sign/qtesla3p

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_sign
Primitive: qtesla3p
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
19395964? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019090920190816
19429203? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019090920190816
19578706? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019090920190816
1977638074529 0 095365 784 1944refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019090920190816
19839967? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019090920190816
19845009? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090920190816
20325500? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019090920190816
20373114? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019090920190816
20568099? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019090920190816
20576592? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019090920190816
20631880? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090920190816
20687028? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019090920190816
20731883? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019090920190816
20782552? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090920190816
20837619? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019090920190816
20840920? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019090920190816
2087798874529 0 095365 784 1944refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090920190816
21314112? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019090920190816
21327288? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019090920190816
21333644? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090920190816
21338856? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019090920190816
21567819? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019090920190816
2161407273206 0 093285 784 1944refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090920190816
2169916473206 0 093285 784 1944refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090920190816
21731500? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019090920190816
21942124? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019090920190816
22027316? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019090920190816
22225184? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019090920190816
2226525663513 0 087205 784 1592refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090920190816
22350940? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019090920190816
22390468? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019090920190816
22556560? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019090920190816
23078552? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090920190816
2329585663513 0 087205 784 1592refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090920190816
2332652863513 0 087205 784 1592refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090920190816
23359875? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019090920190816
23892104? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019090920190816
24007488? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019090920190816
2402157663238 0 085573 784 1592refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090920190816
24984356? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019090920190816
25405044? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019090920190816
25502648? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019090920190816
25535876? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019090920190816
25792508? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090920190816
25806880? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019090920190816
25871716? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019090920190816
26047936? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090920190816
26127648? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019090920190816
26175748? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019090920190816
26182050? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019090920190816
26261708? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019090920190816
26494060? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019090920190816
26596436? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019090920190816
26610884? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019090920190816
26631104? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019090920190816
26667396? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019090920190816
26716044? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019090920190816
26746084? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019090920190816
26763480? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019090920190816
27153541? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019090920190816
27191752? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019090920190816
27207844? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019090920190816
27218676? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019090920190816
27267060? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019090920190816
27348128? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090920190816
27511612? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019090920190816
27515244? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090920190816
27564244? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019090920190816
27627620? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019090920190816
27657226? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019090920190816
27796296? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019090920190816
27813160? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019090920190816
27843627? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019090920190816
27908144? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019090920190816
27927044? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019090920190816
27940696? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019090920190816
28019888? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019090920190816
28071504? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019090920190816
28076188? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019090920190816
28250830? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019090920190816
28263140? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019090920190816
28280584? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019090920190816
28536372? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019090920190816
28640772? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019090920190816
28692976? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019090920190816
28730708? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090920190816
28899308? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019090920190816
28974760? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019090920190816
29059056? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019090920190816
29139364? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019090920190816
29172644? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019090920190816
29424900? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019090920190816
29565500? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019090920190816
29601496? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019090920190816
30144167? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019090920190816
30489136? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019090920190816
30540640? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019090920190816
30989696? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019090920190816
31300732? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019090920190816
31359648? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019090920190816
31494392? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019090920190816
31529296? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019090920190816
31553656? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090920190816
31830980? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019090920190816
32746074? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019090920190816
33085264? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019090920190816
35122072? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019090920190816
36123228? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019090920190816
36452200? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019090920190816
37356076? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019090920190816
37853659? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019090920190816
41568516? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019090920190816
80229684? ? ?? ? ?refgcc_-funroll-loops2019090920190816
81999800? ? ?? ? ?refcc2019090920190816
83262392? ? ?? ? ?refgcc2019090920190816

Test failure

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 103, namely:
CompilerImplementations
cc ref
gcc ref
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 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=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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status

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