Implementation notes: amd64, manny613, crypto_aead/aes128otrsv2

Computer: manny613
Architecture: amd64
CPU ID: GenuineIntel-000306e4-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_aead
Primitive: aes128otrsv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
96132? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018082820180818
96260? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018082820180818
96324? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018082820180818
96500? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018082820180818
96504? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018082820180818
96584? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018082820180818
96632? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018082820180818
100488? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018082820180818
100512? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082820180818
100520? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018082820180818
100528? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018082820180818
100760? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018082820180818
100812? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082820180818
101032? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018082820180818
101084? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082820180818
101176? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018082820180818
101212? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018082820180818
101424? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018082820180818
101512? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082820180818
101680? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018082820180818
101720? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082820180818
102120? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018082820180818
102188? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082820180818
102628? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018082820180818
102636? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018082820180818
102680? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018082820180818
102696? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018082820180818
102840? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018082820180818
102856? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018082820180818
102900? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018082820180818
103024? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018082820180818
103508? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018082820180818
103760? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018082820180818
104080? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018082820180818
104612? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018082820180818
107056? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018082820180818
107096? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018082820180818
108980? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018082820180818
109080? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018082820180818
109716? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018082820180818
109744? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018082820180818
109988? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018082820180818
110028? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082820180818
110052? ? ?? ? ?reficc_-no-vec2018082820180818
110056? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018082820180818
110060? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018082820180818
110120? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018082820180818
110128? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018082820180818
110148? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018082820180818
110152? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018082820180818
110156? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018082820180818
110176? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018082820180818
110244? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018082820180818
110248? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018082820180818
110380? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018082820180818
110576? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018082820180818
110668? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018082820180818
112012? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018082820180818
112028? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018082820180818
112056? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018082820180818
112528? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018082820180818
112796? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082820180818
116852? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018082820180818
116884? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018082820180818
116896? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018082820180818
116908? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018082820180818
116920? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018082820180818
116920? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018082820180818
116952? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018082820180818
116960? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018082820180818
116964? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018082820180818
116972? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018082820180818
116984? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018082820180818
117020? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018082820180818
117184? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018082820180818
117324? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018082820180818
118492? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018082820180818
118672? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018082820180818
118744? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018082820180818
118756? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082820180818
118836? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018082820180818
119140? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018082820180818
119200? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018082820180818
119260? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018082820180818
119484? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018082820180818
119540? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018082820180818
119600? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018082820180818
119656? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018082820180818
120096? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018082820180818
120132? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082820180818
120180? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018082820180818
120264? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018082820180818
120324? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018082820180818
120580? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082820180818
120632? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018082820180818
122872? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018082820180818
122880? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018082820180818
123000? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018082820180818
123300? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018082820180818
123332? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018082820180818
123624? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082820180818
124328? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018082820180818
124376? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018082820180818
125340? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018082820180818
125364? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018082820180818
150212? ? ?? ? ?reficc_-xAVX_-O2_-fomit-frame-pointer2018082820180818
150312? ? ?? ? ?reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018082820180818
150344? ? ?? ? ?reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018082820180818
150368? ? ?? ? ?reficc2018082820180818
150396? ? ?? ? ?reficc_-xSSE4.2_-O2_-fomit-frame-pointer2018082820180818
150560? ? ?? ? ?reficc_-xAVX_-O3_-fomit-frame-pointer2018082820180818
150604? ? ?? ? ?reficc_-xSSE4.2_-O3_-fomit-frame-pointer2018082820180818
152480? ? ?? ? ?reficc_-xSSE4.1_-O3_-fomit-frame-pointer2018082820180818
152484? ? ?? ? ?reficc_-xSSE4.1_-O2_-fomit-frame-pointer2018082820180818
332396? ? ?? ? ?refgcc_-funroll-loops2018082820180818
332704? ? ?? ? ?refgcc2018082820180818
334456? ? ?? ? ?refcc2018082820180818

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
OTR.c: OTR.c:51:7: warning: built-in function 'gamma' declared as non-function [enabled by default]
OTR.c: uint8 gamma[BLOCK]={0}, gamma2[BLOCK]={0}, Q[BLOCK]={0};
OTR.c: ^

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc
OTR.c: OTR.c:51:7: warning: built-in function 'gamma' declared as non-function [-Wbuiltin-declaration-mismatch]
OTR.c: uint8 gamma[BLOCK]={0}, gamma2[BLOCK]={0}, Q[BLOCK]={0};
OTR.c: ^~~~~

Number of similar (compiler,implementation) pairs: 105, namely:
CompilerImplementations
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=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
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
OTR.c: OTR.c:51:7: warning: built-in function 'gamma' declared as non-function [-Wbuiltin-declaration-mismatch]
OTR.c: uint8 gamma[BLOCK]={0}, gamma2[BLOCK]={0}, Q[BLOCK]={0};
OTR.c: ^~~~~
OTR.c: OTR.c:51:7: warning: built-in function 'gamma' declared as non-function [-Wbuiltin-declaration-mismatch]
OTR.c: uint8 gamma[BLOCK]={0}, gamma2[BLOCK]={0}, Q[BLOCK]={0};
OTR.c: ^~~~~

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