Implementation notes: amd64, manny357, crypto_aead/paeq128tnm

Computer: manny357
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20170228
Operation: crypto_aead
Primitive: paeq128tnm
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
47540? ? ?? ? ?aesnig++_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017041020170228
47540? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017041020170228
47560? ? ?? ? ?aesnig++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017041020170228
47656? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017041020170228
47728? ? ?? ? ?aesniicpc_-xCORE-AVX2_-O3_-fomit-frame-pointer2017041020170228
48000? ? ?? ? ?aesnig++_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017041020170228
48012? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017041020170228
48060? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017041020170228
48072? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017041020170228
48084? ? ?? ? ?aesnig++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017041020170228
48404? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017041020170228
48420? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017041020170228
48484? ? ?? ? ?aesnig++_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017041020170228
48508? ? ?? ? ?aesnig++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017041020170228
48736? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017041020170228
48744? ? ?? ? ?aesniicpc_-xCORE-AVX2_-O2_-fomit-frame-pointer2017041020170228
49800? ? ?? ? ?aesnig++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017041020170228
49820? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017041020170228
49852? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017041020170228
49984? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017041020170228
50012? ? ?? ? ?aesnig++_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017041020170228
51492? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017041020170228
2689232? ? ?? ? ?reficpc_-xCORE-AVX2_-O3_-fomit-frame-pointer2017041020170228
2790560? ? ?? ? ?reficpc_-xCORE-AVX2_-O2_-fomit-frame-pointer2017041020170228
3163740? ? ?? ? ?refg++_-m64_-O3_-fomit-frame-pointer2017041020170228
3170748? ? ?? ? ?refg++_-O3_-fomit-frame-pointer2017041020170228
3179340? ? ?? ? ?refg++_-m64_-march=corei7_-O3_-fomit-frame-pointer2017041020170228
3179872? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017041020170228
3180084? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017041020170228
3180336? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017041020170228
3180812? ? ?? ? ?refg++_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017041020170228
3181200? ? ?? ? ?refg++_-m64_-march=core2_-O3_-fomit-frame-pointer2017041020170228
3182764? ? ?? ? ?refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2017041020170228
3187760? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017041020170228
3194144? ? ?? ? ?refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017041020170228
3196996? ? ?? ? ?refg++_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017041020170228
3197924? ? ?? ? ?refg++_-m64_-march=k8_-O3_-fomit-frame-pointer2017041020170228
3223816? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017041020170228
3242712? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017041020170228
3244788? ? ?? ? ?refg++_-march=nocona_-O3_-fomit-frame-pointer2017041020170228
3245780? ? ?? ? ?refg++_-m64_-march=nocona_-O3_-fomit-frame-pointer2017041020170228
3260476? ? ?? ? ?refg++_-march=barcelona_-O3_-fomit-frame-pointer2017041020170228
3276836? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017041020170228
3294468? ? ?? ? ?refg++_-march=k8_-O3_-fomit-frame-pointer2017041020170228
5246736? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017041020170228
7200284? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017041020170228
7200500? ? ?? ? ?refg++_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017041020170228
7226184? ? ?? ? ?refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017041020170228
7496464? ? ?? ? ?refg++_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017041020170228
7615244? ? ?? ? ?refg++_-march=barcelona_-O2_-fomit-frame-pointer2017041020170228
7615532? ? ?? ? ?refg++_-m64_-march=nocona_-O2_-fomit-frame-pointer2017041020170228
7632540? ? ?? ? ?refg++_-march=nocona_-O2_-fomit-frame-pointer2017041020170228
7687240? ? ?? ? ?refg++_-march=k8_-O2_-fomit-frame-pointer2017041020170228
7692564? ? ?? ? ?refg++_-m64_-march=k8_-O2_-fomit-frame-pointer2017041020170228
7803012? ? ?? ? ?refg++_-m64_-O2_-fomit-frame-pointer2017041020170228
7803104? ? ?? ? ?refg++_-O2_-fomit-frame-pointer2017041020170228
7807232? ? ?? ? ?refg++_-m64_-march=corei7_-O2_-fomit-frame-pointer2017041020170228
7808964? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017041020170228
7810280? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017041020170228
7816876? ? ?? ? ?refg++_-m64_-march=k8_-O_-fomit-frame-pointer2017041020170228
7819008? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017041020170228
7824240? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017041020170228
7833312? ? ?? ? ?refg++_-m64_-march=core2_-O2_-fomit-frame-pointer2017041020170228
7839548? ? ?? ? ?refg++_-O_-fomit-frame-pointer2017041020170228
7841684? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017041020170228
7855216? ? ?? ? ?refg++_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017041020170228
7867708? ? ?? ? ?refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017041020170228
7869288? ? ?? ? ?refg++_-m64_-O_-fomit-frame-pointer2017041020170228
7869484? ? ?? ? ?refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2017041020170228
7870912? ? ?? ? ?refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2017041020170228
7876940? ? ?? ? ?refg++_-march=k8_-O_-fomit-frame-pointer2017041020170228
7934224? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017041020170228
7938904? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017041020170228
7940324? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017041020170228
7942544? ? ?? ? ?refg++_-m64_-march=corei7_-O_-fomit-frame-pointer2017041020170228
7954384? ? ?? ? ?refg++_-m64_-march=core2_-O_-fomit-frame-pointer2017041020170228
7987256? ? ?? ? ?refg++_-m64_-march=nocona_-O_-fomit-frame-pointer2017041020170228
7988892? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017041020170228
8073340? ? ?? ? ?refg++_-march=barcelona_-O_-fomit-frame-pointer2017041020170228
8204248? ? ?? ? ?refg++_-m64_-march=nocona_-Os_-fomit-frame-pointer2017041020170228
8213100? ? ?? ? ?refg++_-march=nocona_-Os_-fomit-frame-pointer2017041020170228
8221448? ? ?? ? ?refg++_-m64_-march=barcelona_-O_-fomit-frame-pointer2017041020170228
8311068? ? ?? ? ?refg++_-march=nocona_-O_-fomit-frame-pointer2017041020170228
8404828? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017041020170228
8434916? ? ?? ? ?refg++_-m64_-march=corei7_-Os_-fomit-frame-pointer2017041020170228
8470440? ? ?? ? ?refg++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017041020170228
8473348? ? ?? ? ?refg++_-m64_-march=core2_-Os_-fomit-frame-pointer2017041020170228
8480832? ? ?? ? ?refg++_-Os_-fomit-frame-pointer2017041020170228
8495324? ? ?? ? ?refg++_-m64_-Os_-fomit-frame-pointer2017041020170228
8499452? ? ?? ? ?refg++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017041020170228
8505292? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017041020170228
8505456? ? ?? ? ?refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2017041020170228
8510568? ? ?? ? ?refg++_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017041020170228
8511720? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017041020170228
8518852? ? ?? ? ?refg++_-m64_-march=k8_-Os_-fomit-frame-pointer2017041020170228
8536188? ? ?? ? ?refg++_-march=barcelona_-Os_-fomit-frame-pointer2017041020170228
8541396? ? ?? ? ?refg++_-march=k8_-Os_-fomit-frame-pointer2017041020170228
8662148? ? ?? ? ?refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017041020170228
8699444? ? ?? ? ?refg++_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017041020170228
8740036? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017041020170228
41237732? ? ?? ? ?refg++2017041020170228

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