Implementation notes: amd64, gemini, crypto_aead/paeq128tnm
Computer: gemini
Microarchitecture: amd64; Goldmont Plus (706a8)
Architecture: amd64
CPU ID: GenuineIntel-000706a8-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: paeq128tnm
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
36333 | 11851 32 65536 | 24995 876 66552 | T:aesni | clang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
39672 | 10322 32 65536 | 24203 876 66552 | T:aesni | clang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
41122 | 16410 32 65536 | 33733 884 66552 | T:aesni | clang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
43378 | 15570 32 65536 | 30525 884 66552 | T:aesni | clang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
47674 | 10958 28 65536 | 25119 808 66648 | T:aesni | g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
49095 | 39487 28 65536 | 55144 816 66648 | T:aesni | g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
49970 | 11639 28 65536 | 26224 816 66648 | T:aesni | g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
52988 | 7907 28 65536 | 20891 792 66616 | T:aesni | g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
3824056 | 11273 32 65536 | 26613 884 66552 | T:ref | clang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
3849269 | 11809 32 65536 | 29453 884 66552 | T:ref | clang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
3870048 | 17304 28 65536 | 32984 816 66648 | T:ref | g++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
9833358 | 5983 32 65536 | 20019 876 66552 | T:ref | clang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
10236870 | 5641 32 65536 | 19011 876 66552 | T:ref | clang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
10883554 | 7015 28 65536 | 21568 816 66648 | T:ref | g++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
11892212 | 6634 28 65536 | 20767 808 66648 | T:ref | g++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
25499470 | 4763 28 65536 | 17699 792 66616 | T:ref | g++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240702 | 20240625 |
Compiler output
encrypt.cpp: encrypt.cpp:21:9: warning: unknown pragma ignored [-Wunknown-pragmas]
encrypt.cpp: #pragma intrinsic(_mm_set_epi64x)
encrypt.cpp: ^
encrypt.cpp: 1 warning generated.
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:aesni | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesni | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
encrypt.cpp: encrypt.cpp:21: warning: ignoring '#pragma intrinsic ' [-Wunknown-pragmas]
encrypt.cpp: 21 | #pragma intrinsic(_mm_set_epi64x)
encrypt.cpp: |
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:aesni | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesni | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall |
T:aesni | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
encrypt.cpp: In file included from encrypt.cpp:13:
encrypt.cpp: /usr/lib/llvm-11/lib/clang/11.0.1/include/intrin.h:12:15: fatal error: 'intrin.h' file not found
encrypt.cpp: #include_next <intrin.h>
encrypt.cpp: ^~~~~~~~~~
encrypt.cpp: 1 error generated.
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:opt-win-aes | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:opt-win-aes | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:opt-win-aes | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:opt-win-aes | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
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 (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:opt-win-aes | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:opt-win-aes | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:opt-win-aes | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall |
T:opt-win-aes | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
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.
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:ref | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
encrypt.cpp: encrypt.cpp: In function 'int crypto_aead_paeq128tnm_ref_timingleaks_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_timingleaks_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 (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:ref | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall |
T:ref | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |