Implementation notes: amd64, gpu, crypto_sign/pqrsa15

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_sign
Primitive: pqrsa15
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2079367294024 0 0340077 920 1960refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019090920190816
3676714624024 0 0339277 920 1960refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090920190816
3677015824024 0 0339277 920 1960refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090920190816
370800160? ? ?? ? ?refcc2019090920190816
3720400623959 0 0340973 920 1608refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090920190816
381787220? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090920190816
382124160? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090920190816
382387896? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019090920190816
382744340? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090920190816
382992684? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019090920190816
383370488? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019090920190816
383462428? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019090920190816
383475984? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019090920190816
383620984? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019090920190816
383685768? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019090920190816
383840352? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090920190816
384125740? ? ?? ? ?refgcc_-funroll-loops2019090920190816
384319308? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019090920190816
384400936? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019090920190816
384530988? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019090920190816
384561280? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019090920190816
384574280? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090920190816
384646592? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019090920190816
384675884? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019090920190816
384859816? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090920190816
385181904? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019090920190816
385261548? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019090920190816
385278180? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019090920190816
385428980? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019090920190816
385456588? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019090920190816
385471636? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019090920190816
385813620? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019090920190816
385814000? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019090920190816
385881820? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019090920190816
386097556? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019090920190816
386245832? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019090920190816
386279268? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019090920190816
386327984? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090920190816
386347492? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090920190816
386366740? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019090920190816
386387444? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019090920190816
386482984? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019090920190816
386712824? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019090920190816
386742112? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019090920190816
386782956? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019090920190816
386912064? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019090920190816
386916440? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019090920190816
387114044? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090920190816
387147128? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019090920190816
387163692? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019090920190816
387356224? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019090920190816
387508296? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090920190816
387745788? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019090920190816
388163232? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019090920190816
388240116? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019090920190816
388368696? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019090920190816
388394728? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019090920190816
388413212? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019090920190816
388416888? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019090920190816
388427632? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019090920190816
388647556? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019090920190816
388813912? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090920190816
388814920? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019090920190816
388871412? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019090920190816
388946964? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019090920190816
388956864? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019090920190816
388976172? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019090920190816
389067188? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019090920190816
389142468? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019090920190816
389198788? ? ?? ? ?refgcc2019090920190816
389260916? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019090920190816
389269380? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019090920190816
389412600? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019090920190816
389423340? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019090920190816
389465976? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019090920190816
389568556? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019090920190816
389749500? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019090920190816
389761312? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019090920190816
389996396? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019090920190816
390237984? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019090920190816
390318116? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019090920190816
390338924? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019090920190816
390402612? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019090920190816
390660576? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019090920190816
390787856? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019090920190816
391025748? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019090920190816
391139948? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019090920190816
391330508? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019090920190816
391345236? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019090920190816
391405424? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019090920190816
391861236? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019090920190816
391947456? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019090920190816
392158180? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019090920190816
392183828? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019090920190816
392280584? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019090920190816
392324808? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019090920190816
392393344? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019090920190816
392431176? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019090920190816
392517980? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019090920190816
3926572244024 0 0342317 920 1608refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090920190816
392874236? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019090920190816
392888772? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019090920190816
393212464? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019090920190816
393213264? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019090920190816
394335576? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019090920190816
395468840? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019090920190816
395526084? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019090920190816
395572024? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019090920190816
3957821964024 0 0342317 920 1608refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090920190816
3959150164024 0 0342317 920 1608refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090920190816
395996132? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019090920190816
396723516? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019090920190816
399057088? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019090920190816
4000664684024 0 0340077 920 1960refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090920190816
400976616? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019090920190816

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