Implementation notes: amd64, mangetsu, crypto_aead/paeq128tnm

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: paeq128tnm
TimeImplementationCompilerBenchmark dateSUPERCOP version
40032aesniclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
40064aesniclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014101820141014
40152aesniclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
40620aesniclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
41104aesnig++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014101820141014
41296aesnig++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101820141014
41740aesnig++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014101820141014
53212aesnig++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014101820141014
53248aesnig++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101820141014
53372aesnig++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014101820141014
4821780refg++ -m64 -march=corei7 -O3 -fomit-frame-pointer2014101820141014
4822964refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101820141014
4825396refg++ -m64 -O3 -fomit-frame-pointer2014101820141014
4827636refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014101820141014
4828700refg++ -O3 -fomit-frame-pointer2014101820141014
4830816refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014101820141014
4833828refg++ -march=barcelona -O3 -fomit-frame-pointer2014101820141014
4845344refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014101820141014
4850884refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014101820141014
4851252refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101820141014
4870796refg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014101820141014
4876964refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101820141014
4887520refg++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014101820141014
4893612refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101820141014
4895688refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014101820141014
4900080refg++ -march=nocona -O3 -fomit-frame-pointer2014101820141014
4938268refg++ -march=k8 -O3 -fomit-frame-pointer2014101820141014
5004300refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101820141014
5151972refclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
5166256refclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
5177164refclang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
5215936refclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014101820141014
5220136refclang++ -O3 -fwrapv -mavx -fomit-frame-pointer2014101820141014
5228332refclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
5231364refclang++ -O3 -fomit-frame-pointer2014101820141014
8502024refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101820141014
10205244refg++ -march=barcelona -O2 -fomit-frame-pointer2014101820141014
10207576refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014101820141014
10284152refg++ -march=k8 -O2 -fomit-frame-pointer2014101820141014
10309196refg++ -march=nocona -O2 -fomit-frame-pointer2014101820141014
10317056refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014101820141014
10328360refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014101820141014
10428488refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101820141014
10449528refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014101820141014
10451268refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101820141014
10451724refg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2014101820141014
10451892refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101820141014
10453128refg++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014101820141014
10507212refg++ -m64 -O2 -fomit-frame-pointer2014101820141014
10509956refg++ -O2 -fomit-frame-pointer2014101820141014
10510296refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014101820141014
10531168refg++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014101820141014
10702368refg++ -m64 -march=nocona -Os -fomit-frame-pointer2014101820141014
10709512refg++ -march=nocona -Os -fomit-frame-pointer2014101820141014
10746356refg++ -Os -fomit-frame-pointer2014101820141014
10747396refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101820141014
10751904refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101820141014
10752648refg++ -march=k8 -Os -fomit-frame-pointer2014101820141014
10753596refg++ -march=barcelona -Os -fomit-frame-pointer2014101820141014
10754948refg++ -m64 -march=core2 -Os -fomit-frame-pointer2014101820141014
10755016refg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014101820141014
10755520refg++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014101820141014
10758292refg++ -m64 -march=k8 -Os -fomit-frame-pointer2014101820141014
10763484refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101820141014
10765256refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101820141014
10768092refg++ -m64 -march=corei7 -Os -fomit-frame-pointer2014101820141014
10772100refg++ -fno-schedule-insns -Os -fomit-frame-pointer2014101820141014
10776216refg++ -m64 -Os -fomit-frame-pointer2014101820141014
10780216refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014101820141014
11326464refg++ -march=k8 -O -fomit-frame-pointer2014101820141014
11368096refg++ -m64 -march=k8 -O -fomit-frame-pointer2014101820141014
11484744refg++ -march=barcelona -O -fomit-frame-pointer2014101820141014
11493900refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014101820141014
11587924refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101820141014
11588036refg++ -march=nocona -O -fomit-frame-pointer2014101820141014
11589304refg++ -fno-schedule-insns -O -fomit-frame-pointer2014101820141014
11589428refg++ -m64 -O -fomit-frame-pointer2014101820141014
11590616refg++ -O -fomit-frame-pointer2014101820141014
11591880refg++ -m64 -march=core2 -O -fomit-frame-pointer2014101820141014
11592576refg++ -m64 -march=nocona -O -fomit-frame-pointer2014101820141014
11601320refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101820141014
11621900refg++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014101820141014
11630204refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101820141014
11632192refg++ -m64 -march=corei7 -O -fomit-frame-pointer2014101820141014
11716028refg++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014101820141014
46545388refg++2014101820141014

