Implementation notes: amd64, jos, crypto_aead/paeq128t

Computer: jos
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: paeq128t
TimeImplementationCompilerBenchmark dateSUPERCOP version
9171825refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101620141014
9262740refg++ -march=k8 -O3 -fomit-frame-pointer2014101620141014
9286927refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014101620141014
9312255refg++ -O3 -fomit-frame-pointer2014101620141014
9316312refg++ -m64 -O3 -fomit-frame-pointer2014101620141014
9324015refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101620141014
9325335refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101620141014
9337057refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014101620141014
9337133refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101620141014
9355965refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014101620141014
9365835refg++ -march=barcelona -O3 -fomit-frame-pointer2014101620141014
9410745refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014101620141014
9822585refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101620141014
10005413refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101620141014
12382920refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014101620141014
12385725refg++ -march=k8 -O2 -fomit-frame-pointer2014101620141014
12386055refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014101620141014
12390322refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014101620141014
12391388refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014101620141014
12395775refg++ -march=barcelona -O2 -fomit-frame-pointer2014101620141014
12406072refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101620141014
12416265refg++ -O2 -fomit-frame-pointer2014101620141014
12423045refg++ -m64 -O2 -fomit-frame-pointer2014101620141014
12429495refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101620141014
12431377refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014101620141014
12441660refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101620141014
12450563refg++ -march=nocona -O3 -fomit-frame-pointer2014101620141014
13233577refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101620141014
13283452refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101620141014
13288702refg++ -m64 -march=core2 -O -fomit-frame-pointer2014101620141014
13315732refg++ -m64 -O -fomit-frame-pointer2014101620141014
13333890refg++ -O -fomit-frame-pointer2014101620141014
13337317refg++ -fno-schedule-insns -O -fomit-frame-pointer2014101620141014
13374810refg++ -march=k8 -O -fomit-frame-pointer2014101620141014
13405410refg++ -m64 -march=k8 -O -fomit-frame-pointer2014101620141014
13445197refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101620141014
13588147refg++ -march=barcelona -O -fomit-frame-pointer2014101620141014
13633342refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014101620141014
19530548refg++ -march=nocona -O2 -fomit-frame-pointer2014101620141014
19549980refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014101620141014
20483565refg++ -m64 -march=nocona -Os -fomit-frame-pointer2014101620141014
20484457refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101620141014
20507745refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101620141014
20514105refg++ -fno-schedule-insns -Os -fomit-frame-pointer2014101620141014
20516228refg++ -m64 -march=core2 -Os -fomit-frame-pointer2014101620141014
20516955refg++ -march=nocona -Os -fomit-frame-pointer2014101620141014
20520652refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101620141014
20521117refg++ -Os -fomit-frame-pointer2014101620141014
20522760refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014101620141014
20522820refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101620141014
20525025refg++ -m64 -Os -fomit-frame-pointer2014101620141014
20525925refg++ -m64 -march=k8 -Os -fomit-frame-pointer2014101620141014
20540235refg++ -m64 -march=nocona -O -fomit-frame-pointer2014101620141014
20548875refg++ -march=nocona -O -fomit-frame-pointer2014101620141014
20552880refg++ -march=barcelona -Os -fomit-frame-pointer2014101620141014
20556000refg++ -march=k8 -Os -fomit-frame-pointer2014101620141014
47080447refg++2014101620141014

Compiler output

Implementation: crypto_aead/paeq128t/aesni
Compiler: g++
encrypt.cpp: In file included from encrypt.cpp:14: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:168: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:242: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/paeq128t/aesni
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:14: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:168: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:242:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: In file included from encrypt.cpp:14: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:168: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:242: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