Implementation notes: x86, jos, crypto_aead/paeq128t

Computer: jos
Architecture: x86
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: paeq128t
TimeImplementationCompilerBenchmark dateSUPERCOP version
10117163refg++ -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014101620141014
10150185refg++ -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101620141014
10154332refg++ -m32 -march=k8 -O3 -fomit-frame-pointer2014101620141014
10162485refg++ -m32 -march=barcelona -O3 -fomit-frame-pointer2014101620141014
10174117refg++ -m32 -march=core2 -O3 -fomit-frame-pointer2014101620141014
10180950refg++ -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101620141014
10205063refg++ -m32 -march=athlon -O3 -fomit-frame-pointer2014101620141014
10224645refg++ -m32 -march=nocona -O3 -fomit-frame-pointer2014101620141014
10235655refg++ -m32 -march=prescott -O3 -fomit-frame-pointer2014101620141014
10392690refg++ -m32 -march=pentium4 -O3 -fomit-frame-pointer2014101620141014
10667220refg++ -m32 -O3 -fomit-frame-pointer2014101620141014
10730715refg++ -m32 -march=k6-2 -O3 -fomit-frame-pointer2014101620141014
10738838refg++ -m32 -march=k6-3 -O3 -fomit-frame-pointer2014101620141014
10827472refg++ -m32 -march=k6 -O3 -fomit-frame-pointer2014101620141014
10995862refg++ -m32 -march=i386 -O3 -fomit-frame-pointer2014101620141014
11009160refg++ -m32 -march=pentium-m -O3 -fomit-frame-pointer2014101620141014
11075895refg++ -m32 -march=pentium -O3 -fomit-frame-pointer2014101620141014
11079922refg++ -m32 -march=pentiumpro -O3 -fomit-frame-pointer2014101620141014
11088765refg++ -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2014101620141014
11092410refg++ -m32 -march=pentium3 -O3 -fomit-frame-pointer2014101620141014
11106637refg++ -m32 -march=pentium2 -O3 -fomit-frame-pointer2014101620141014
11134785refg++ -m32 -march=i486 -O3 -fomit-frame-pointer2014101620141014
14598397refg++ -m32 -march=athlon -O2 -fomit-frame-pointer2014101620141014
14632957refg++ -m32 -march=k8 -O2 -fomit-frame-pointer2014101620141014
14665245refg++ -m32 -march=barcelona -O2 -fomit-frame-pointer2014101620141014
15052868refg++ -m32 -march=core2 -O2 -fomit-frame-pointer2014101620141014
15078247refg++ -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014101620141014
15085253refg++ -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101620141014
15139897refg++ -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101620141014
16608075refg++ -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101620141014
16627523refg++ -m32 -march=core2 -msse4 -O -fomit-frame-pointer2014101620141014
16640017refg++ -m32 -march=core2 -O -fomit-frame-pointer2014101620141014
16696335refg++ -m32 -march=native -mtune=native -O -fomit-frame-pointer2014101620141014
16703670refg++ -m32 -march=k8 -O -fomit-frame-pointer2014101620141014
16747005refg++ -m32 -march=athlon -O -fomit-frame-pointer2014101620141014
16829287refg++ -m32 -march=barcelona -O -fomit-frame-pointer2014101620141014
17354325refg++ -m32 -march=pentium4 -O2 -fomit-frame-pointer2014101620141014
18589380refg++ -m32 -march=prescott -Os -fomit-frame-pointer2014101620141014
18597772refg++ -m32 -march=nocona -Os -fomit-frame-pointer2014101620141014
18631477refg++ -m32 -march=pentium4 -Os -fomit-frame-pointer2014101620141014
19003522refg++ -m32 -march=k8 -Os -fomit-frame-pointer2014101620141014
19025603refg++ -m32 -march=athlon -Os -fomit-frame-pointer2014101620141014
19032375refg++ -m32 -march=barcelona -Os -fomit-frame-pointer2014101620141014
19046370refg++ -m32 -march=pentium4 -O -fomit-frame-pointer2014101620141014
19114695refg++ -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2014101620141014
19130348refg++ -m32 -march=core2 -Os -fomit-frame-pointer2014101620141014
19143750refg++ -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101620141014
19149847refg++ -m32 -march=native -mtune=native -Os -fomit-frame-pointer2014101620141014
21209828refg++ -m32 -march=nocona -O2 -fomit-frame-pointer2014101620141014
21225578refg++ -m32 -march=prescott -O2 -fomit-frame-pointer2014101620141014
22130610refg++ -m32 -march=prescott -O -fomit-frame-pointer2014101620141014
22136955refg++ -m32 -march=nocona -O -fomit-frame-pointer2014101620141014
24568703refg++ -m32 -O2 -fomit-frame-pointer2014101620141014
25382242refg++ -m32 -march=pentiumpro -O2 -fomit-frame-pointer2014101620141014
25408897refg++ -m32 -march=pentium-m -O2 -fomit-frame-pointer2014101620141014
25413630refg++ -m32 -march=pentium2 -O2 -fomit-frame-pointer2014101620141014
25414027refg++ -m32 -march=pentium3 -O2 -fomit-frame-pointer2014101620141014
25905420refg++ -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2014101620141014
25985032refg++ -m32 -march=pentium -O2 -fomit-frame-pointer2014101620141014
26300272refg++ -m32 -march=i486 -O2 -fomit-frame-pointer2014101620141014
26401845refg++ -m32 -march=k6-3 -O2 -fomit-frame-pointer2014101620141014
26863448refg++ -m32 -march=i386 -O2 -fomit-frame-pointer2014101620141014
26913045refg++ -m32 -march=pentiumpro -O -fomit-frame-pointer2014101620141014
26924528refg++ -m32 -march=pentium2 -O -fomit-frame-pointer2014101620141014
26924970refg++ -m32 -march=pentium-m -O -fomit-frame-pointer2014101620141014
26950837refg++ -m32 -march=pentium3 -O -fomit-frame-pointer2014101620141014
27093375refg++ -m32 -march=k6-2 -O2 -fomit-frame-pointer2014101620141014
27129600refg++ -m32 -march=k6 -O2 -fomit-frame-pointer2014101620141014
27277927refg++ -m32 -O -fomit-frame-pointer2014101620141014
27490845refg++ -m32 -march=pentium2 -Os -fomit-frame-pointer2014101620141014
27498495refg++ -m32 -march=pentium3 -Os -fomit-frame-pointer2014101620141014
27539032refg++ -m32 -march=pentium-m -Os -fomit-frame-pointer2014101620141014
27541395refg++ -m32 -march=pentiumpro -Os -fomit-frame-pointer2014101620141014
28270680refg++ -m32 -march=i386 -O -fomit-frame-pointer2014101620141014
28583715refg++ -m32 -march=pentium -Os -fomit-frame-pointer2014101620141014
28592595refg++ -m32 -march=pentium-mmx -Os -fomit-frame-pointer2014101620141014
29237415refg++ -m32 -march=k6-2 -O -fomit-frame-pointer2014101620141014
29244660refg++ -m32 -march=k6 -O -fomit-frame-pointer2014101620141014
29271345refg++ -m32 -march=k6-3 -O -fomit-frame-pointer2014101620141014
29325075refg++ -m32 -march=pentium-mmx -O -fomit-frame-pointer2014101620141014
29359927refg++ -m32 -march=pentium -O -fomit-frame-pointer2014101620141014
29578485refg++ -m32 -Os -fomit-frame-pointer2014101620141014
30068363refg++ -m32 -march=i486 -O -fomit-frame-pointer2014101620141014
31051478refg++ -m32 -march=i386 -Os -fomit-frame-pointer2014101620141014
31098510refg++ -m32 -march=i486 -Os -fomit-frame-pointer2014101620141014
32269110refg++ -m32 -march=k6-2 -Os -fomit-frame-pointer2014101620141014
32283690refg++ -m32 -march=k6-3 -Os -fomit-frame-pointer2014101620141014
32362028refg++ -m32 -march=k6 -Os -fomit-frame-pointer2014101620141014

