Implementation notes: amd64, enigma, crypto_aead/paeq128tnm

Computer: enigma
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20140529
Operation: crypto_aead
Primitive: paeq128tnm
TimeImplementationCompilerBenchmark dateSUPERCOP version
9257148refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060320140529
9379323refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014060320140529
9381555refg++ -O3 -fomit-frame-pointer2014060320140529
9384642refg++ -m64 -O3 -fomit-frame-pointer2014060320140529
9423270refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014060320140529
9430470refg++ -march=k8 -O3 -fomit-frame-pointer2014060320140529
9441387refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014060320140529
9447948refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014060320140529
9460287refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014060320140529
9467721refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060320140529
9468324refg++ -march=barcelona -O3 -fomit-frame-pointer2014060320140529
9470853refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014060320140529
9501435refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014060320140529
9514746refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060320140529
11056590refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060320140529
12251970refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014060320140529
12253473refg++ -march=barcelona -O2 -fomit-frame-pointer2014060320140529
12255129refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014060320140529
12280428refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014060320140529
12281022refg++ -march=k8 -O2 -fomit-frame-pointer2014060320140529
12340701refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060320140529
12341034refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060320140529
12347397refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060320140529
12348468refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014060320140529
12470670refg++ -O2 -fomit-frame-pointer2014060320140529
12489894refg++ -m64 -O2 -fomit-frame-pointer2014060320140529
12491721refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014060320140529
12521943refg++ -march=nocona -O3 -fomit-frame-pointer2014060320140529
12579039refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014060320140529
13216887refg++ -m64 -O -fomit-frame-pointer2014060320140529
13220640refg++ -fno-schedule-insns -O -fomit-frame-pointer2014060320140529
13222008refg++ -march=k8 -O -fomit-frame-pointer2014060320140529
13224510refg++ -m64 -march=k8 -O -fomit-frame-pointer2014060320140529
13224564refg++ -O -fomit-frame-pointer2014060320140529
13294449refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014060320140529
13301748refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014060320140529
13305501refg++ -march=barcelona -O -fomit-frame-pointer2014060320140529
13377105refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060320140529
13377456refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060320140529
13379382refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060320140529
13385952refg++ -m64 -march=core2 -O -fomit-frame-pointer2014060320140529
19528650refg++ -march=nocona -O2 -fomit-frame-pointer2014060320140529
19560078refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014060320140529
20148741refg++ -march=nocona -Os -fomit-frame-pointer2014060320140529
20163096refg++ -m64 -Os -fomit-frame-pointer2014060320140529
20167704refg++ -m64 -march=k8 -Os -fomit-frame-pointer2014060320140529
20169954refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060320140529
20177460refg++ -m64 -march=nocona -Os -fomit-frame-pointer2014060320140529
20178090refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014060320140529
20179800refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060320140529
20188539refg++ -march=barcelona -Os -fomit-frame-pointer2014060320140529
20188998refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014060320140529
20198142refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060320140529
20210544refg++ -Os -fomit-frame-pointer2014060320140529
20212047refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060320140529
20224620refg++ -march=k8 -Os -fomit-frame-pointer2014060320140529
20228877refg++ -fno-schedule-insns -Os -fomit-frame-pointer2014060320140529
20237769refg++ -m64 -march=core2 -Os -fomit-frame-pointer2014060320140529
20335005refg++ -m64 -march=nocona -O -fomit-frame-pointer2014060320140529
20338281refg++ -march=nocona -O -fomit-frame-pointer2014060320140529
47645127refg++2014060320140529

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: g++
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_encrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:350: warning: large integer implicitly truncated to unsigned type
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_encrypt_no_nonce(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:603: warning: large integer implicitly truncated to unsigned type
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_decrypt(unsigned char*, long long unsigned int*, unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:857: warning: large integer implicitly truncated to unsigned type

Number of similar (compiler,implementation) pairs: 53, namely:
CompilerImplementations
g++ ref
g++ -O2 -fomit-frame-pointer ref
g++ -O3 -fomit-frame-pointer ref
g++ -O -fomit-frame-pointer ref
g++ -Os -fomit-frame-pointer ref
g++ -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -m64 -O2 -fomit-frame-pointer ref
g++ -m64 -O3 -fomit-frame-pointer ref
g++ -m64 -O -fomit-frame-pointer ref
g++ -m64 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
g++ -m64 -march=k8 -O2 -fomit-frame-pointer ref
g++ -m64 -march=k8 -O3 -fomit-frame-pointer ref
g++ -m64 -march=k8 -O -fomit-frame-pointer ref
g++ -m64 -march=k8 -Os -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
g++ -m64 -march=nocona -O2 -fomit-frame-pointer ref
g++ -m64 -march=nocona -O3 -fomit-frame-pointer ref
g++ -m64 -march=nocona -O -fomit-frame-pointer ref
g++ -m64 -march=nocona -Os -fomit-frame-pointer ref
g++ -march=barcelona -O2 -fomit-frame-pointer ref
g++ -march=barcelona -O3 -fomit-frame-pointer ref
g++ -march=barcelona -O -fomit-frame-pointer ref
g++ -march=barcelona -Os -fomit-frame-pointer ref
g++ -march=k8 -O2 -fomit-frame-pointer ref
g++ -march=k8 -O3 -fomit-frame-pointer ref
g++ -march=k8 -O -fomit-frame-pointer ref
g++ -march=k8 -Os -fomit-frame-pointer ref
g++ -march=nocona -O2 -fomit-frame-pointer ref
g++ -march=nocona -O3 -fomit-frame-pointer ref
g++ -march=nocona -O -fomit-frame-pointer ref
g++ -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_encrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:350: warning: large integer implicitly truncated to unsigned type
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_encrypt_no_nonce(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:603: warning: large integer implicitly truncated to unsigned type
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_decrypt(unsigned char*, long long unsigned int*, unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:857: warning: large integer implicitly truncated to unsigned type
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_encrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:350: warning: large integer implicitly truncated to unsigned type
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_encrypt_no_nonce(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:603: warning: large integer implicitly truncated to unsigned type
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_decrypt(unsigned char*, long long unsigned int*, unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
encrypt.cpp: encrypt.cpp:857: warning: large integer implicitly truncated to unsigned type

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -m64 -march=barcelona -O2 -fomit-frame-pointer ref
g++ -m64 -march=barcelona -O3 -fomit-frame-pointer ref
g++ -m64 -march=barcelona -O -fomit-frame-pointer ref
g++ -m64 -march=barcelona -Os -fomit-frame-pointer ref