Implementation notes: amd64, gsm2, crypto_aead/paeq160

Computer: gsm2
Architecture: amd64
CPU ID: GenuineIntel-000306e4-bfebfbff
SUPERCOP version: 20170725
Operation: crypto_aead
Primitive: paeq160
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
67180? ? ?? ? ?aesnig++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017080620170725
67832? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017080620170725
67948? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017080620170725
68332? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017080620170725
68744? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017080620170725
69012? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017080620170725
71460? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017080620170725
71508? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017080620170725
72348? ? ?? ? ?aesnig++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017080620170725
75164? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017080620170725
77060? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017080620170725
78028? ? ?? ? ?aesnig++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017080620170725
78904? ? ?? ? ?aesnig++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017080620170725
79644? ? ?? ? ?aesnig++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017080620170725
82172? ? ?? ? ?aesnig++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017080620170725
83984? ? ?? ? ?aesnig++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017080620170725
7839848? ? ?? ? ?refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2017080620170725
8099628? ? ?? ? ?refg++_-march=nocona_-O3_-fomit-frame-pointer2017080620170725
8135928? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017080620170725
8142508? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017080620170725
8192040? ? ?? ? ?refg++_-march=barcelona_-O3_-fomit-frame-pointer2017080620170725
8198528? ? ?? ? ?refg++_-march=k8_-O3_-fomit-frame-pointer2017080620170725
8205712? ? ?? ? ?refg++_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017080620170725
8212420? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017080620170725
8232152? ? ?? ? ?refg++_-m64_-march=nocona_-O3_-fomit-frame-pointer2017080620170725
8246568? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017080620170725
8269660? ? ?? ? ?refg++_-O3_-fomit-frame-pointer2017080620170725
8305844? ? ?? ? ?refg++_-m64_-march=corei7_-O3_-fomit-frame-pointer2017080620170725
8308292? ? ?? ? ?refg++_-m64_-march=core2_-O3_-fomit-frame-pointer2017080620170725
8340836? ? ?? ? ?refg++_-m64_-march=k8_-O3_-fomit-frame-pointer2017080620170725
8415320? ? ?? ? ?refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017080620170725
8435760? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017080620170725
8471608? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017080620170725
8476508? ? ?? ? ?refg++_-m64_-O3_-fomit-frame-pointer2017080620170725
8509328? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017080620170725
13650220? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017080620170725
16608868? ? ?? ? ?refg++_-march=barcelona_-O2_-fomit-frame-pointer2017080620170725
16652244? ? ?? ? ?refg++_-march=nocona_-O2_-fomit-frame-pointer2017080620170725
16769092? ? ?? ? ?refg++_-m64_-march=k8_-O2_-fomit-frame-pointer2017080620170725
16773964? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017080620170725
16775808? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017080620170725
16812208? ? ?? ? ?refg++_-m64_-march=core2_-O2_-fomit-frame-pointer2017080620170725
16963176? ? ?? ? ?refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017080620170725
16979820? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017080620170725
17031988? ? ?? ? ?refg++_-m64_-march=nocona_-O2_-fomit-frame-pointer2017080620170725
17038524? ? ?? ? ?refg++_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017080620170725
17043812? ? ?? ? ?refg++_-m64_-march=corei7_-O2_-fomit-frame-pointer2017080620170725
17142312? ? ?? ? ?refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2017080620170725
17218212? ? ?? ? ?refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017080620170725
17356528? ? ?? ? ?refg++_-march=k8_-O2_-fomit-frame-pointer2017080620170725
17375740? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017080620170725
17546676? ? ?? ? ?refg++_-m64_-O2_-fomit-frame-pointer2017080620170725
17683808? ? ?? ? ?refg++_-m64_-Os_-fomit-frame-pointer2017080620170725
18277868? ? ?? ? ?refg++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017080620170725
18290220? ? ?? ? ?refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2017080620170725
18364688? ? ?? ? ?refg++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017080620170725
18374096? ? ?? ? ?refg++_-m64_-march=k8_-Os_-fomit-frame-pointer2017080620170725
18416484? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017080620170725
18430648? ? ?? ? ?refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2017080620170725
18444208? ? ?? ? ?refg++_-m64_-march=nocona_-Os_-fomit-frame-pointer2017080620170725
18445140? ? ?? ? ?refg++_-Os_-fomit-frame-pointer2017080620170725
18628360? ? ?? ? ?refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017080620170725
18677352? ? ?? ? ?refg++_-O_-fomit-frame-pointer2017080620170725
18716172? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017080620170725
18723168? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017080620170725
18756812? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017080620170725
18760992? ? ?? ? ?refg++_-m64_-march=barcelona_-O_-fomit-frame-pointer2017080620170725
18791764? ? ?? ? ?refg++_-march=k8_-O_-fomit-frame-pointer2017080620170725
18796796? ? ?? ? ?refg++_-m64_-march=corei7_-O_-fomit-frame-pointer2017080620170725
18823004? ? ?? ? ?refg++_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017080620170725
18863600? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017080620170725
18885748? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017080620170725
18970320? ? ?? ? ?refg++_-O2_-fomit-frame-pointer2017080620170725
19008780? ? ?? ? ?refg++_-m64_-march=core2_-Os_-fomit-frame-pointer2017080620170725
19069176? ? ?? ? ?refg++_-march=barcelona_-Os_-fomit-frame-pointer2017080620170725
19069780? ? ?? ? ?refg++_-m64_-O_-fomit-frame-pointer2017080620170725
19239604? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017080620170725
19298252? ? ?? ? ?refg++_-march=k8_-Os_-fomit-frame-pointer2017080620170725
19379060? ? ?? ? ?refg++_-m64_-march=nocona_-O_-fomit-frame-pointer2017080620170725
19516416? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017080620170725
19843276? ? ?? ? ?refg++_-march=nocona_-Os_-fomit-frame-pointer2017080620170725
20073036? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017080620170725
20352916? ? ?? ? ?refg++_-m64_-march=core2_-O_-fomit-frame-pointer2017080620170725
20533876? ? ?? ? ?refg++_-m64_-march=k8_-O_-fomit-frame-pointer2017080620170725
20588736? ? ?? ? ?refg++_-march=barcelona_-O_-fomit-frame-pointer2017080620170725
20806024? ? ?? ? ?refg++_-march=nocona_-O_-fomit-frame-pointer2017080620170725
20865940? ? ?? ? ?refg++_-m64_-march=corei7_-Os_-fomit-frame-pointer2017080620170725
20901108? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017080620170725
81842828? ? ?? ? ?refg++2017080620170725

Test failure

Implementation: crypto_aead/paeq160/aesni
Compiler: g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer aesni ref
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer aesni ref
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer aesni ref

Compiler output

Implementation: crypto_aead/paeq160/aesni
Compiler: g++
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:166:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:240:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^

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=corei7 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -O -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -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=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/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:166:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:240:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:166:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:240:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^

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