Implementation notes: amd64, robin204, crypto_aead/paeq128tnm

Computer: robin204
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
SUPERCOP version: 20170228
Operation: crypto_aead
Primitive: paeq128tnm
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
47804? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017041420170228
47804? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017041420170228
47828? ? ?? ? ?aesnig++_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017041420170228
47852? ? ?? ? ?aesnig++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017041420170228
47872? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017041420170228
48072? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017041420170228
48080? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017041420170228
48092? ? ?? ? ?aesnig++_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017041420170228
48092? ? ?? ? ?aesniicpc_-xCORE-AVX2_-O3_-fomit-frame-pointer2017041420170228
48100? ? ?? ? ?aesnig++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017041420170228
48392? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017041420170228
48852? ? ?? ? ?aesniicpc_-xCORE-AVX2_-O2_-fomit-frame-pointer2017041420170228
48884? ? ?? ? ?aesnig++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017041420170228
48952? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017041420170228
48952? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017041420170228
49140? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017041420170228
49224? ? ?? ? ?aesnig++_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017041420170228
50544? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017041420170228
50568? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017041420170228
50576? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017041420170228
50576? ? ?? ? ?aesnig++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017041420170228
50784? ? ?? ? ?aesnig++_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017041420170228
2734956? ? ?? ? ?reficpc_-xCORE-AVX2_-O3_-fomit-frame-pointer2017041420170228
2837192? ? ?? ? ?reficpc_-xCORE-AVX2_-O2_-fomit-frame-pointer2017041420170228
3494524? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017041420170228
3509640? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017041420170228
3511188? ? ?? ? ?refg++_-m64_-march=corei7_-O3_-fomit-frame-pointer2017041420170228
3516820? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017041420170228
3519524? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017041420170228
3523916? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017041420170228
3543732? ? ?? ? ?refg++_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017041420170228
3545164? ? ?? ? ?refg++_-march=barcelona_-O3_-fomit-frame-pointer2017041420170228
3546384? ? ?? ? ?refg++_-m64_-O3_-fomit-frame-pointer2017041420170228
3553412? ? ?? ? ?refg++_-m64_-march=core2_-O3_-fomit-frame-pointer2017041420170228
3558460? ? ?? ? ?refg++_-O3_-fomit-frame-pointer2017041420170228
3558732? ? ?? ? ?refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2017041420170228
3565600? ? ?? ? ?refg++_-m64_-march=k8_-O3_-fomit-frame-pointer2017041420170228
3571112? ? ?? ? ?refg++_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017041420170228
3578000? ? ?? ? ?refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017041420170228
3582512? ? ?? ? ?refg++_-march=nocona_-O3_-fomit-frame-pointer2017041420170228
3591048? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017041420170228
3596264? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017041420170228
3634748? ? ?? ? ?refg++_-march=k8_-O3_-fomit-frame-pointer2017041420170228
3646668? ? ?? ? ?refg++_-m64_-march=nocona_-O3_-fomit-frame-pointer2017041420170228
5774900? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017041420170228
7799896? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017041420170228
7805340? ? ?? ? ?refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017041420170228
7835924? ? ?? ? ?refg++_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017041420170228
7977968? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017041420170228
7996236? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017041420170228
8145112? ? ?? ? ?refg++_-march=k8_-O2_-fomit-frame-pointer2017041420170228
8158264? ? ?? ? ?refg++_-march=barcelona_-O2_-fomit-frame-pointer2017041420170228
8158692? ? ?? ? ?refg++_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017041420170228
8164888? ? ?? ? ?refg++_-m64_-march=k8_-O2_-fomit-frame-pointer2017041420170228
8418184? ? ?? ? ?refg++_-m64_-march=nocona_-O_-fomit-frame-pointer2017041420170228
8468580? ? ?? ? ?refg++_-m64_-march=barcelona_-O_-fomit-frame-pointer2017041420170228
8484604? ? ?? ? ?refg++_-march=nocona_-O_-fomit-frame-pointer2017041420170228
8575872? ? ?? ? ?refg++_-march=barcelona_-O_-fomit-frame-pointer2017041420170228
8794804? ? ?? ? ?refg++_-march=nocona_-O2_-fomit-frame-pointer2017041420170228
8816732? ? ?? ? ?refg++_-m64_-march=nocona_-O2_-fomit-frame-pointer2017041420170228
8886980? ? ?? ? ?refg++_-O2_-fomit-frame-pointer2017041420170228
8894504? ? ?? ? ?refg++_-m64_-O_-fomit-frame-pointer2017041420170228
8896140? ? ?? ? ?refg++_-m64_-march=corei7_-O2_-fomit-frame-pointer2017041420170228
8904224? ? ?? ? ?refg++_-m64_-O2_-fomit-frame-pointer2017041420170228
8904668? ? ?? ? ?refg++_-m64_-march=core2_-O2_-fomit-frame-pointer2017041420170228
8905140? ? ?? ? ?refg++_-O_-fomit-frame-pointer2017041420170228
8917564? ? ?? ? ?refg++_-m64_-march=corei7_-O_-fomit-frame-pointer2017041420170228
8918304? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017041420170228
8919464? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017041420170228
8924856? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017041420170228
8926744? ? ?? ? ?refg++_-m64_-march=core2_-O_-fomit-frame-pointer2017041420170228
8931504? ? ?? ? ?refg++_-march=k8_-O_-fomit-frame-pointer2017041420170228
8932908? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017041420170228
8939544? ? ?? ? ?refg++_-m64_-march=k8_-O_-fomit-frame-pointer2017041420170228
8939696? ? ?? ? ?refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2017041420170228
8941468? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017041420170228
8972484? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017041420170228
8973720? ? ?? ? ?refg++_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017041420170228
8988856? ? ?? ? ?refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2017041420170228
8991436? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017041420170228
9063560? ? ?? ? ?refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017041420170228
9535956? ? ?? ? ?refg++_-m64_-march=nocona_-Os_-fomit-frame-pointer2017041420170228
9666916? ? ?? ? ?refg++_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017041420170228
9668208? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017041420170228
9689492? ? ?? ? ?refg++_-march=nocona_-Os_-fomit-frame-pointer2017041420170228
9705124? ? ?? ? ?refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017041420170228
9745660? ? ?? ? ?refg++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017041420170228
9780816? ? ?? ? ?refg++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017041420170228
10181736? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017041420170228
10648016? ? ?? ? ?refg++_-m64_-march=corei7_-Os_-fomit-frame-pointer2017041420170228
10671472? ? ?? ? ?refg++_-m64_-march=core2_-Os_-fomit-frame-pointer2017041420170228
10683480? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017041420170228
10683920? ? ?? ? ?refg++_-m64_-march=k8_-Os_-fomit-frame-pointer2017041420170228
10686268? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017041420170228
10687664? ? ?? ? ?refg++_-march=barcelona_-Os_-fomit-frame-pointer2017041420170228
10694772? ? ?? ? ?refg++_-Os_-fomit-frame-pointer2017041420170228
10707576? ? ?? ? ?refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2017041420170228
10739524? ? ?? ? ?refg++_-m64_-Os_-fomit-frame-pointer2017041420170228
10794192? ? ?? ? ?refg++_-march=k8_-Os_-fomit-frame-pointer2017041420170228
10994940? ? ?? ? ?refg++_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017041420170228
41649372? ? ?? ? ?refg++2017041420170228