Compiler output

Implementation: crypto_aead/paeq128t/aesni
Compiler: g++ -m32 -O2 -fomit-frame-pointer
encrypt.cpp: In file included from /usr/lib64/gcc/x86_64-suse-linux/4.5/include/wmmintrin.h:31:0,
encrypt.cpp: from encrypt.cpp:14:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.5/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
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:142:27: error: '__m128i' does not name a type
encrypt.cpp: encrypt.cpp:142:36: error: ISO C++ forbids declaration of 'input1' with no type
encrypt.cpp: encrypt.cpp:142:50: error: '__m128i' does not name a type
encrypt.cpp: encrypt.cpp:142:59: error: ISO C++ forbids declaration of 'input2' with no type
encrypt.cpp: encrypt.cpp:142:67: error: '__m128i' has not been declared
encrypt.cpp: encrypt.cpp:142:85: error: '__m128i' has not been declared
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const int*, const int*, int*, int*)':
encrypt.cpp: encrypt.cpp:145:2: error: '__m128i' was not declared in this scope
encrypt.cpp: encrypt.cpp:145:10: error: expected ';' before 'roundkey0'
encrypt.cpp: encrypt.cpp:146:10: error: expected ';' before 'roundkey1'
encrypt.cpp: encrypt.cpp:147:10: error: expected ';' before 'roundkey2'
encrypt.cpp: encrypt.cpp:148:10: error: expected ';' before 'roundkey3'
encrypt.cpp: encrypt.cpp:149:10: error: expected ';' before 'roundkeyUpdateConstant'
encrypt.cpp: encrypt.cpp:151:10: error: expected ';' before 'acc0'
encrypt.cpp: encrypt.cpp:152:10: error: expected ';' before 'acc1'
encrypt.cpp: encrypt.cpp:153:10: error: expected ';' before 'acc2'
encrypt.cpp: encrypt.cpp:154:10: error: expected ';' before 'acc3'
encrypt.cpp: encrypt.cpp:156:10: error: expected ';' before 'acc4'
encrypt.cpp: encrypt.cpp:157:10: error: expected ';' before 'acc5'
encrypt.cpp: encrypt.cpp:158:10: error: expected ';' before 'acc6'
encrypt.cpp: ...

