Implementation notes: amd64, gpu, crypto_encrypt/mcnie4q1282

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_encrypt
Primitive: mcnie4q1282
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
18163305? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019101320190816
18168126? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019101320190816
18220518? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019101320190816
18293064? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019101320190816
18310977? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019101320190816
18352809? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019101320190816
18393867? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019101320190816
18404892? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101320190816
18409113? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019101320190816
1845602467616 6 088838 808 2000refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019101320190816
18658179? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019101320190816
18707862? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019101320190816
18846768? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019101320190816
1885652162571 6 083158 808 2000refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019101320190816
1888432261414 6 085078 808 1648refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101320190816
18913257? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019101320190816
18918228? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019101320190816
18948933? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019101320190816
19024872? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019101320190816
19076064? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019101320190816
19088787? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019101320190816
19096650? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019101320190816
19171161? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019101320190816
19321848? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019101320190816
1933166462571 6 083158 808 2000refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019101320190816
19441908? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101320190816
19461306? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019101320190816
19526844? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019101320190816
19614279? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019101320190816
19659588? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019101320190816
1971126661414 6 085078 808 1648refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101320190816
20025912? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019101320190816
20160825? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019101320190816
20164542? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019101320190816
2038252567616 6 088838 808 2000refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101320190816
20478576? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019101320190816
20585796? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019101320190816
2068823461414 6 085078 808 1648refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101320190816
21048204? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101320190816
21326523? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101320190816
21341241? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019101320190816
2134481161180 6 083470 808 1648refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019101320190816
21427461? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019101320190816
21528552? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019101320190816
21537825? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019101320190816
21738153? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019101320190816
22222248? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019101320190816
22364103? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019101320190816
22414821? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019101320190816
22414989? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019101320190816
22435638? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019101320190816
22449156? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019101320190816
22472784? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019101320190816
22479738? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019101320190816
22680591? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019101320190816
23264496? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019101320190816
23536005? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019101320190816
23614977? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019101320190816
24167709? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019101320190816
24828954? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019101320190816
25034697? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019101320190816
25066479? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019101320190816
38901567? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101320190816
39163545? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019101320190816
39433374? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019101320190816
39449592? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019101320190816
39465213? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101320190816
39501237? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019101320190816
39615588? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101320190816
39629808? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101320190816
39718413? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019101320190816
39719556? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019101320190816
39733479? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019101320190816
39750903? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101320190816
39820878? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019101320190816
39834861? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101320190816
39835593? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019101320190816
39998190? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019101320190816
40143615? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101320190816
40257444? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101320190816
40394796? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019101320190816
40406193? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019101320190816
40687560? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101320190816
41161548? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019101320190816
41884668? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019101320190816
42349062? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101320190816
42556125? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019101320190816
42845694? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101320190816
43134645? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101320190816
43238757? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019101320190816
43318941? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019101320190816
43559361? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101320190816
43579029? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019101320190816
43690983? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101320190816
43751142? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019101320190816
43786935? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019101320190816
43968885? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019101320190816
43992633? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019101320190816
44014248? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101320190816
44035275? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019101320190816
44351190? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019101320190816
44373252? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019101320190816
44394687? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019101320190816
44868402? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019101320190816
45474408? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019101320190816
45958890? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019101320190816
46418850? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101320190816
47072574? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019101320190816
47199867? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019101320190816
47211504? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019101320190816
47254329? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019101320190816
47426031? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019101320190816
69964566? ? ?? ? ?refgcc_-funroll-loops2019101320190816
70030419? ? ?? ? ?refcc2019101320190816
70640163? ? ?? ? ?refgcc2019101320190816

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