Implementation notes: amd64, pmnod076, crypto_aead/paeq128tnm

Computer: pmnod076
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_aead
Primitive: paeq128tnm
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2735410833 28 6553623515 892 66464aesnig++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
2759234256 28 6553652886 908 66400aesniicpc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
2777634256 28 6553652886 908 66400aesniicpc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
2778034256 28 6553652886 908 66400aesniicpc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
2786434256 28 6553652886 908 66400aesniicpc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
2792434480 28 6553653030 908 66400aesniicpc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
2813034480 28 6553653030 908 66400aesniicpc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
2836034480 28 6553653030 908 66400aesniicpc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
2853834480 28 6553653030 908 66400aesniicpc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
3004839166 28 6553654624 900 66464aesnig++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
3024411372 28 6553624115 892 66464aesnig++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
3143635624 28 6553652926 908 66400aesniicpc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
3260034496 28 6553653102 908 66400aesniicpc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
3277434808 28 6553652158 908 66400aesniicpc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
3279234784 28 6553653742 908 66400aesniicpc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
3289834784 28 6553653742 908 66400aesniicpc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
3296034496 28 6553653102 908 66400aesniicpc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
3301234496 28 6553653102 908 66400aesniicpc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
330228267 28 6553619963 876 66464aesnig++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
3305834496 28 6553653102 908 66400aesniicpc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
3319034784 28 6553653742 908 66400aesniicpc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
3334034784 28 6553653742 908 66400aesniicpc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
3347435512 28 6553654918 908 66432aesniicpc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
3354035088 28 6553654326 908 66432aesniicpc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
3357835368 28 6553654486 908 66432aesniicpc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
3362035280 28 6553655054 908 66432aesniicpc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
213817024424 28 6553644166 908 66432reficpc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
232718424448 28 6553643822 908 66432reficpc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
234602226320 28 6553645494 908 66432reficpc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
236521428896 28 6553647382 908 66400reficpc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
236603428896 28 6553647382 908 66400reficpc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
236615228896 28 6553647382 908 66400reficpc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
236764628896 28 6553647382 908 66400reficpc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
251956829264 28 6553648158 908 66400reficpc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
252422429264 28 6553648158 908 66400reficpc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
252479029264 28 6553648158 908 66400reficpc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
254772629264 28 6553648158 908 66400reficpc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
256672226552 28 6553645606 908 66432reficpc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
284841232664 28 6553649950 908 66400reficpc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
286384228088 28 6553646654 908 66400reficpc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
286388628088 28 6553646654 908 66400reficpc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
286403228088 28 6553646654 908 66400reficpc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
286423628088 28 6553646654 908 66400reficpc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
290567433064 28 6553650302 908 66400reficpc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
292803228424 28 6553646966 908 66400reficpc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
292947028424 28 6553646966 908 66400reficpc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
292950228424 28 6553646966 908 66400reficpc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
293178428424 28 6553646966 908 66400reficpc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
311543012166 28 6553627584 900 66464refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
64973267133 28 6553619835 892 66464refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
67266086333 28 6553618979 892 66464refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
194573164945 28 6553616611 876 66464refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017

Test failure

Implementation: aesni
Security model: unknown
Compiler: icpc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
icpc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer aesni
icpc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer aesni
icpc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref
icpc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref

Compiler output

Implementation: aesni
Security model: unknown
Compiler: icpc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
encrypt.cpp: encrypt.cpp(21): warning #1879: unimplemented pragma ignored
encrypt.cpp: #pragma intrinsic(_mm_set_epi64x)
encrypt.cpp: ^
encrypt.cpp:

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
icpc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer aesni
icpc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer aesni
icpc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer aesni
icpc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer aesni
icpc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer aesni
icpc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer aesni
icpc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer aesni
icpc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer aesni
icpc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer aesni
icpc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer aesni
icpc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer aesni
icpc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer aesni
icpc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer aesni
icpc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer aesni
icpc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer aesni
icpc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer aesni
icpc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer aesni
icpc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer aesni
icpc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer aesni
icpc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer aesni
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer aesni
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer aesni
icpc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer aesni
icpc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer aesni

Compiler output

Implementation: opt-win-aes
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.cpp: encrypt.cpp:13:10: fatal error: intrin.h: No such file or directory
encrypt.cpp: 13 | #include <intrin.h>
encrypt.cpp: | ^~~~~~~~~~
encrypt.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt-win-aes
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt-win-aes
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt-win-aes
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt-win-aes

Compiler output

Implementation: opt-win-aes
Security model: unknown
Compiler: icpc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
encrypt.cpp: encrypt.cpp(13): catastrophic error: cannot open source file "intrin.h"
encrypt.cpp: #include <intrin.h>
encrypt.cpp: ^
encrypt.cpp:
encrypt.cpp: compilation aborted for encrypt.cpp (code 4)

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
icpc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer opt-win-aes
icpc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer opt-win-aes
icpc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt-win-aes
icpc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt-win-aes
icpc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer opt-win-aes
icpc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer opt-win-aes
icpc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer opt-win-aes
icpc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer opt-win-aes
icpc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer opt-win-aes
icpc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer opt-win-aes
icpc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer opt-win-aes
icpc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer opt-win-aes
icpc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer opt-win-aes
icpc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer opt-win-aes
icpc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer opt-win-aes
icpc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer opt-win-aes
icpc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer opt-win-aes
icpc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer opt-win-aes
icpc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer opt-win-aes
icpc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer opt-win-aes
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer opt-win-aes
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer opt-win-aes
icpc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer opt-win-aes
icpc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer opt-win-aes

Compiler output

Implementation: ref
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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:355:27: warning: unsigned conversion from 'int' to 'unsigned char' changes value from '256' to '0' [-Woverflow]
encrypt.cpp: 355 | D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
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:610:27: warning: unsigned conversion from 'int' to 'unsigned char' changes value from '256' to '0' [-Woverflow]
encrypt.cpp: 610 | D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
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:864:27: warning: unsigned conversion from 'int' to 'unsigned char' changes value from '256' to '0' [-Woverflow]
encrypt.cpp: 864 | D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: icpc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
encrypt.cpp: encrypt.cpp(355): warning #69: integer conversion resulted in truncation
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ^
encrypt.cpp:
encrypt.cpp: encrypt.cpp(610): warning #69: integer conversion resulted in truncation
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ^
encrypt.cpp:
encrypt.cpp: encrypt.cpp(864): warning #69: integer conversion resulted in truncation
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits
encrypt.cpp: ^
encrypt.cpp:

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
icpc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer ref
icpc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer ref
icpc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref
icpc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref
icpc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer ref
icpc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer ref
icpc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer ref
icpc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer ref
icpc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer ref
icpc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer ref
icpc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer ref
icpc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer ref
icpc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer ref
icpc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer ref
icpc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer ref
icpc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer ref
icpc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer ref
icpc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer ref
icpc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer ref
icpc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer ref
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer ref
icpc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer ref
icpc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer ref
icpc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer ref