Number of similar (compiler,implementation) pairs: 48, namely:
CompilerImplementations
g++ -m32 -O2 -fomit-frame-pointer aesni
g++ -m32 -O3 -fomit-frame-pointer aesni
g++ -m32 -O -fomit-frame-pointer aesni
g++ -m32 -Os -fomit-frame-pointer aesni
g++ -m32 -march=athlon -O2 -fomit-frame-pointer aesni
g++ -m32 -march=athlon -O3 -fomit-frame-pointer aesni
g++ -m32 -march=athlon -O -fomit-frame-pointer aesni
g++ -m32 -march=athlon -Os -fomit-frame-pointer aesni
g++ -m32 -march=i386 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=i386 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=i386 -O -fomit-frame-pointer aesni
g++ -m32 -march=i386 -Os -fomit-frame-pointer aesni
g++ -m32 -march=i486 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=i486 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=i486 -O -fomit-frame-pointer aesni
g++ -m32 -march=i486 -Os -fomit-frame-pointer aesni
g++ -m32 -march=k6-2 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=k6-2 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=k6-2 -O -fomit-frame-pointer aesni
g++ -m32 -march=k6-2 -Os -fomit-frame-pointer aesni
g++ -m32 -march=k6-3 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=k6-3 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=k6-3 -O -fomit-frame-pointer aesni
g++ -m32 -march=k6-3 -Os -fomit-frame-pointer aesni
g++ -m32 -march=k6 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=k6 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=k6 -O -fomit-frame-pointer aesni
g++ -m32 -march=k6 -Os -fomit-frame-pointer aesni
g++ -m32 -march=pentium-mmx -O2 -fomit-frame-pointer aesni
g++ -m32 -march=pentium-mmx -O3 -fomit-frame-pointer aesni
g++ -m32 -march=pentium-mmx -O -fomit-frame-pointer aesni
g++ -m32 -march=pentium-mmx -Os -fomit-frame-pointer aesni
g++ -m32 -march=pentium2 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=pentium2 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=pentium2 -O -fomit-frame-pointer aesni
g++ -m32 -march=pentium2 -Os -fomit-frame-pointer aesni
g++ -m32 -march=pentium3 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=pentium3 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=pentium3 -O -fomit-frame-pointer aesni
g++ -m32 -march=pentium3 -Os -fomit-frame-pointer aesni
g++ -m32 -march=pentium -O2 -fomit-frame-pointer aesni
g++ -m32 -march=pentium -O3 -fomit-frame-pointer aesni
g++ -m32 -march=pentium -O -fomit-frame-pointer aesni
g++ -m32 -march=pentium -Os -fomit-frame-pointer aesni
g++ -m32 -march=pentiumpro -O2 -fomit-frame-pointer aesni
g++ -m32 -march=pentiumpro -O3 -fomit-frame-pointer aesni
g++ -m32 -march=pentiumpro -O -fomit-frame-pointer aesni
g++ -m32 -march=pentiumpro -Os -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq128t/aesni
Compiler: g++ -m32 -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++ -m32 -march=barcelona -O2 -fomit-frame-pointer aesni
g++ -m32 -march=barcelona -O3 -fomit-frame-pointer aesni
g++ -m32 -march=barcelona -O -fomit-frame-pointer aesni
g++ -m32 -march=barcelona -Os -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq128t/aesni
Compiler: g++ -m32 -march=core2 -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

