Implementation notes: amd64, jos, crypto_aead/paeq128

Computer: jos
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: paeq128
TimeImplementationCompilerBenchmark dateSUPERCOP version
9148192refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101620141014
9256125refg++ -march=k8 -O3 -fomit-frame-pointer2014101620141014
9279803refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014101620141014
9311880refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014101620141014
9321300refg++ -m64 -O3 -fomit-frame-pointer2014101620141014
9325560refg++ -O3 -fomit-frame-pointer2014101620141014
9330075refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014101620141014
9331538refg++ -march=barcelona -O3 -fomit-frame-pointer2014101620141014
9336983refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101620141014
9341122refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101620141014
9390818refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101620141014
9415740refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014101620141014
9765757refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101620141014
10039530refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101620141014
12382140refg++ -march=k8 -O2 -fomit-frame-pointer2014101620141014
12382170refg++ -march=barcelona -O2 -fomit-frame-pointer2014101620141014
12383490refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014101620141014
12383903refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014101620141014
12384923refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101620141014
12392055refg++ -O2 -fomit-frame-pointer2014101620141014
12395602refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014101620141014
12396105refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101620141014
12397523refg++ -m64 -O2 -fomit-frame-pointer2014101620141014
12411697refg++ -march=nocona -O3 -fomit-frame-pointer2014101620141014
12421545refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014101620141014
12427147refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014101620141014
12439995refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101620141014
13233397refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101620141014
13301602refg++ -fno-schedule-insns -O -fomit-frame-pointer2014101620141014
13322242refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101620141014
13332120refg++ -O -fomit-frame-pointer2014101620141014
13334850refg++ -m64 -O -fomit-frame-pointer2014101620141014
13382543refg++ -m64 -march=k8 -O -fomit-frame-pointer2014101620141014
13414875refg++ -march=k8 -O -fomit-frame-pointer2014101620141014
13417583refg++ -m64 -march=core2 -O -fomit-frame-pointer2014101620141014
13429485refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101620141014
13604917refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014101620141014
13627537refg++ -march=barcelona -O -fomit-frame-pointer2014101620141014
19546853refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014101620141014
19547677refg++ -march=nocona -O2 -fomit-frame-pointer2014101620141014
20520157refg++ -m64 -march=nocona -Os -fomit-frame-pointer2014101620141014
20525310refg++ -march=nocona -Os -fomit-frame-pointer2014101620141014
20535383refg++ -march=barcelona -Os -fomit-frame-pointer2014101620141014
20538735refg++ -m64 -march=nocona -O -fomit-frame-pointer2014101620141014
20539395refg++ -Os -fomit-frame-pointer2014101620141014
20541383refg++ -march=nocona -O -fomit-frame-pointer2014101620141014
20547375refg++ -fno-schedule-insns -Os -fomit-frame-pointer2014101620141014
20548357refg++ -m64 -Os -fomit-frame-pointer2014101620141014
20564070refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101620141014
20565847refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101620141014
20567048refg++ -march=k8 -Os -fomit-frame-pointer2014101620141014
20568225refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014101620141014
20568727refg++ -m64 -march=core2 -Os -fomit-frame-pointer2014101620141014
20581642refg++ -m64 -march=k8 -Os -fomit-frame-pointer2014101620141014
20594535refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101620141014
20602868refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101620141014
47052645refg++2014101620141014

Compiler output

Implementation: crypto_aead/paeq128/opt-win-aes
Compiler: g++
encrypt.cpp: In file included from /usr/include/c++/4.5/cstdint:35:0,
encrypt.cpp: from encrypt.cpp:8:
encrypt.cpp: /usr/include/c++/4.5/bits/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:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
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=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:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __vector(2) long long int*, const __vector(2) long long int*, __vector(2) long long int*, __vector(2) long long int*)':
encrypt.cpp: encrypt.cpp:167:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __vector(2) long long int*, __vector(2) long long int*)':
encrypt.cpp: encrypt.cpp:241:43: 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.5/cstdint:35:0,
encrypt.cpp: from encrypt.cpp:8:
encrypt.cpp: /usr/include/c++/4.5/bits/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:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
encrypt.cpp: compilation terminated.
encrypt.cpp: In file included from /usr/include/c++/4.5/cstdint:35:0,
encrypt.cpp: from encrypt.cpp:8:
encrypt.cpp: /usr/include/c++/4.5/bits/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:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
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/paeq128/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.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __vector(2) long long int*, const __vector(2) long long int*, __vector(2) long long int*, __vector(2) long long int*)':
encrypt.cpp: encrypt.cpp:167:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __vector(2) long long int*, __vector(2) long long int*)':
encrypt.cpp: encrypt.cpp:241:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.5/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __vector(2) long long int*, const __vector(2) long long int*, __vector(2) long long int*, __vector(2) long long int*)':
encrypt.cpp: encrypt.cpp:167:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __vector(2) long long int*, __vector(2) long long int*)':
encrypt.cpp: encrypt.cpp:241:43: 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