Implementation notes: amd64, enigma, crypto_aead/deoxysneq128128v1

Computer: enigma
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20140529
Operation: crypto_aead
Primitive: deoxysneq128128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
1482417refgcc -m64 -O3 -fomit-frame-pointer2014060220140529
1482831refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060220140529
1483326refgcc -O3 -fomit-frame-pointer2014060220140529
1484010refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060220140529
1485054refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060220140529
1485198refgcc -march=barcelona -O3 -fomit-frame-pointer2014060220140529
1486350refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060220140529
1486494refgcc -march=k8 -O3 -fomit-frame-pointer2014060220140529
1486593refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060220140529
1488033refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060220140529
1488186refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060220140529
1489014refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060220140529
1491201refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060220140529
1495953refgcc -march=nocona -O3 -fomit-frame-pointer2014060220140529
1497051refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060220140529
1497699refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060220140529
1498455refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060220140529
1499607refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060220140529
1501380refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060220140529
1501488refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060220140529
1501956refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060220140529
1503855refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060220140529
1504053refgcc -funroll-loops -O3 -fomit-frame-pointer2014060220140529
2178594refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060220140529
2178819refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060220140529
2186460refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060220140529
2197224refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060220140529
2209878refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060220140529
2216763refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014060220140529
2217438refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060220140529
2217465refgcc -funroll-loops -O -fomit-frame-pointer2014060220140529
2293398refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060220140529
2597931refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060220140529
2611278refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060220140529
2691360refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060220140529
2814156refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060220140529
2858571refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060220140529
2860101refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060220140529
2863296refgcc -funroll-loops -O2 -fomit-frame-pointer2014060220140529
2875914refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060220140529
2876067refgcc -march=barcelona -O2 -fomit-frame-pointer2014060220140529
2880486refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060220140529
2906595refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060220140529
2909808refgcc -m64 -march=core2 -O -fomit-frame-pointer2014060220140529
2909943refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060220140529
2918340refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060220140529
2954844refgcc -m64 -O -fomit-frame-pointer2014060220140529
2991519refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060220140529
2995983refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060220140529
3048417refgcc -march=k8 -O2 -fomit-frame-pointer2014060220140529
3084354refgcc -m64 -march=nocona -O -fomit-frame-pointer2014060220140529
3090303refgcc -march=nocona -O -fomit-frame-pointer2014060220140529
3101742refgcc -O -fomit-frame-pointer2014060220140529
3116475refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060220140529
3135780refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060220140529
3144204refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060220140529
3144753refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060220140529
3145356refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060220140529
3154464refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060220140529
3164175refgcc -march=k8 -O -fomit-frame-pointer2014060220140529
3177594refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060220140529
3192336refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060220140529
3192993refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060220140529
3193137refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060220140529
3194118refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060220140529
3194568refgcc -funroll-loops -Os -fomit-frame-pointer2014060220140529
3243888refgcc -march=barcelona -O -fomit-frame-pointer2014060220140529
3247830refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060220140529
3253194refgcc -m64 -O2 -fomit-frame-pointer2014060220140529
3253212refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060220140529
3253914refgcc -O2 -fomit-frame-pointer2014060220140529
3256740refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060220140529
3257334refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014060220140529
3261933refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060220140529
3286188refgcc -m64 -march=k8 -O -fomit-frame-pointer2014060220140529
3301911refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014060220140529
3306861refgcc -Os -fomit-frame-pointer2014060220140529
3312801refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060220140529
3320001refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060220140529
3389427refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060220140529
3393036refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060220140529
3393270refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060220140529
3393702refgcc -m64 -Os -fomit-frame-pointer2014060220140529
3393783refgcc -march=k8 -Os -fomit-frame-pointer2014060220140529
3394512refgcc -march=barcelona -Os -fomit-frame-pointer2014060220140529
3395133refgcc -march=nocona -Os -fomit-frame-pointer2014060220140529
3401883refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014060220140529
3401973refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060220140529
3402855refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060220140529
3403215refgcc -march=nocona -O2 -fomit-frame-pointer2014060220140529
3405141refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014060220140529
3432447refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060220140529
8701191refcc2014060220140529
8724843refgcc2014060220140529
8759340refgcc -funroll-loops2014060220140529

Compiler output

Implementation: crypto_aead/deoxysneq128128v1/opt
Compiler: cc
deoxys.c: In file included from deoxys.c:29:
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:30:
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 'deoxys_aead_encrypt':
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: ...
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: 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/deoxysneq128128v1/opt
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
deoxys.c: In file included from deoxys.c:29:
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:30:
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 'deoxys_aead_encrypt':
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: ...
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: In file included from deoxys.c:29:
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:30:
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 'deoxys_aead_encrypt':
deoxys.c: deoxys.c:96: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:104: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: ...
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: 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/deoxysneq128128v1/opt
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
deoxys.c: In file included from deoxys.c:29:
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 'deoxys_aead_encrypt':
deoxys.c: deoxys.c:120: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:120: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:120: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:120: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:120: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:120: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:120: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: ...
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys.c: deoxys.c:527: 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