Implementation notes: amd64, h4e350, crypto_aead/deoxysneq256128v1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: deoxysneq256128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
2403393refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
2403435refgcc -funroll-loops -O3 -fomit-frame-pointer2014062020140525
2403807refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014062020140525
2425128refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014062020140525
2434587refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
2439072refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014062020140525
2440746refgcc -march=barcelona -O3 -fomit-frame-pointer2014062020140525
2440959refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014062020140525
2441037refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
2441625refgcc -march=k8 -O3 -fomit-frame-pointer2014062020140525
2441952refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014062020140525
2447865refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014062020140525
2453316refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014062020140525
2458542refgcc -O3 -fomit-frame-pointer2014062020140525
2458563refgcc -m64 -O3 -fomit-frame-pointer2014062020140525
2458725refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062020140525
2470263refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014062020140525
2472183refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
2552043refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014062020140525
2553711refgcc -march=nocona -O3 -fomit-frame-pointer2014062020140525
4756641refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014080420140622
4771257refclang -O3 -fomit-frame-pointer2014080420140622
4789071refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
4813560refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
4821807refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014062020140525
4822023refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
4832937refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014080420140622
4928904refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014062020140525
4976649refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
4984227refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014062020140525
4984560refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
4989828refgcc -funroll-loops -O2 -fomit-frame-pointer2014062020140525
5331330refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014062020140525
5333229refgcc -funroll-loops -O -fomit-frame-pointer2014062020140525
5384067refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
5435274refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014062020140525
5435289refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
5528304refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014062020140525
5528628refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
5594973refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014062020140525
5595270refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
5764701refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
5764737refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014062020140525
6405990refgcc -march=barcelona -O2 -fomit-frame-pointer2014062020140525
6449268refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014062020140525
6531693refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014062020140525
6668118refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014062020140525
6720627refgcc -march=k8 -O2 -fomit-frame-pointer2014062020140525
6743172refgcc -m64 -march=nocona -O -fomit-frame-pointer2014062020140525
6743256refgcc -march=nocona -O -fomit-frame-pointer2014062020140525
6768045refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014062020140525
6768246refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014062020140525
6770898refgcc -O2 -fomit-frame-pointer2014062020140525
6771066refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062020140525
6771066refgcc -m64 -O2 -fomit-frame-pointer2014062020140525
6797286refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014062020140525
6820803refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014062020140525
6960399refgcc -march=nocona -O2 -fomit-frame-pointer2014062020140525
6960954refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014062020140525
7003230refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062020140525
7003548refgcc -m64 -march=core2 -O -fomit-frame-pointer2014062020140525
7003605refgcc -O -fomit-frame-pointer2014062020140525
7004757refgcc -m64 -O -fomit-frame-pointer2014062020140525
7052802refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014062020140525
7086030refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014062020140525
7086195refgcc -march=barcelona -O -fomit-frame-pointer2014062020140525
7086585refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014062020140525
7172358refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014062020140525
7232055refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014062020140525
7299195refgcc -m64 -march=k8 -O -fomit-frame-pointer2014062020140525
7299549refgcc -march=k8 -O -fomit-frame-pointer2014062020140525
7547619refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
7587312refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014062020140525
7615377refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014062020140525
7619487refgcc -Os -fomit-frame-pointer2014062020140525
7635306refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014062020140525
7639488refgcc -funroll-loops -Os -fomit-frame-pointer2014062020140525
7644030refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
7644171refgcc -march=barcelona -Os -fomit-frame-pointer2014062020140525
7645884refgcc -m64 -Os -fomit-frame-pointer2014062020140525
7649460refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
7652385refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014062020140525
7652787refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
7655514refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014062020140525
7658985refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014062020140525
7659249refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014062020140525
7662000refgcc -march=k8 -Os -fomit-frame-pointer2014062020140525
7668705refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014062020140525
7670670refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014062020140525
7671402refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062020140525
7671900refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014062020140525
7672932refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014062020140525
7703388refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014062020140525
8065059refgcc -march=nocona -Os -fomit-frame-pointer2014062020140525
20838462refgcc2014062020140525
20840586refcc2014062020140525
20841810refgcc -funroll-loops2014062020140525