Test failure

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer aesni ref
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer aesni ref
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer aesni ref
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer aesni ref

Test failure

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: g++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
g++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer aesni
g++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer aesni
g++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer aesni
g++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer aesni
g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer aesni
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: clang++ -O3 -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:13:
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:166:11: error: use of undeclared identifier '_mm_aesenc_si128'; did you mean '_mm_and_si128'?
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: _mm_and_si128
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/emmintrin.h:801:1: note: '_mm_and_si128' declared here
encrypt.cpp: _mm_and_si128(__m128i __a, __m128i __b)
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:167:11: error: use of undeclared identifier '_mm_aesenc_si128'; did you mean '_mm_and_si128'?
encrypt.cpp: acc1 = _mm_aesenc_si128(acc1, roundkey1);
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: _mm_and_si128
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/emmintrin.h:801:1: note: '_mm_and_si128' declared here
encrypt.cpp: _mm_and_si128(__m128i __a, __m128i __b)
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:168:11: error: use of undeclared identifier '_mm_aesenc_si128'; did you mean '_mm_and_si128'?
encrypt.cpp: acc2 = _mm_aesenc_si128(acc2, roundkey2);
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: _mm_and_si128
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/emmintrin.h:801:1: note: '_mm_and_si128' declared here
encrypt.cpp: _mm_and_si128(__m128i __a, __m128i __b)
encrypt.cpp: ^
encrypt.cpp: ...

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

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: clang++ -O3 -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:8:
encrypt.cpp: In file included from /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../include/c++/4.8/cstdint:35:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../include/c++/4.8/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
encrypt.cpp: #error This file requires compiler and library support for the \
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:12:
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:13:10: fatal error: 'intrin.h' file not found
encrypt.cpp: #include gt;
encrypt.cpp: ^
encrypt.cpp: 3 errors generated.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer opt-win-aes
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer opt-win-aes
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer opt-win-aes

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: clang++ -O3 -fomit-frame-pointer
encrypt.cpp: encrypt.cpp:355:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: encrypt.cpp:610:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: encrypt.cpp:864:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer ref
clang++ -O3 -fwrapv -march=native -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: clang++ -O3 -fwrapv -march=native -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:8:
encrypt.cpp: In file included from /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../include/c++/4.8/cstdint:35:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../include/c++/4.8/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
encrypt.cpp: #error This file requires compiler and library support for the \
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:13:10: fatal error: 'intrin.h' file not found
encrypt.cpp: #include gt;
encrypt.cpp: ^
encrypt.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fomit-frame-pointer opt-win-aes
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer opt-win-aes