Number of similar (compiler,implementation) pairs: 36, namely:
CompilerImplementations
g++ -m32 -march=core2 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=core2 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=core2 -O -fomit-frame-pointer aesni
g++ -m32 -march=core2 -Os -fomit-frame-pointer aesni
g++ -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer aesni
g++ -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer aesni
g++ -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=core2 -msse4 -O -fomit-frame-pointer aesni
g++ -m32 -march=core2 -msse4 -Os -fomit-frame-pointer aesni
g++ -m32 -march=k8 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=k8 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=k8 -O -fomit-frame-pointer aesni
g++ -m32 -march=k8 -Os -fomit-frame-pointer aesni
g++ -m32 -march=native -mtune=native -O2 -fomit-frame-pointer aesni
g++ -m32 -march=native -mtune=native -O3 -fomit-frame-pointer aesni
g++ -m32 -march=native -mtune=native -O -fomit-frame-pointer aesni
g++ -m32 -march=native -mtune=native -Os -fomit-frame-pointer aesni
g++ -m32 -march=nocona -O2 -fomit-frame-pointer aesni
g++ -m32 -march=nocona -O3 -fomit-frame-pointer aesni
g++ -m32 -march=nocona -O -fomit-frame-pointer aesni
g++ -m32 -march=nocona -Os -fomit-frame-pointer aesni
g++ -m32 -march=pentium-m -O2 -fomit-frame-pointer aesni
g++ -m32 -march=pentium-m -O3 -fomit-frame-pointer aesni
g++ -m32 -march=pentium-m -O -fomit-frame-pointer aesni
g++ -m32 -march=pentium-m -Os -fomit-frame-pointer aesni
g++ -m32 -march=pentium4 -O2 -fomit-frame-pointer aesni
g++ -m32 -march=pentium4 -O3 -fomit-frame-pointer aesni
g++ -m32 -march=pentium4 -O -fomit-frame-pointer aesni
g++ -m32 -march=pentium4 -Os -fomit-frame-pointer aesni
g++ -m32 -march=prescott -O2 -fomit-frame-pointer aesni
g++ -m32 -march=prescott -O3 -fomit-frame-pointer aesni
g++ -m32 -march=prescott -O -fomit-frame-pointer aesni
g++ -m32 -march=prescott -Os -fomit-frame-pointer aesni