Implementation notes: amd64, bigmem, crypto_aead/paeq128

Computer: bigmem
Architecture: amd64
CPU ID: GenuineIntel-000206e6-bfebfbff
SUPERCOP version: 20141124
Operation: crypto_aead
Primitive: paeq128
TimeImplementationCompilerBenchmark dateSUPERCOP version
7494776refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
7503171refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
7505463refg++ -O3 -fomit-frame-pointer2015021620141124
7509152refg++ -m64 -O3 -fomit-frame-pointer2015021620141124
7518239refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
7528957refg++ -march=barcelona -O3 -fomit-frame-pointer2015021620141124
7531601refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
7549638refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021620141124
7550411refg++ -march=k8 -O3 -fomit-frame-pointer2015021620141124
7551607refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021620141124
7557948refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2015021620141124
7558619refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
7559659refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021620141124
8419017refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
9261858refg++ -march=barcelona -O2 -fomit-frame-pointer2015021620141124
9264257refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
9333532refg++ -march=k8 -O2 -fomit-frame-pointer2015021620141124
9341472refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
9345379refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021620141124
9345419refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2015021620141124
9347504refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021620141124
9348632refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021620141124
9367116refg++ -m64 -O2 -fomit-frame-pointer2015021620141124
9371157refg++ -O2 -fomit-frame-pointer2015021620141124
9382456refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
9636793refg++ -m64 -O -fomit-frame-pointer2015021620141124
9646435refg++ -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
9653172refg++ -O -fomit-frame-pointer2015021620141124
9654504refg++ -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
9658632refg++ -march=barcelona -O -fomit-frame-pointer2015021620141124
9664707refg++ -march=k8 -O -fomit-frame-pointer2015021620141124
9668178refg++ -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
10041467refg++ -m64 -march=core2 -O -fomit-frame-pointer2015021620141124
10043804refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021620141124
10048003refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021620141124
10051522refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021620141124
10213747refg++ -march=nocona -O3 -fomit-frame-pointer2015021620141124
10231728refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
16009087refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
16107489refg++ -march=nocona -O2 -fomit-frame-pointer2015021620141124
16462695refg++ -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
16473232refg++ -march=nocona -O -fomit-frame-pointer2015021620141124
16609020refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
16638164refg++ -march=nocona -Os -fomit-frame-pointer2015021620141124
16643722refg++ -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
16651443refg++ -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
16651568refg++ -march=k8 -Os -fomit-frame-pointer2015021620141124
16653727refg++ -m64 -Os -fomit-frame-pointer2015021620141124
16653803refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
16655413refg++ -march=barcelona -Os -fomit-frame-pointer2015021620141124
16664556refg++ -Os -fomit-frame-pointer2015021620141124
16667117refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021620141124
16670149refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021620141124
16671770refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021620141124
16686866refg++ -m64 -march=core2 -Os -fomit-frame-pointer2015021620141124
16730953refg++ -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
39138658refg++2015021620141124

Compiler output

Implementation: crypto_aead/paeq128/opt-win-aes
Compiler: g++
encrypt.cpp: In file included from /usr/include/c++/4.4/cstdint:35,
encrypt.cpp: from encrypt.cpp:8:
encrypt.cpp: /usr/include/c++/4.4/c++0x_warning.h:31:2: error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.
encrypt.cpp: In file included from encrypt.cpp:12:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp:13:20: error: intrin.h: No such file or directory
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const long long int __vector__*, const long long int __vector__*, long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:159: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:233: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'int PAEQ128_opt_AESNI_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*)':
encrypt.cpp: encrypt.cpp:798: error: '_mm_extract_epi64' was not declared in this scope

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=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=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/paeq128/aesni
Compiler: g++
encrypt.cpp: In file included from encrypt.cpp:13:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const long long int __vector__*, const long long int __vector__*, long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:167: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:241: error: '_mm_aesenc_si128' was not declared in this scope

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=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=native -mtune=native -O2 -fomit-frame-pointer aesni
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer aesni
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer aesni
g++ -m64 -march=native -mtune=native -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/paeq128/opt-win-aes
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.cpp: In file included from /usr/include/c++/4.4/cstdint:35,
encrypt.cpp: from encrypt.cpp:8:
encrypt.cpp: /usr/include/c++/4.4/c++0x_warning.h:31:2: error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.
encrypt.cpp: In file included from encrypt.cpp:12:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp:13:20: error: intrin.h: No such file or directory
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const long long int __vector__*, const long long int __vector__*, long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:159: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:233: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'int PAEQ128_opt_AESNI_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*)':
encrypt.cpp: encrypt.cpp:798: error: '_mm_extract_epi64' was not declared in this scope
encrypt.cpp: In file included from /usr/include/c++/4.4/cstdint:35,
encrypt.cpp: from encrypt.cpp:8:
encrypt.cpp: /usr/include/c++/4.4/c++0x_warning.h:31:2: error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.
encrypt.cpp: In file included from encrypt.cpp:12:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp:13:20: error: intrin.h: No such file or directory
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const long long int __vector__*, const long long int __vector__*, long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:159: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:233: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'int PAEQ128_opt_AESNI_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*)':
encrypt.cpp: encrypt.cpp:798: error: '_mm_extract_epi64' was not declared in this scope

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/paeq128/aesni
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:13:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const long long int __vector__*, const long long int __vector__*, long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:167: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:241: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: In file included from encrypt.cpp:13:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const long long int __vector__*, const long long int __vector__*, long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:167: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const long long int __vector__*, long long int __vector__*)':
encrypt.cpp: encrypt.cpp:241: error: '_mm_aesenc_si128' was not declared in this scope

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