Compiler output

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

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/deoxysneq256128v1/opt
Compiler: clang -O3 -fomit-frame-pointer
deoxys-256.c: In file included from deoxys-256.c:28:
deoxys-256.c: /usr/include/clang/3.0/include/wmmintrin.h:28:3: error: #error "AES instructions not enabled"
deoxys-256.c: # error "AES instructions not enabled"
deoxys-256.c: ^
deoxys-256.c: In file included from deoxys-256.c:29:
deoxys-256.c: /usr/include/clang/3.0/include/tmmintrin.h:28:2: error: #error "SSSE3 instruction set not enabled"
deoxys-256.c: #error "SSSE3 instruction set not enabled"
deoxys-256.c: ^
deoxys-256.c: deoxys-256.c:96:13: warning: implicit declaration of function '_mm_shuffle_epi8' is invalid in C99 [-Wimplicit-function-declaration]
deoxys-256.c: tmp = permute( tmp, H_PERMUTATION );
deoxys-256.c: ^
deoxys-256.c: ./tweakable-cipher.macros:7:22: note: expanded from:
deoxys-256.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys-256.c: ^
deoxys-256.c: deoxys-256.c:96:11: error: assigning to '__m128i' from incompatible type 'int';
deoxys-256.c: tmp = permute( tmp, H_PERMUTATION );
deoxys-256.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.c: deoxys-256.c:104:5: error: assigning to '__m128i' from incompatible type 'int';
deoxys-256.c: TWEAKEY_SCHEDULE3( tsubkeys1,tsubkeys2,subkeys, key);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.c: ./tweakable-cipher.macros:37:3: note: expanded from:
deoxys-256.c: ONE_KEY_ROUND( subkeys1[ 0], subkeys1[ 1], subkeys2[ 0], subkeys2[ 1] ); ts[ 1] = xor( xor(subkeys1[ 1],subkeys2[ 1]), RCONS[ 1] ); \
deoxys-256.c: ^
deoxys-256.c: ./tweakable-cipher.macros:27:3: note: expanded from:
deoxys-256.c: TIMES2( key1, new_key2 );\
deoxys-256.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer opt

Compiler output

Implementation: crypto_aead/deoxysneq256128v1/ref
Compiler: clang -O3 -fomit-frame-pointer
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/deoxysneq256128v1/opt
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
deoxys-256.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
deoxys-256.c: clang: warning: argument unused during compilation: '-mavx2'
deoxys-256.c: clang: warning: argument unused during compilation: '-mpclmul'
deoxys-256.c: In file included from deoxys-256.c:28:
deoxys-256.c: In file included from /usr/include/clang/3.0/include/wmmintrin.h:31:
deoxys-256.c: /usr/include/clang/3.0/include/smmintrin.h:28:2: error: #error "SSE4.1 instruction set not enabled"
deoxys-256.c: #error "SSE4.1 instruction set not enabled"
deoxys-256.c: ^
deoxys-256.c: In file included from deoxys-256.c:29:
deoxys-256.c: /usr/include/clang/3.0/include/tmmintrin.h:28:2: error: #error "SSSE3 instruction set not enabled"
deoxys-256.c: #error "SSSE3 instruction set not enabled"
deoxys-256.c: ^
deoxys-256.c: deoxys-256.c:96:13: warning: implicit declaration of function '_mm_shuffle_epi8' is invalid in C99 [-Wimplicit-function-declaration]
deoxys-256.c: tmp = permute( tmp, H_PERMUTATION );
deoxys-256.c: ^
deoxys-256.c: ./tweakable-cipher.macros:7:22: note: expanded from:
deoxys-256.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys-256.c: ^
deoxys-256.c: deoxys-256.c:96:11: error: assigning to '__m128i' from incompatible type 'int';
deoxys-256.c: tmp = permute( tmp, H_PERMUTATION );
deoxys-256.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.c: deoxys-256.c:104:5: error: assigning to '__m128i' from incompatible type 'int';
deoxys-256.c: TWEAKEY_SCHEDULE3( tsubkeys1,tsubkeys2,subkeys, key);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.c: ./tweakable-cipher.macros:37:3: note: expanded from:
deoxys-256.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer opt

