Implementation notes: amd64, enigma, crypto_aead/deoxyseq128128v1

Computer: enigma
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20140529
Operation: crypto_aead
Primitive: deoxyseq128128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
2263284refgcc -O3 -fomit-frame-pointer2014060220140529
2264436refgcc -m64 -O3 -fomit-frame-pointer2014060220140529
2264706refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060220140529
2266047refgcc -march=barcelona -O3 -fomit-frame-pointer2014060220140529
2266101refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060220140529
2266776refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060220140529
2266992refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060220140529
2267010refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060220140529
2268099refgcc -march=k8 -O3 -fomit-frame-pointer2014060220140529
2268873refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060220140529
2270034refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060220140529
2270043refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060220140529
2286423refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060220140529
2287233refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060220140529
2291373refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060220140529
2294235refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060220140529
2294892refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060220140529
2295783refgcc -march=nocona -O3 -fomit-frame-pointer2014060220140529
2297106refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060220140529
2297691refgcc -funroll-loops -O3 -fomit-frame-pointer2014060220140529
2298672refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060220140529
2299527refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060220140529
2300058refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060220140529
3298239refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060220140529
3304035refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060220140529
3305187refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060220140529
3312261refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060220140529
3401802refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060220140529
3403998refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060220140529
3538215refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014060220140529
3538341refgcc -funroll-loops -O -fomit-frame-pointer2014060220140529
3539349refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060220140529
3931119refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060220140529
3945861refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060220140529
4029480refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060220140529
4033917refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060220140529
4041306refgcc -funroll-loops -O2 -fomit-frame-pointer2014060220140529
4070394refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060220140529
4187700refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060220140529
4188573refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060220140529
4315536refgcc -march=nocona -Os -fomit-frame-pointer2014060220140529
4325130refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014060220140529
4327902refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060220140529
4328280refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060220140529
4330719refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014060220140529
4333527refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060220140529
4333626refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060220140529
4333779refgcc -march=barcelona -Os -fomit-frame-pointer2014060220140529
4334076refgcc -march=k8 -Os -fomit-frame-pointer2014060220140529
4340007refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060220140529
4360419refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060220140529
4384665refgcc -Os -fomit-frame-pointer2014060220140529
4476951refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060220140529
4513734refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060220140529
4514904refgcc -O -fomit-frame-pointer2014060220140529
4518081refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014060220140529
4523040refgcc -m64 -Os -fomit-frame-pointer2014060220140529
4537296refgcc -m64 -O -fomit-frame-pointer2014060220140529
4659561refgcc -march=nocona -O -fomit-frame-pointer2014060220140529
4705011refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060220140529
4712715refgcc -march=k8 -O2 -fomit-frame-pointer2014060220140529
4713732refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060220140529
4730157refgcc -O2 -fomit-frame-pointer2014060220140529
4746330refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060220140529
4761288refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060220140529
4761540refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060220140529
4796532refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060220140529
4800636refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060220140529
4842621refgcc -march=barcelona -O2 -fomit-frame-pointer2014060220140529
4846608refgcc -m64 -march=nocona -O -fomit-frame-pointer2014060220140529
4907952refgcc -m64 -O2 -fomit-frame-pointer2014060220140529
4909464refgcc -march=barcelona -O -fomit-frame-pointer2014060220140529
4911669refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060220140529
4915602refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060220140529
4917555refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060220140529
4929336refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060220140529
4929849refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060220140529
4993110refgcc -m64 -march=k8 -O -fomit-frame-pointer2014060220140529
4993983refgcc -march=k8 -O -fomit-frame-pointer2014060220140529
5115690refgcc -m64 -march=core2 -O -fomit-frame-pointer2014060220140529
5116869refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060220140529
5129541refgcc -march=nocona -O2 -fomit-frame-pointer2014060220140529
5183109refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060220140529
5183406refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060220140529
5207508refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060220140529
5208120refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060220140529
5226165refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060220140529
5226246refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060220140529
5229054refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060220140529
5243886refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060220140529
5373720refgcc -funroll-loops -Os -fomit-frame-pointer2014060220140529
5374080refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060220140529
13052817refgcc -funroll-loops2014060220140529
13053636refcc2014060220140529
13053744refgcc2014060220140529