Compiler output

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: g++
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: encrypt.cpp:174:44: note: called from here
encrypt.cpp: acc7 = _mm_aesenc_si128(acc7, roundkey3);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: encrypt.cpp:173:44: note: called from here
encrypt.cpp: acc6 = _mm_aesenc_si128(acc6, roundkey2);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: encrypt.cpp:172:44: note: called from here
encrypt.cpp: acc5 = _mm_aesenc_si128(acc5, roundkey1);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ...

Number of similar (compiler,implementation) pairs: 53, namely:
CompilerImplementations
g++ aesni
g++ -O2 -fomit-frame-pointer aesni
g++ -O3 -fomit-frame-pointer aesni
g++ -O -fomit-frame-pointer aesni
g++ -Os -fomit-frame-pointer aesni
g++ -fno-schedule-insns -O2 -fomit-frame-pointer aesni
g++ -fno-schedule-insns -O3 -fomit-frame-pointer aesni
g++ -fno-schedule-insns -O -fomit-frame-pointer aesni
g++ -fno-schedule-insns -Os -fomit-frame-pointer aesni
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer aesni
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer aesni
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer aesni
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer aesni
g++ -m64 -O2 -fomit-frame-pointer aesni
g++ -m64 -O3 -fomit-frame-pointer aesni
g++ -m64 -O -fomit-frame-pointer aesni
g++ -m64 -Os -fomit-frame-pointer aesni
g++ -m64 -march=core2 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -O -fomit-frame-pointer aesni
g++ -m64 -march=core2 -Os -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -O -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -Os -fomit-frame-pointer aesni
g++ -m64 -march=k8 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=k8 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=k8 -O -fomit-frame-pointer aesni
g++ -m64 -march=k8 -Os -fomit-frame-pointer aesni
g++ -m64 -march=nocona -O2 -fomit-frame-pointer aesni
g++ -m64 -march=nocona -O3 -fomit-frame-pointer aesni
g++ -m64 -march=nocona -O -fomit-frame-pointer aesni
g++ -m64 -march=nocona -Os -fomit-frame-pointer aesni
g++ -march=barcelona -O2 -fomit-frame-pointer aesni
g++ -march=barcelona -O3 -fomit-frame-pointer aesni
g++ -march=barcelona -O -fomit-frame-pointer aesni
g++ -march=barcelona -Os -fomit-frame-pointer aesni
g++ -march=k8 -O2 -fomit-frame-pointer aesni
g++ -march=k8 -O3 -fomit-frame-pointer aesni
g++ -march=k8 -O -fomit-frame-pointer aesni
g++ -march=k8 -Os -fomit-frame-pointer aesni
g++ -march=nocona -O2 -fomit-frame-pointer aesni
g++ -march=nocona -O3 -fomit-frame-pointer aesni
g++ -march=nocona -O -fomit-frame-pointer aesni
g++ -march=nocona -Os -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: g++
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_encrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:355:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp:
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_encrypt_no_nonce(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:610:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp:
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_decrypt(unsigned char*, long long unsigned int*, unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:864:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits
encrypt.cpp:

Number of similar (compiler,implementation) pairs: 73, namely:
CompilerImplementations
g++ ref
g++ -O2 -fomit-frame-pointer ref
g++ -O3 -fomit-frame-pointer ref
g++ -O -fomit-frame-pointer ref
g++ -Os -fomit-frame-pointer ref
g++ -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -m64 -O2 -fomit-frame-pointer ref
g++ -m64 -O3 -fomit-frame-pointer ref
g++ -m64 -O -fomit-frame-pointer ref
g++ -m64 -Os -fomit-frame-pointer ref
g++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
g++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
g++ -m64 -march=core-avx-i -O -fomit-frame-pointer ref
g++ -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
g++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
g++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
g++ -m64 -march=corei7-avx -O -fomit-frame-pointer ref
g++ -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O -fomit-frame-pointer ref
g++ -m64 -march=corei7 -Os -fomit-frame-pointer ref
g++ -m64 -march=k8 -O2 -fomit-frame-pointer ref
g++ -m64 -march=k8 -O3 -fomit-frame-pointer ref
g++ -m64 -march=k8 -O -fomit-frame-pointer ref
g++ -m64 -march=k8 -Os -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
g++ -m64 -march=nocona -O2 -fomit-frame-pointer ref
g++ -m64 -march=nocona -O3 -fomit-frame-pointer ref
g++ -m64 -march=nocona -O -fomit-frame-pointer ref
g++ -m64 -march=nocona -Os -fomit-frame-pointer ref
g++ -march=barcelona -O2 -fomit-frame-pointer ref
g++ -march=barcelona -O3 -fomit-frame-pointer ref
g++ -march=barcelona -O -fomit-frame-pointer ref
g++ -march=barcelona -Os -fomit-frame-pointer ref
g++ -march=k8 -O2 -fomit-frame-pointer ref
g++ -march=k8 -O3 -fomit-frame-pointer ref
g++ -march=k8 -O -fomit-frame-pointer ref
g++ -march=k8 -Os -fomit-frame-pointer ref
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
g++ -march=nocona -O2 -fomit-frame-pointer ref
g++ -march=nocona -O3 -fomit-frame-pointer ref
g++ -march=nocona -O -fomit-frame-pointer ref
g++ -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: g++
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
encrypt.cpp: #include <intrin.h>
encrypt.cpp: ^
encrypt.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 73, namely:
CompilerImplementations
g++ opt-win-aes
g++ -O2 -fomit-frame-pointer opt-win-aes
g++ -O3 -fomit-frame-pointer opt-win-aes
g++ -O -fomit-frame-pointer opt-win-aes
g++ -Os -fomit-frame-pointer opt-win-aes
g++ -fno-schedule-insns -O2 -fomit-frame-pointer opt-win-aes
g++ -fno-schedule-insns -O3 -fomit-frame-pointer opt-win-aes
g++ -fno-schedule-insns -O -fomit-frame-pointer opt-win-aes
g++ -fno-schedule-insns -Os -fomit-frame-pointer opt-win-aes
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer opt-win-aes
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer opt-win-aes
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer opt-win-aes
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -O -fomit-frame-pointer opt-win-aes
g++ -m64 -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core-avx-i -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core-avx-i -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core-avx2 -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=corei7-avx -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=corei7-avx -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=corei7 -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=corei7 -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -march=k8 -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=k8 -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=k8 -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=k8 -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer opt-win-aes
g++ -m64 -march=nocona -O2 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=nocona -O3 -fomit-frame-pointer opt-win-aes
g++ -m64 -march=nocona -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=nocona -Os -fomit-frame-pointer opt-win-aes
g++ -march=barcelona -O2 -fomit-frame-pointer opt-win-aes
g++ -march=barcelona -O3 -fomit-frame-pointer opt-win-aes
g++ -march=barcelona -O -fomit-frame-pointer opt-win-aes
g++ -march=barcelona -Os -fomit-frame-pointer opt-win-aes
g++ -march=k8 -O2 -fomit-frame-pointer opt-win-aes
g++ -march=k8 -O3 -fomit-frame-pointer opt-win-aes
g++ -march=k8 -O -fomit-frame-pointer opt-win-aes
g++ -march=k8 -Os -fomit-frame-pointer opt-win-aes
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv opt-win-aes
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv opt-win-aes
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv opt-win-aes
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv opt-win-aes
g++ -march=nocona -O2 -fomit-frame-pointer opt-win-aes
g++ -march=nocona -O3 -fomit-frame-pointer opt-win-aes
g++ -march=nocona -O -fomit-frame-pointer opt-win-aes
g++ -march=nocona -Os -fomit-frame-pointer opt-win-aes

Compiler output

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: encrypt.cpp:174:44: note: called from here
encrypt.cpp: acc7 = _mm_aesenc_si128(acc7, roundkey3);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: encrypt.cpp:173:44: note: called from here
encrypt.cpp: acc6 = _mm_aesenc_si128(acc6, roundkey2);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: encrypt.cpp:172:44: note: called from here
encrypt.cpp: acc5 = _mm_aesenc_si128(acc5, roundkey1);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ...
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: encrypt.cpp:174:44: note: called from here
encrypt.cpp: acc7 = _mm_aesenc_si128(acc7, roundkey3);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: encrypt.cpp:173:44: note: called from here
encrypt.cpp: acc6 = _mm_aesenc_si128(acc6, roundkey2);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: encrypt.cpp:172:44: note: called from here
encrypt.cpp: acc5 = _mm_aesenc_si128(acc5, roundkey1);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /home_nfs/bdolbeaur/gcc-6.3.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '__m128i _mm_aesenc_si128(__m128i, __m128i)': target specific option mismatch
encrypt.cpp: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.cpp: ...

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

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_encrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:355:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp:
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_encrypt_no_nonce(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:610:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp:
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_decrypt(unsigned char*, long long unsigned int*, unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:864:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits
encrypt.cpp:
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_encrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:355:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp:
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_encrypt_no_nonce(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:610:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp:
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_decrypt(unsigned char*, long long unsigned int*, unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:864:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits
encrypt.cpp:

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

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
encrypt.cpp: #include <intrin.h>
encrypt.cpp: ^
encrypt.cpp: compilation terminated.
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
encrypt.cpp: #include <intrin.h>
encrypt.cpp: ^
encrypt.cpp: compilation terminated.

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

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: icpc -xCORE-AVX2 -O2 -fomit-frame-pointer
encrypt.cpp: encrypt.cpp(13): catastrophic error: cannot open source file "intrin.h"
encrypt.cpp: #include <intrin.h>
encrypt.cpp: ^
encrypt.cpp:
encrypt.cpp: compilation aborted for encrypt.cpp (code 4)

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icpc -xCORE-AVX2 -O2 -fomit-frame-pointer opt-win-aes
icpc -xCORE-AVX2 -O3 -fomit-frame-pointer opt-win-aes

Compiler output

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: icpc -xCORE-AVX2 -O2 -fomit-frame-pointer
encrypt.cpp: encrypt.cpp(21): warning #1879: unimplemented pragma ignored
encrypt.cpp: #pragma intrinsic(_mm_set_epi64x)
encrypt.cpp: ^
encrypt.cpp:

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icpc -xCORE-AVX2 -O2 -fomit-frame-pointer aesni
icpc -xCORE-AVX2 -O3 -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: icpc -xCORE-AVX2 -O2 -fomit-frame-pointer
encrypt.cpp: encrypt.cpp(355): warning #69: integer conversion resulted in truncation
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ^
encrypt.cpp:
encrypt.cpp: encrypt.cpp(610): warning #69: integer conversion resulted in truncation
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ^
encrypt.cpp:
encrypt.cpp: encrypt.cpp(864): warning #69: integer conversion resulted in truncation
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits
encrypt.cpp: ^
encrypt.cpp:

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icpc -xCORE-AVX2 -O2 -fomit-frame-pointer ref
icpc -xCORE-AVX2 -O3 -fomit-frame-pointer ref