Implementation notes: amd64, sliver, crypto_aead/paeq128tnm

Computer: sliver
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160731
Operation: crypto_aead
Primitive: paeq128tnm
TimeImplementationCompilerBenchmark dateSUPERCOP version
75396aesniclang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072420160718
6707478refclang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072420160718
15653208refg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072420160718
23043720refg++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072420160718
24447348refg++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072420160718
25230888refg++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072420160718

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.cpp: encrypt.cpp:355:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: encrypt.cpp:610:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: encrypt.cpp:864:27: warning: implicit conversion from 'int' to 'unsigned char' changes value from 256 to 0 [-Wconstant-conversion]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits
encrypt.cpp: ~ ~~~~~~~~~~~~~~~~^~
encrypt.cpp: 3 warnings generated.
try.cpp: /tmp/try-anything-14a77a.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: /tmp/try-anything-5e9fff.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.cpp: encrypt.cpp:8:10: fatal error: 'cstdint' file not found
encrypt.cpp: #include gt;
encrypt.cpp: ^
encrypt.cpp: 1 error generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt-win-aes

Compiler output

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.cpp: /tmp/try-anything-ae0904.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: /tmp/try-anything-a9829d.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments aesni

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
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: 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:610: 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:864: warning: large integer implicitly truncated to unsigned type
try.cpp: /tmp//ccCsk6Pq.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: /tmp//ccKaL4ad.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_aead/paeq128tnm/aesni
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.cpp: encrypt.cpp:13:23: error: wmmintrin.h: No such file or directory
encrypt.cpp: encrypt.cpp:17:23: error: x86intrin.h: No such file or directory
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++ -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

Compiler output

Implementation: crypto_aead/paeq128tnm/opt-win-aes
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.cpp: encrypt.cpp:8:19: error: cstdint: No such file or directory
encrypt.cpp: encrypt.cpp:12:23: error: wmmintrin.h: No such file or directory
encrypt.cpp: encrypt.cpp:13:20: error: intrin.h: No such file or directory
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:159: 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:233: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: encrypt.cpp: In function 'int PAEQ128_opt_AESNI_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*)':
encrypt.cpp: encrypt.cpp:1084: error: '_mm_extract_epi64' was not declared in this scope

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

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
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: 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:610: 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:864: warning: large integer implicitly truncated to unsigned type
try.cpp: /tmp//ccKcGLRW.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: /tmp//ccqjPe81.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
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: 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:610: 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:864: warning: large integer implicitly truncated to unsigned type
try.cpp: /tmp//ccYJFuGL.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: /tmp//ccMqBNqa.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_aead/paeq128tnm/ref
Compiler: g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
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: 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:610: 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:864: warning: large integer implicitly truncated to unsigned type
try.cpp: /tmp//cce1PmQ2.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: /tmp//cchAF7jx.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref