Implementation notes: amd64, jos, crypto_aead/paeq64

Computer: jos
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: paeq64
TimeImplementationCompilerBenchmark dateSUPERCOP version
8300775refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101620141014
8396197refg++ -march=k8 -O3 -fomit-frame-pointer2014101620141014
8403105refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014101620141014
8415300refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014101620141014
8427420refg++ -m64 -O3 -fomit-frame-pointer2014101620141014
8430382refg++ -O3 -fomit-frame-pointer2014101620141014
8437162refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101620141014
8448315refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014101620141014
8448758refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014101620141014
8449110refg++ -march=barcelona -O3 -fomit-frame-pointer2014101620141014
8455335refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101620141014
8457158refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101620141014
8840145refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101620141014
9102802refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101620141014
11288093refg++ -march=barcelona -O2 -fomit-frame-pointer2014101620141014
11289232refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014101620141014
11360318refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101620141014
11362853refg++ -march=k8 -O2 -fomit-frame-pointer2014101620141014
11365860refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014101620141014
11374155refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101620141014
11383942refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014101620141014
11384145refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101620141014
11390287refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014101620141014
11394345refg++ -m64 -O2 -fomit-frame-pointer2014101620141014
11394480refg++ -O2 -fomit-frame-pointer2014101620141014
11493270refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014101620141014
11527043refg++ -march=nocona -O3 -fomit-frame-pointer2014101620141014
12182550refg++ -march=barcelona -O -fomit-frame-pointer2014101620141014
12206512refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014101620141014
12278948refg++ -m64 -O -fomit-frame-pointer2014101620141014
12316162refg++ -O -fomit-frame-pointer2014101620141014
12320775refg++ -fno-schedule-insns -O -fomit-frame-pointer2014101620141014
12380483refg++ -m64 -march=core2 -O -fomit-frame-pointer2014101620141014
12386835refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101620141014
12390773refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101620141014
12410002refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101620141014
12437610refg++ -m64 -march=k8 -O -fomit-frame-pointer2014101620141014
12438345refg++ -march=k8 -O -fomit-frame-pointer2014101620141014
18524190refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014101620141014
18528165refg++ -march=nocona -O2 -fomit-frame-pointer2014101620141014
19235745refg++ -march=nocona -Os -fomit-frame-pointer2014101620141014
19237958refg++ -m64 -march=nocona -Os -fomit-frame-pointer2014101620141014
19268220refg++ -m64 -march=core2 -Os -fomit-frame-pointer2014101620141014
19271985refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101620141014
19272188refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014101620141014
19277123refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101620141014
19278023refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101620141014
19279020refg++ -Os -fomit-frame-pointer2014101620141014
19279545refg++ -m64 -Os -fomit-frame-pointer2014101620141014
19284180refg++ -m64 -march=k8 -Os -fomit-frame-pointer2014101620141014
19293840refg++ -march=k8 -Os -fomit-frame-pointer2014101620141014
19295603refg++ -m64 -march=nocona -O -fomit-frame-pointer2014101620141014
19295902refg++ -march=barcelona -Os -fomit-frame-pointer2014101620141014
19303470refg++ -fno-schedule-insns -Os -fomit-frame-pointer2014101620141014
19303913refg++ -march=nocona -O -fomit-frame-pointer2014101620141014
19377757refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101620141014
42480390refg++2014101620141014

Compiler output

Implementation: crypto_aead/paeq64/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:166: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:240: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/paeq64/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:166: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:240: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:166: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:240: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