Compiler output

Implementation: crypto_aead/deoxysneq256128v1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
deoxys.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
deoxys.c: clang: warning: argument unused during compilation: '-mavx2'
deoxys.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
tweakableBC.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
tweakableBC.c: clang: warning: argument unused during compilation: '-mavx2'
tweakableBC.c: clang: warning: argument unused during compilation: '-mpclmul'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/deoxysneq256128v1/opt
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
deoxys-256.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
deoxys-256.c: clang: warning: argument unused during compilation: '-mavx2'
deoxys-256.c: clang: warning: argument unused during compilation: '-mpclmul'
deoxys-256.c: clang: warning: argument unused during compilation: '-fpolly'
deoxys-256.c: clang: warning: argument unused during compilation: '-fvectorize'
deoxys-256.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
deoxys-256.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
deoxys-256.c: In file included from deoxys-256.c:28:
deoxys-256.c: In file included from /usr/include/clang/3.0/include/wmmintrin.h:31:
deoxys-256.c: /usr/include/clang/3.0/include/smmintrin.h:28:2: error: #error "SSE4.1 instruction set not enabled"
deoxys-256.c: #error "SSE4.1 instruction set not enabled"
deoxys-256.c: ^
deoxys-256.c: In file included from deoxys-256.c:29:
deoxys-256.c: /usr/include/clang/3.0/include/tmmintrin.h:28:2: error: #error "SSSE3 instruction set not enabled"
deoxys-256.c: #error "SSSE3 instruction set not enabled"
deoxys-256.c: ^
deoxys-256.c: deoxys-256.c:96:13: warning: implicit declaration of function '_mm_shuffle_epi8' is invalid in C99 [-Wimplicit-function-declaration]
deoxys-256.c: tmp = permute( tmp, H_PERMUTATION );
deoxys-256.c: ^
deoxys-256.c: ./tweakable-cipher.macros:7:22: note: expanded from:
deoxys-256.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys-256.c: ^
deoxys-256.c: deoxys-256.c:96:11: error: assigning to '__m128i' from incompatible type 'int';
deoxys-256.c: tmp = permute( tmp, H_PERMUTATION );
deoxys-256.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer opt

Compiler output

Implementation: crypto_aead/deoxysneq256128v1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
deoxys.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
deoxys.c: clang: warning: argument unused during compilation: '-mavx2'
deoxys.c: clang: warning: argument unused during compilation: '-mpclmul'
deoxys.c: clang: warning: argument unused during compilation: '-fpolly'
deoxys.c: clang: warning: argument unused during compilation: '-fvectorize'
deoxys.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
deoxys.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
tweakableBC.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
tweakableBC.c: clang: warning: argument unused during compilation: '-mavx2'
tweakableBC.c: clang: warning: argument unused during compilation: '-mpclmul'
tweakableBC.c: clang: warning: argument unused during compilation: '-fpolly'
tweakableBC.c: clang: warning: argument unused during compilation: '-fvectorize'
tweakableBC.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
tweakableBC.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/deoxysneq256128v1/opt
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
deoxys-256.c: clang: warning: argument unused during compilation: '-mavx2'
deoxys-256.c: In file included from deoxys-256.c:28:
deoxys-256.c: /usr/include/clang/3.0/include/wmmintrin.h:28:3: error: #error "AES instructions not enabled"
deoxys-256.c: # error "AES instructions not enabled"
deoxys-256.c: ^
deoxys-256.c: In file included from deoxys-256.c:29:
deoxys-256.c: /usr/include/clang/3.0/include/tmmintrin.h:28:2: error: #error "SSSE3 instruction set not enabled"
deoxys-256.c: #error "SSSE3 instruction set not enabled"
deoxys-256.c: ^
deoxys-256.c: deoxys-256.c:96:13: warning: implicit declaration of function '_mm_shuffle_epi8' is invalid in C99 [-Wimplicit-function-declaration]
deoxys-256.c: tmp = permute( tmp, H_PERMUTATION );
deoxys-256.c: ^
deoxys-256.c: ./tweakable-cipher.macros:7:22: note: expanded from:
deoxys-256.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys-256.c: ^
deoxys-256.c: deoxys-256.c:96:11: error: assigning to '__m128i' from incompatible type 'int';
deoxys-256.c: tmp = permute( tmp, H_PERMUTATION );
deoxys-256.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.c: deoxys-256.c:104:5: error: assigning to '__m128i' from incompatible type 'int';
deoxys-256.c: TWEAKEY_SCHEDULE3( tsubkeys1,tsubkeys2,subkeys, key);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.c: ./tweakable-cipher.macros:37:3: note: expanded from:
deoxys-256.c: ONE_KEY_ROUND( subkeys1[ 0], subkeys1[ 1], subkeys2[ 0], subkeys2[ 1] ); ts[ 1] = xor( xor(subkeys1[ 1],subkeys2[ 1]), RCONS[ 1] ); \
deoxys-256.c: ^
deoxys-256.c: ./tweakable-cipher.macros:27:3: note: expanded from:
deoxys-256.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer opt