Compiler output

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer aesni
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
encrypt.cpp: In file included from encrypt.cpp:8:
encrypt.cpp: In file included from /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../include/c++/4.8/cstdint:35:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../include/c++/4.8/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
encrypt.cpp: #error This file requires compiler and library support for the \
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:13:10: fatal error: 'intrin.h' file not found
encrypt.cpp: #include gt;
encrypt.cpp: ^
encrypt.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer opt-win-aes
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer opt-win-aes

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
encrypt.cpp: encrypt.cpp:355:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: encrypt.cpp:610:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: encrypt.cpp:864:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'

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

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.cpp: In file included from encrypt.cpp:8:
encrypt.cpp: In file included from /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../include/c++/4.8/cstdint:35:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../include/c++/4.8/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
encrypt.cpp: #error This file requires compiler and library support for the \
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:13:10: fatal error: 'intrin.h' file not found
encrypt.cpp: #include gt;
encrypt.cpp: ^
encrypt.cpp: 2 errors 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 opt-win-aes

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.cpp: encrypt.cpp:355:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: encrypt.cpp:610:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: encrypt.cpp:864:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: 3 warnings 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/paeq128tnm/aesni
Compiler: clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:13:
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:166:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:167:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc1 = _mm_aesenc_si128(acc1, roundkey1);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:168:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc2 = _mm_aesenc_si128(acc2, roundkey2);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:169:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc3 = _mm_aesenc_si128(acc3, roundkey3);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:171:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc4 = _mm_aesenc_si128(acc4, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:172:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc5 = _mm_aesenc_si128(acc5, roundkey1);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:173:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc6 = _mm_aesenc_si128(acc6, roundkey2);
encrypt.cpp: ^
encrypt.cpp: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer aesni
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: clang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
encrypt.cpp: In file included from encrypt.cpp:13:
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:166:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:167:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc1 = _mm_aesenc_si128(acc1, roundkey1);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:168:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc2 = _mm_aesenc_si128(acc2, roundkey2);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:169:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc3 = _mm_aesenc_si128(acc3, roundkey3);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:171:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc4 = _mm_aesenc_si128(acc4, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:172:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc5 = _mm_aesenc_si128(acc5, roundkey1);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:173:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc6 = _mm_aesenc_si128(acc6, roundkey2);
encrypt.cpp: ...

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

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: clang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
encrypt.cpp: In file included from encrypt.cpp:8:
encrypt.cpp: In file included from /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../include/c++/4.8/cstdint:35:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../include/c++/4.8/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
encrypt.cpp: #error This file requires compiler and library support for the \
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:12:
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:13:10: fatal error: 'intrin.h' file not found
encrypt.cpp: #include gt;
encrypt.cpp: ^
encrypt.cpp: 3 errors generated.

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

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: g++
encrypt.cpp: In file included from /usr/include/c++/4.8/cstdint:35:0,
encrypt.cpp: from encrypt.cpp:8:
encrypt.cpp: /usr/include/c++/4.8/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
encrypt.cpp: #error This file requires compiler and library support for the \
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:12:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
encrypt.cpp: #include gt;
encrypt.cpp: ^
encrypt.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 53, 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=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 -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=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=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++
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:166:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:240:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
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:9: 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:9: 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:9: 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: 68, 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 -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=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++ -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.cpp: In file included from /usr/include/c++/4.8/cstdint:35:0,
encrypt.cpp: from encrypt.cpp:8:
encrypt.cpp: /usr/include/c++/4.8/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
encrypt.cpp: #error This file requires compiler and library support for the \
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:12:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
encrypt.cpp: #include gt;
encrypt.cpp: ^
encrypt.cpp: compilation terminated.
encrypt.cpp: In file included from /usr/include/c++/4.8/cstdint:35:0,
encrypt.cpp: from encrypt.cpp:8:
encrypt.cpp: /usr/include/c++/4.8/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
encrypt.cpp: #error This file requires compiler and library support for the \
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:12:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
encrypt.cpp: #include gt;
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/aesni
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:166:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:240:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:166:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:240:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
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:9: 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:9: 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:9: 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:9: 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:9: 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:9: 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=core-avx-i -O2 -fomit-frame-pointer
encrypt.cpp: In file included from /usr/include/c++/4.8/cstdint:35:0,
encrypt.cpp: from encrypt.cpp:8:
encrypt.cpp: /usr/include/c++/4.8/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
encrypt.cpp: #error This file requires compiler and library support for the \
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
encrypt.cpp: #include gt;
encrypt.cpp: ^
encrypt.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 15, namely:
CompilerImplementations
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 -O -fomit-frame-pointer opt-win-aes
g++ -m64 -march=core-avx2 -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=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