Implementation notes: amd64, bigmem, crypto_aead/paeq80

Computer: bigmem
Architecture: amd64
CPU ID: GenuineIntel-000206e6-bfebfbff
SUPERCOP version: 20141124
Operation: crypto_aead
Primitive: paeq80
TimeImplementationCompilerBenchmark dateSUPERCOP version
6888794refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
6909072refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
6933835refg++ -O3 -fomit-frame-pointer2015021620141124
6936799refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
6938329refg++ -m64 -O3 -fomit-frame-pointer2015021620141124
6956049refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
6956638refg++ -march=k8 -O3 -fomit-frame-pointer2015021620141124
6964166refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
6969122refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021620141124
6970479refg++ -march=barcelona -O3 -fomit-frame-pointer2015021620141124
6974548refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021620141124
6975004refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021620141124
6975137refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2015021620141124
7726956refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
8559585refg++ -march=barcelona -O2 -fomit-frame-pointer2015021620141124
8571426refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
8666716refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
8670621refg++ -O2 -fomit-frame-pointer2015021620141124
8675678refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021620141124
8679506refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021620141124
8679809refg++ -m64 -O2 -fomit-frame-pointer2015021620141124
8681815refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2015021620141124
8688372refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021620141124
8734357refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
8734855refg++ -march=k8 -O2 -fomit-frame-pointer2015021620141124
8917117refg++ -m64 -O -fomit-frame-pointer2015021620141124
8917282refg++ -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
8918461refg++ -O -fomit-frame-pointer2015021620141124
8932313refg++ -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
8944034refg++ -march=k8 -O -fomit-frame-pointer2015021620141124
8944420refg++ -march=barcelona -O -fomit-frame-pointer2015021620141124
8951438refg++ -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
9315289refg++ -m64 -march=core2 -O -fomit-frame-pointer2015021620141124
9317003refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021620141124
9319760refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021620141124
9329623refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021620141124
9637484refg++ -march=nocona -O3 -fomit-frame-pointer2015021620141124
9640595refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
15314566refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
15316765refg++ -march=nocona -O2 -fomit-frame-pointer2015021620141124
15741688refg++ -march=nocona -O -fomit-frame-pointer2015021620141124
15742224refg++ -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
15883681refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021620141124
15887908refg++ -m64 -march=core2 -Os -fomit-frame-pointer2015021620141124
15888699refg++ -march=k8 -Os -fomit-frame-pointer2015021620141124
15889098refg++ -Os -fomit-frame-pointer2015021620141124
15889719refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021620141124
15890897refg++ -march=nocona -Os -fomit-frame-pointer2015021620141124
15891141refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021620141124
15891458refg++ -m64 -Os -fomit-frame-pointer2015021620141124
15893073refg++ -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
15895303refg++ -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
15896519refg++ -march=barcelona -Os -fomit-frame-pointer2015021620141124
15897136refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
15905208refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
15960150refg++ -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
35981695refg++2015021620141124

Compiler output

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