Compiler output

Implementation: crypto_aead/deoxyseq128128v1/opt
Compiler: cc
deoxys.c: In file included from deoxys.c:28:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
deoxys.c: In file included from deoxys.c:29:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
deoxys.c: deoxys.c: In function 'XLS':
deoxys.c: deoxys.c:94: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: ...
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'

Number of similar (compiler,implementation) pairs: 71, namely:
CompilerImplementations
cc opt
gcc opt
gcc -O2 -fomit-frame-pointer opt
gcc -O3 -fomit-frame-pointer opt
gcc -O -fomit-frame-pointer opt
gcc -Os -fomit-frame-pointer opt
gcc -fno-schedule-insns -O2 -fomit-frame-pointer opt
gcc -fno-schedule-insns -O3 -fomit-frame-pointer opt
gcc -fno-schedule-insns -O -fomit-frame-pointer opt
gcc -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops opt
gcc -funroll-loops -O2 -fomit-frame-pointer opt
gcc -funroll-loops -O3 -fomit-frame-pointer opt
gcc -funroll-loops -O -fomit-frame-pointer opt
gcc -funroll-loops -Os -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer opt
gcc -m64 -O2 -fomit-frame-pointer opt
gcc -m64 -O3 -fomit-frame-pointer opt
gcc -m64 -O -fomit-frame-pointer opt
gcc -m64 -Os -fomit-frame-pointer opt
gcc -m64 -march=k8 -O2 -fomit-frame-pointer opt
gcc -m64 -march=k8 -O3 -fomit-frame-pointer opt
gcc -m64 -march=k8 -O -fomit-frame-pointer opt
gcc -m64 -march=k8 -Os -fomit-frame-pointer opt
gcc -m64 -march=nocona -O2 -fomit-frame-pointer opt
gcc -m64 -march=nocona -O3 -fomit-frame-pointer opt
gcc -m64 -march=nocona -O -fomit-frame-pointer opt
gcc -m64 -march=nocona -Os -fomit-frame-pointer opt
gcc -march=barcelona -O2 -fomit-frame-pointer opt
gcc -march=barcelona -O3 -fomit-frame-pointer opt
gcc -march=barcelona -O -fomit-frame-pointer opt
gcc -march=barcelona -Os -fomit-frame-pointer opt
gcc -march=k8 -O2 -fomit-frame-pointer opt
gcc -march=k8 -O3 -fomit-frame-pointer opt
gcc -march=k8 -O -fomit-frame-pointer opt
gcc -march=k8 -Os -fomit-frame-pointer opt
gcc -march=nocona -O2 -fomit-frame-pointer opt
gcc -march=nocona -O3 -fomit-frame-pointer opt
gcc -march=nocona -O -fomit-frame-pointer opt
gcc -march=nocona -Os -fomit-frame-pointer opt

Compiler output

Implementation: crypto_aead/deoxyseq128128v1/opt
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
deoxys.c: In file included from deoxys.c:28:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
deoxys.c: In file included from deoxys.c:29:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
deoxys.c: deoxys.c: In function 'XLS':
deoxys.c: deoxys.c:94: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: ...
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: In file included from deoxys.c:28:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
deoxys.c: In file included from deoxys.c:29:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
deoxys.c: deoxys.c: In function 'XLS':
deoxys.c: deoxys.c:94: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: ...
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer opt
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer opt
gcc -m64 -march=barcelona -O -fomit-frame-pointer opt
gcc -m64 -march=barcelona -Os -fomit-frame-pointer opt

Compiler output

Implementation: crypto_aead/deoxyseq128128v1/opt
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
deoxys.c: In file included from deoxys.c:28:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
deoxys.c: deoxys.c: In function 'XLS':
deoxys.c: deoxys.c:94: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: ...
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:673: error: incompatible types when assigning to type '__m128i' from type 'int'

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core2 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer opt