Implementation notes: amd64, gpu, crypto_encrypt/mcnie4q1281

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_encrypt
Primitive: mcnie4q1281
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1317291961414 6 085078 808 1648refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101320190816
1318860961414 6 085078 808 1648refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101320190816
13603890? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019101320190816
14585784? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019101320190816
17630511? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019101320190816
17890089? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019101320190816
17895699? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019101320190816
17909010? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019101320190816
18098814? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019101320190816
18145656? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019101320190816
18222828? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101320190816
18232413? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019101320190816
18241653? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019101320190816
18278607? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019101320190816
18306768? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019101320190816
1833661867616 6 088838 808 2000refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101320190816
18338496? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019101320190816
18396297? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019101320190816
1843449362571 6 083158 808 2000refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019101320190816
1845912662571 6 083158 808 2000refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019101320190816
18478179? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019101320190816
18539211? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019101320190816
18578757? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019101320190816
18583008? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019101320190816
18595467? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019101320190816
18687450? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019101320190816
18690174? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019101320190816
18711369? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019101320190816
1876361761414 6 085078 808 1648refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101320190816
18774477? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019101320190816
18920157? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101320190816
1892845261180 6 083470 808 1648refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019101320190816
19006425? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019101320190816
19021455? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019101320190816
19063497? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019101320190816
19066416? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019101320190816
19103868? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019101320190816
19191141? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019101320190816
19242726? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101320190816
19374087? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019101320190816
19437684? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019101320190816
19835916? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019101320190816
20114832? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101320190816
2026913767616 6 088838 808 2000refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019101320190816
20295873? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019101320190816
21267687? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019101320190816
21516474? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019101320190816
21757263? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019101320190816
21758817? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019101320190816
21811467? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019101320190816
22266366? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019101320190816
22275954? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019101320190816
22308333? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019101320190816
22587834? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019101320190816
23259942? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019101320190816
23311536? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019101320190816
23371638? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019101320190816
23461881? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019101320190816
23494893? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019101320190816
23531112? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019101320190816
23705865? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019101320190816
25236816? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019101320190816
30396150? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019101320190816
37112547? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101320190816
37273404? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019101320190816
37383945? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019101320190816
37425426? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019101320190816
37536261? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019101320190816
37754811? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019101320190816
37887495? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019101320190816
37929039? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019101320190816
37930770? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101320190816
37955313? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019101320190816
38001654? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101320190816
38315190? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101320190816
38409003? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019101320190816
38417346? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019101320190816
38437758? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019101320190816
38613579? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019101320190816
38766342? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019101320190816
38914965? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101320190816
39437526? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101320190816
39500553? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101320190816
39691986? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101320190816
39756390? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019101320190816
39791214? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101320190816
40836861? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101320190816
40890483? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101320190816
41451990? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019101320190816
41687022? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019101320190816
41719704? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019101320190816
42084765? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101320190816
42217983? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019101320190816
42371448? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101320190816
42385965? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019101320190816
42411009? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101320190816
42439263? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019101320190816
42495936? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019101320190816
42584871? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019101320190816
42761919? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019101320190816
42890361? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019101320190816
43092558? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019101320190816
43856460? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019101320190816
44201991? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019101320190816
44226681? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019101320190816
44314578? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019101320190816
44494878? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019101320190816
44577798? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019101320190816
44660589? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101320190816
44714793? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019101320190816
44909808? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101320190816
45374697? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019101320190816
67513542? ? ?? ? ?refgcc2019101320190816
68012832? ? ?? ? ?refgcc_-funroll-loops2019101320190816
68792262? ? ?? ? ?refcc2019101320190816

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