Implementation notes: amd64, manny613, crypto_aead/aes256otrpv2

Computer: manny613
Architecture: amd64
CPU ID: GenuineIntel-000306e4-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_aead
Primitive: aes256otrpv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
127948? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018082920180818
127996? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018082920180818
128020? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018082920180818
128020? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018082920180818
128024? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018082920180818
128048? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018082920180818
128092? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018082920180818
132044? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018082920180818
132180? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018082920180818
132352? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018082920180818
132608? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082920180818
133752? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018082920180818
133800? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018082920180818
133876? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082920180818
134440? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018082920180818
134452? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018082920180818
134508? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082920180818
134616? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018082920180818
134648? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082920180818
134676? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082920180818
134848? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018082920180818
135292? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082920180818
135292? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018082920180818
135360? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018082920180818
135424? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018082920180818
135448? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018082920180818
135740? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018082920180818
136460? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018082920180818
136500? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018082920180818
136916? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018082920180818
136984? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018082920180818
137240? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018082920180818
137268? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018082920180818
138116? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018082920180818
138252? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018082920180818
148076? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018082920180818
148140? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018082920180818
149612? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018082920180818
149676? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018082920180818
149712? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018082920180818
149796? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018082920180818
149916? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018082920180818
149940? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018082920180818
149972? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018082920180818
149992? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018082920180818
150168? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018082920180818
151204? ? ?? ? ?reficc_-no-vec2018082920180818
151684? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018082920180818
151864? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018082920180818
152188? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018082920180818
152756? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018082920180818
152996? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018082920180818
153284? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018082920180818
153332? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018082920180818
153440? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018082920180818
153604? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018082920180818
154212? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082920180818
154424? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018082920180818
154528? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018082920180818
156260? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018082920180818
156328? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082920180818
161248? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018082920180818
161300? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018082920180818
161320? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018082920180818
162504? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018082920180818
169436? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018082920180818
169544? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018082920180818
170044? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018082920180818
170136? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018082920180818
170200? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018082920180818
170488? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018082920180818
170592? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018082920180818
170692? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018082920180818
170748? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082920180818
171044? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018082920180818
171448? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018082920180818
171496? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018082920180818
171580? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018082920180818
171692? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082920180818
171760? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018082920180818
171888? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018082920180818
171964? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018082920180818
172016? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018082920180818
172016? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018082920180818
172088? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018082920180818
172216? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018082920180818
172388? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018082920180818
172496? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018082920180818
172608? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018082920180818
172888? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018082920180818
172952? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018082920180818
173000? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082920180818
173020? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018082920180818
173228? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082920180818
173368? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018082920180818
173700? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018082920180818
173896? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018082920180818
173912? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018082920180818
173996? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018082920180818
174272? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018082920180818
174312? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018082920180818
174372? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018082920180818
174392? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018082920180818
208964? ? ?? ? ?reficc2018082920180818
209620? ? ?? ? ?reficc_-xAVX_-O2_-fomit-frame-pointer2018082920180818
209736? ? ?? ? ?reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018082920180818
209780? ? ?? ? ?reficc_-xSSE4.2_-O2_-fomit-frame-pointer2018082920180818
209880? ? ?? ? ?reficc_-xSSE4.2_-O3_-fomit-frame-pointer2018082920180818
209892? ? ?? ? ?reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018082920180818
209932? ? ?? ? ?reficc_-xAVX_-O3_-fomit-frame-pointer2018082920180818
212820? ? ?? ? ?reficc_-xSSE4.1_-O2_-fomit-frame-pointer2018082920180818
213500? ? ?? ? ?reficc_-xSSE4.1_-O3_-fomit-frame-pointer2018082920180818
239696? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018082920180818
260480? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018082920180818
465256? ? ?? ? ?refcc2018082920180818
466976? ? ?? ? ?refgcc2018082920180818
467068? ? ?? ? ?refgcc_-funroll-loops2018082920180818

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