Implementation notes: amd64, gpu, crypto_kem/ntruhps4096821

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: ntruhps4096821
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7633242? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101220190816
7794648? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101220190816
7851483? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019101220190816
7900125? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019101220190816
7943181? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019101220190816
8027688? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101220190816
8129250? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101220190816
8517615? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019101220190816
9089562? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019101220190816
9267288? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019101220190816
9529269? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019101220190816
9558330? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101220190816
9795090? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019101220190816
9834558? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101220190816
9843270? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019101220190816
9873801? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019101220190816
10296060? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019101220190816
10472394? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019101220190816
10855674? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019101220190816
11017662? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101220190816
11459508? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019101220190816
11703081? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019101220190816
11859432? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019101220190816
11890299? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019101220190816
11994039? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019101220190816
12007860? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019101220190816
12181788? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019101220190816
12209091? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101220190816
12265755? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019101220190816
12333297? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019101220190816
12373740? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019101220190816
12383751? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019101220190816
12635346? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019101220190816
12637368? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019101220190816
13088655? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019101220190816
13121910? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019101220190816
13218732? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019101220190816
1324569355097 0 077218 824 1920refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019101220190816
1327441832295 0 057586 824 1568refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101220190816
1334579132295 0 057586 824 1568refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101220190816
13354773? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019101220190816
1336387561853 0 084706 824 1920refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019101220190816
1336679732295 0 057586 824 1568refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101220190816
13367535? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019101220190816
1345375855097 0 077218 824 1920refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019101220190816
1347114661853 0 084706 824 1920refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101220190816
1347888032599 0 056562 824 1568refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019101220190816
13524831? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101220190816
13555230? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019101220190816
13580829? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019101220190816
13613271? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101220190816
13758243? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101220190816
13809327? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019101220190816
13812564? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019101220190816
13816161? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101220190816
13866648? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019101220190816
13955202? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019101220190816
13981878? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019101220190816
14402178? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019101220190816
14437980? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019101220190816
18417411? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019101220190816
18474138? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019101220190816
18541947? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019101220190816
18577719? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101220190816
18582060? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019101220190816
18592272? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019101220190816
18592779? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019101220190816
18611748? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019101220190816
18614247? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019101220190816
18622107? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019101220190816
18625107? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019101220190816
18659079? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019101220190816
18665427? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019101220190816
18673437? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019101220190816
18688512? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019101220190816
18704424? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019101220190816
18778284? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019101220190816
18911292? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101220190816
18944520? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019101220190816
18956091? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019101220190816
18966795? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019101220190816
19067598? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019101220190816
19070754? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019101220190816
19115319? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019101220190816
19133613? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019101220190816
19138536? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019101220190816
19887447? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019101220190816
19895367? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101220190816
19896009? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019101220190816
19944426? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019101220190816
20112468? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019101220190816
20241414? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101220190816
20280399? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019101220190816
20321781? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019101220190816
20331939? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019101220190816
20371014? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019101220190816
20387781? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019101220190816
20521284? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101220190816
20587086? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019101220190816
20736999? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019101220190816
20833065? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101220190816
20844423? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101220190816
20877768? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019101220190816
20900454? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019101220190816
20949561? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019101220190816
20974440? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101220190816
21094167? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019101220190816
21118740? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019101220190816
21271575? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019101220190816
21625188? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019101220190816
21635727? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019101220190816
21691515? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019101220190816
44260335? ? ?? ? ?refcc2019101220190816
46816329? ? ?? ? ?refgcc2019101220190816
51330756? ? ?? ? ?refgcc_-funroll-loops2019101220190816

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