Implementation notes: amd64, gcc16, crypto_aead/paeq80

Computer: gcc16
Architecture: amd64
CPU ID: AuthenticAMD-00100f23-178bfbff
SUPERCOP version: 20171020
Operation: crypto_aead
Primitive: paeq80
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6360722? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017072620170718
6700571? ? ?? ? ?refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2017072620170718
6719823? ? ?? ? ?refg++_-m64_-O3_-fomit-frame-pointer2017072620170718
6772502? ? ?? ? ?refg++_-O3_-fomit-frame-pointer2017072620170718
6780106? ? ?? ? ?refg++_-m64_-march=core2_-O3_-fomit-frame-pointer2017072620170718
6798387? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017072620170718
6799581? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017072620170718
6864539? ? ?? ? ?refg++_-march=k8_-O3_-fomit-frame-pointer2017072620170718
6865040? ? ?? ? ?refg++_-m64_-march=k8_-O3_-fomit-frame-pointer2017072620170718
6901485? ? ?? ? ?refg++_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017072620170718
6916397? ? ?? ? ?refg++_-march=barcelona_-O3_-fomit-frame-pointer2017072620170718
6917438? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017072620170718
6921847? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017072620170718
6924023? ? ?? ? ?refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017072620170718
7022665? ? ?? ? ?refg++_-m64_-march=nocona_-O3_-fomit-frame-pointer2017072620170718
7035023? ? ?? ? ?refg++_-march=nocona_-O3_-fomit-frame-pointer2017072620170718
8429540? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017072620170718
10331443? ? ?? ? ?refg++_-O2_-fomit-frame-pointer2017072620170718
10351381? ? ?? ? ?refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2017072620170718
10359080? ? ?? ? ?refg++_-m64_-O2_-fomit-frame-pointer2017072620170718
10387359? ? ?? ? ?refg++_-m64_-march=nocona_-O2_-fomit-frame-pointer2017072620170718
10408540? ? ?? ? ?refg++_-march=nocona_-O2_-fomit-frame-pointer2017072620170718
10433615? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017072620170718
10434911? ? ?? ? ?refg++_-m64_-Os_-fomit-frame-pointer2017072620170718
10440733? ? ?? ? ?refg++_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017072620170718
10449809? ? ?? ? ?refg++_-Os_-fomit-frame-pointer2017072620170718
10450820? ? ?? ? ?refg++_-march=barcelona_-O2_-fomit-frame-pointer2017072620170718
10452251? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017072620170718
10457832? ? ?? ? ?refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017072620170718
10531939? ? ?? ? ?refg++_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017072620170718
10571736? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017072620170718
10574615? ? ?? ? ?refg++_-m64_-march=core2_-O2_-fomit-frame-pointer2017072620170718
10575518? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017072620170718
10647158? ? ?? ? ?refg++_-m64_-march=core2_-O_-fomit-frame-pointer2017072620170718
10656909? ? ?? ? ?refg++_-march=nocona_-Os_-fomit-frame-pointer2017072620170718
10691610? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017072620170718
10759055? ? ?? ? ?refg++_-m64_-march=barcelona_-O_-fomit-frame-pointer2017072620170718
10770808? ? ?? ? ?refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017072620170718
10775276? ? ?? ? ?refg++_-O_-fomit-frame-pointer2017072620170718
10775353? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017072620170718
10786185? ? ?? ? ?refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2017072620170718
10797029? ? ?? ? ?refg++_-m64_-O_-fomit-frame-pointer2017072620170718
10804497? ? ?? ? ?refg++_-march=barcelona_-O_-fomit-frame-pointer2017072620170718
10857830? ? ?? ? ?refg++_-m64_-march=k8_-O2_-fomit-frame-pointer2017072620170718
10865335? ? ?? ? ?refg++_-march=k8_-O2_-fomit-frame-pointer2017072620170718
10942100? ? ?? ? ?refg++_-m64_-march=nocona_-Os_-fomit-frame-pointer2017072620170718
10959668? ? ?? ? ?refg++_-march=barcelona_-Os_-fomit-frame-pointer2017072620170718
10979205? ? ?? ? ?refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017072620170718
11004762? ? ?? ? ?refg++_-m64_-march=k8_-Os_-fomit-frame-pointer2017072620170718
11021867? ? ?? ? ?refg++_-march=k8_-Os_-fomit-frame-pointer2017072620170718
11090293? ? ?? ? ?refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2017072620170718
11303420? ? ?? ? ?refg++_-m64_-march=core2_-Os_-fomit-frame-pointer2017072620170718
11305382? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017072620170718
11306177? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017072620170718
11590861? ? ?? ? ?refg++_-march=k8_-O_-fomit-frame-pointer2017072620170718
11591796? ? ?? ? ?refg++_-m64_-march=k8_-O_-fomit-frame-pointer2017072620170718
11690114? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017072620170718
11710426? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017072620170718
14837579? ? ?? ? ?refg++_-m64_-march=nocona_-O_-fomit-frame-pointer2017072620170718
14844630? ? ?? ? ?refg++_-march=nocona_-O_-fomit-frame-pointer2017072620170718
58402691? ? ?? ? ?refg++2017072620170718

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.5/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: 57, 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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv aesni
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv aesni
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv aesni
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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.5/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.5/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