Compiler output

Implementation: crypto_aead/deoxysneq256128v1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
deoxys.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
tweakableBC.c: clang: warning: argument unused during compilation: '-mavx2'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/deoxysneq256128v1/opt
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
deoxys-256.c: clang: warning: argument unused during compilation: '-mavx2'
deoxys-256.c: clang: warning: argument unused during compilation: '-fpolly'
deoxys-256.c: clang: warning: argument unused during compilation: '-fvectorize'
deoxys-256.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
deoxys-256.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
deoxys-256.c: In file included from deoxys-256.c:28:
deoxys-256.c: /usr/include/clang/3.0/include/wmmintrin.h:28:3: error: #error "AES instructions not enabled"
deoxys-256.c: # error "AES instructions not enabled"
deoxys-256.c: ^
deoxys-256.c: In file included from deoxys-256.c:29:
deoxys-256.c: /usr/include/clang/3.0/include/tmmintrin.h:28:2: error: #error "SSSE3 instruction set not enabled"
deoxys-256.c: #error "SSSE3 instruction set not enabled"
deoxys-256.c: ^
deoxys-256.c: deoxys-256.c:96:13: warning: implicit declaration of function '_mm_shuffle_epi8' is invalid in C99 [-Wimplicit-function-declaration]
deoxys-256.c: tmp = permute( tmp, H_PERMUTATION );
deoxys-256.c: ^
deoxys-256.c: ./tweakable-cipher.macros:7:22: note: expanded from:
deoxys-256.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys-256.c: ^
deoxys-256.c: deoxys-256.c:96:11: error: assigning to '__m128i' from incompatible type 'int';
deoxys-256.c: tmp = permute( tmp, H_PERMUTATION );
deoxys-256.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.c: deoxys-256.c:104:5: error: assigning to '__m128i' from incompatible type 'int';
deoxys-256.c: TWEAKEY_SCHEDULE3( tsubkeys1,tsubkeys2,subkeys, key);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer opt

Compiler output

Implementation: crypto_aead/deoxysneq256128v1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
deoxys.c: clang: warning: argument unused during compilation: '-mavx2'
deoxys.c: clang: warning: argument unused during compilation: '-fpolly'
deoxys.c: clang: warning: argument unused during compilation: '-fvectorize'
deoxys.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
deoxys.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
tweakableBC.c: clang: warning: argument unused during compilation: '-mavx2'
tweakableBC.c: clang: warning: argument unused during compilation: '-fpolly'
tweakableBC.c: clang: warning: argument unused during compilation: '-fvectorize'
tweakableBC.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
tweakableBC.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

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

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/deoxysneq256128v1/opt
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
deoxys-256.c: In file included from deoxys-256.c:28:0:
deoxys-256.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
deoxys-256.c: deoxys-256.c: In function 'deoxys_aead_encrypt':
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:120:4: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:132:7: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:132:7: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:132:7: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:132:7: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:132:7: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: deoxys-256.c:132:7: error: incompatible types when assigning to type '__m128i' from type 'int'
deoxys-256.c: ...

Number of similar (compiler,implementation) pairs: 17, 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 -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 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O -fomit-frame-pointer opt
gcc -m64 -march=corei7 -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