Implementation notes: amd64, bigmem, crypto_aead/paeq160

Computer: bigmem
Architecture: amd64
CPU ID: GenuineIntel-000206e6-bfebfbff
SUPERCOP version: 20141124
Operation: crypto_aead
Primitive: paeq160
TimeImplementationCompilerBenchmark dateSUPERCOP version
8106045refg++ -O3 -fomit-frame-pointer2015021620141124
8112799refg++ -m64 -O3 -fomit-frame-pointer2015021620141124
8114174refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
8134267refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
8138937refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
8142697refg++ -march=k8 -O3 -fomit-frame-pointer2015021620141124
8145068refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
8152183refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021620141124
8152840refg++ -march=barcelona -O3 -fomit-frame-pointer2015021620141124
8156011refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021620141124
8156923refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021620141124
8157861refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2015021620141124
8169308refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
9141427refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
9936789refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
9968792refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
9969191refg++ -m64 -O2 -fomit-frame-pointer2015021620141124
9975903refg++ -march=barcelona -O2 -fomit-frame-pointer2015021620141124
9982525refg++ -O2 -fomit-frame-pointer2015021620141124
10074526refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2015021620141124
10077801refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021620141124
10085205refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021620141124
10088086refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021620141124
10157967refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
10158021refg++ -march=k8 -O2 -fomit-frame-pointer2015021620141124
10296101refg++ -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
10310254refg++ -march=k8 -O -fomit-frame-pointer2015021620141124
10378035refg++ -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
10405853refg++ -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
10414613refg++ -O -fomit-frame-pointer2015021620141124
10415883refg++ -m64 -O -fomit-frame-pointer2015021620141124
10458870refg++ -march=barcelona -O -fomit-frame-pointer2015021620141124
10647924refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021620141124
10654520refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021620141124
10673274refg++ -m64 -march=core2 -O -fomit-frame-pointer2015021620141124
10679701refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021620141124
10825045refg++ -march=nocona -O3 -fomit-frame-pointer2015021620141124
10825807refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
16714762refg++ -march=nocona -O2 -fomit-frame-pointer2015021620141124
16721962refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
17094098refg++ -march=nocona -O -fomit-frame-pointer2015021620141124
17096724refg++ -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
17326839refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
17397565refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021620141124
17398820refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021620141124
17399908refg++ -m64 -march=core2 -Os -fomit-frame-pointer2015021620141124
17401404refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
17402322refg++ -Os -fomit-frame-pointer2015021620141124
17403685refg++ -m64 -Os -fomit-frame-pointer2015021620141124
17405017refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021620141124
17405509refg++ -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
17406614refg++ -march=k8 -Os -fomit-frame-pointer2015021620141124
17410958refg++ -march=barcelona -Os -fomit-frame-pointer2015021620141124
17415783refg++ -march=nocona -Os -fomit-frame-pointer2015021620141124
17418180refg++ -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
17461757refg++ -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
41769090refg++2015021620141124

Compiler output

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