Implementation notes: amd64, jos, crypto_aead/paeq160

Computer: jos
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: paeq160
TimeImplementationCompilerBenchmark dateSUPERCOP version
9932708refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101620141014
10033733refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014101620141014
10037363refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014101620141014
10047120refg++ -march=k8 -O3 -fomit-frame-pointer2014101620141014
10055723refg++ -O3 -fomit-frame-pointer2014101620141014
10061033refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014101620141014
10078357refg++ -march=barcelona -O3 -fomit-frame-pointer2014101620141014
10096140refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101620141014
10125097refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014101620141014
10135005refg++ -m64 -O3 -fomit-frame-pointer2014101620141014
10158772refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101620141014
10214648refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101620141014
10604340refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101620141014
10875255refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101620141014
13222853refg++ -march=nocona -O3 -fomit-frame-pointer2014101620141014
13264695refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014101620141014
13312672refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014101620141014
13320660refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101620141014
13322460refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014101620141014
13324598refg++ -m64 -O2 -fomit-frame-pointer2014101620141014
13327395refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101620141014
13333748refg++ -march=k8 -O2 -fomit-frame-pointer2014101620141014
13338967refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101620141014
13343618refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014101620141014
13345042refg++ -march=barcelona -O2 -fomit-frame-pointer2014101620141014
13351965refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014101620141014
13357905refg++ -O2 -fomit-frame-pointer2014101620141014
14409330refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014101620141014
14410500refg++ -march=barcelona -O -fomit-frame-pointer2014101620141014
14411370refg++ -fno-schedule-insns -O -fomit-frame-pointer2014101620141014
14422642refg++ -O -fomit-frame-pointer2014101620141014
14476170refg++ -m64 -O -fomit-frame-pointer2014101620141014
14567520refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101620141014
14570273refg++ -m64 -march=core2 -O -fomit-frame-pointer2014101620141014
14592210refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101620141014
14592412refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101620141014
14600790refg++ -m64 -march=k8 -O -fomit-frame-pointer2014101620141014
14620358refg++ -march=k8 -O -fomit-frame-pointer2014101620141014
20478292refg++ -march=nocona -O2 -fomit-frame-pointer2014101620141014
20480587refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014101620141014
21318893refg++ -m64 -march=nocona -Os -fomit-frame-pointer2014101620141014
21319695refg++ -march=nocona -Os -fomit-frame-pointer2014101620141014
21369112refg++ -march=barcelona -Os -fomit-frame-pointer2014101620141014
21376717refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101620141014
21380018refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014101620141014
21384097refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101620141014
21387742refg++ -m64 -march=k8 -Os -fomit-frame-pointer2014101620141014
21388283refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101620141014
21389363refg++ -m64 -march=core2 -Os -fomit-frame-pointer2014101620141014
21391043refg++ -Os -fomit-frame-pointer2014101620141014
21395220refg++ -m64 -Os -fomit-frame-pointer2014101620141014
21395752refg++ -march=k8 -Os -fomit-frame-pointer2014101620141014
21433980refg++ -fno-schedule-insns -Os -fomit-frame-pointer2014101620141014
21465300refg++ -m64 -march=nocona -O -fomit-frame-pointer2014101620141014
21467573refg++ -march=nocona -O -fomit-frame-pointer2014101620141014
21597825refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101620141014
51113370refg++2014101620141014

Compiler output

Implementation: crypto_aead/paeq160/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/paeq160/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