Implementation notes: amd64, cel02, crypto_aead/paeq128tnm

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: paeq128tnm
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3524618174 28 6553635946 892 66560T:aesnig++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3579212222 32 6553625137 864 66400T:aesniclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
384049918 28 6553624250 892 66496T:aesnig++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4125210830 28 6553625353 884 66496T:aesnig++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
453248646 28 6553621741 868 66464T:aesnig++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
535464213660 28 6553631394 892 66560T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
124620625840 32 6553618833 864 66400T:refclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
147780766551 28 6553620769 884 66496T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
150634706799 28 6553621265 884 66496T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
155585865304 28 6553618349 868 66464T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x55c9989075e0: v4i64 = X86ISD::VTRUNC 0x55c9989074b0
try.cpp: 0x55c9989074b0: v16i32 = vselect 0x55c9988e7870, 0x55c9988a0540, 0x55c998907380
try.cpp: 0x55c9988e7870: v4i1 = X86ISD::PCMPGTM 0x55c9988ef800, 0x55c9988eabd0
try.cpp: 0x55c9988ef800: v4i64 = X86ISD::VBROADCAST 0x55c99889d6e0
try.cpp: 0x55c99889d6e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c9987fe9c0, 0x55c9988932d0, undef:i64
try.cpp: 0x55c9988932d0: i64,ch = CopyFromReg 0x55c9987fe9c0, Register:i64 %vreg50
try.cpp: 0x55c9988eae30: i64 = Register %vreg50
try.cpp: 0x55c99889ebb0: i64 = undef
try.cpp: 0x55c9988eabd0: v4i64,ch = CopyFromReg 0x55c9987fe9c0, Register:v4i64 %vreg13
try.cpp: 0x55c9988f0050: v4i64 = Register %vreg13
try.cpp: 0x55c9988a0540: v16i32 = X86ISD::VBROADCAST 0x55c9988efa60
try.cpp: 0x55c9988efa60: i32,ch = load<LD4[ConstantPool]> 0x55c9987fe9c0, 0x55c998896ca0, undef:i64
try.cpp: 0x55c998896ca0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x55c9988dda60: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x55c99889ebb0: i64 = undef
try.cpp: 0x55c998907380: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.cpp: 0x55c998907250: i32 = Constant<0>
try.cpp: 0x55c998907250: i32 = Constant<0>
try.cpp: 0x55c998907250: i32 = Constant<0>
try.cpp: 0x55c998907250: i32 = Constant<0>
try.cpp: 0x55c998907250: i32 = Constant<0>
try.cpp: 0x55c998907250: i32 = Constant<0>
try.cpp: 0x55c998907250: i32 = Constant<0>
try.cpp: 0x55c998907250: i32 = Constant<0>
try.cpp: 0x55c998907250: i32 = Constant<0>
try.cpp: ...

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

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x56284de7ed30: v4i64 = X86ISD::VTRUNC 0x56284de7ec00
try.cpp: 0x56284de7ec00: v16i32 = vselect 0x56284de77280, 0x56284ddece80, 0x56284de7ead0
try.cpp: 0x56284de77280: v4i1 = X86ISD::PCMPGTM 0x56284de589e0, 0x56284de53db0
try.cpp: 0x56284de589e0: v4i64 = X86ISD::VBROADCAST 0x56284dded340
try.cpp: 0x56284dded340: i64,ch = load<LD8[%lsr.iv6971]> 0x56284dd51a80, 0x56284ddfe100, undef:i64
try.cpp: 0x56284ddfe100: i64,ch = CopyFromReg 0x56284dd51a80, Register:i64 %vreg50
try.cpp: 0x56284de54010: i64 = Register %vreg50
try.cpp: 0x56284ddf4200: i64 = undef
try.cpp: 0x56284de53db0: v4i64,ch = CopyFromReg 0x56284dd51a80, Register:v4i64 %vreg13
try.cpp: 0x56284de59230: v4i64 = Register %vreg13
try.cpp: 0x56284ddece80: v16i32 = X86ISD::VBROADCAST 0x56284de58c40
try.cpp: 0x56284de58c40: i32,ch = load<LD4[ConstantPool]> 0x56284dd51a80, 0x56284ddfc6d0, undef:i64
try.cpp: 0x56284ddfc6d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x56284ddf4b80: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x56284ddf4200: i64 = undef
try.cpp: 0x56284de7ead0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.cpp: 0x56284de7e9a0: i32 = Constant<0>
try.cpp: 0x56284de7e9a0: i32 = Constant<0>
try.cpp: 0x56284de7e9a0: i32 = Constant<0>
try.cpp: 0x56284de7e9a0: i32 = Constant<0>
try.cpp: 0x56284de7e9a0: i32 = Constant<0>
try.cpp: 0x56284de7e9a0: i32 = Constant<0>
try.cpp: 0x56284de7e9a0: i32 = Constant<0>
try.cpp: 0x56284de7e9a0: i32 = Constant<0>
try.cpp: 0x56284de7e9a0: i32 = Constant<0>
try.cpp: ...

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

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.cpp: fatal error: error in backend: Cannot select: 0x5640ac728db0: v4i64 = X86ISD::VTRUNC 0x5640ac728c80
try.cpp: 0x5640ac728c80: v16i32 = vselect 0x5640ac7188d0, 0x5640ac6c24f0, 0x5640ac728b50
try.cpp: 0x5640ac7188d0: v4i1 = X86ISD::PCMPGTM 0x5640ac712470, 0x5640ac70e000
try.cpp: 0x5640ac712470: v4i64 = X86ISD::VBROADCAST 0x5640ac6b5400
try.cpp: 0x5640ac6b5400: i64,ch = load<LD8[%lsr.iv6971]> 0x5640ac6219c0, 0x5640ac6f1c90, undef:i64
try.cpp: 0x5640ac6f1c90: i64,ch = CopyFromReg 0x5640ac6219c0, Register:i64 %vreg50
try.cpp: 0x5640ac70e260: i64 = Register %vreg50
try.cpp: 0x5640ac6c0b60: i64 = undef
try.cpp: 0x5640ac70e000: v4i64,ch = CopyFromReg 0x5640ac6219c0, Register:v4i64 %vreg13
try.cpp: 0x5640ac712cc0: v4i64 = Register %vreg13
try.cpp: 0x5640ac6c24f0: v16i32 = X86ISD::VBROADCAST 0x5640ac7126d0
try.cpp: 0x5640ac7126d0: i32,ch = load<LD4[ConstantPool]> 0x5640ac6219c0, 0x5640ac6b49e0, undef:i64
try.cpp: 0x5640ac6b49e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x5640ac6fc5a0: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x5640ac6c0b60: i64 = undef
try.cpp: 0x5640ac728b50: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.cpp: 0x5640ac728a20: i32 = Constant<0>
try.cpp: 0x5640ac728a20: i32 = Constant<0>
try.cpp: 0x5640ac728a20: i32 = Constant<0>
try.cpp: 0x5640ac728a20: i32 = Constant<0>
try.cpp: 0x5640ac728a20: i32 = Constant<0>
try.cpp: 0x5640ac728a20: i32 = Constant<0>
try.cpp: 0x5640ac728a20: i32 = Constant<0>
try.cpp: 0x5640ac728a20: i32 = Constant<0>
try.cpp: 0x5640ac728a20: i32 = Constant<0>
try.cpp: ...

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

Compiler output

Implementation: T:opt-win-aes
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.cpp: In file included from encrypt.cpp:8:
encrypt.cpp: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/cstdint:35:
encrypt.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
encrypt.cpp: #error This file requires compiler and library support \
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:13:10: fatal error: 'intrin.h' file not found
encrypt.cpp: #include <intrin.h>
encrypt.cpp: ^
encrypt.cpp: 2 errors generated.

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

Compiler output

Implementation: T:opt-win-aes
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.cpp: encrypt.cpp:13:20: fatal error: intrin.h: No such file or directory
encrypt.cpp: #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 T:opt-win-aes
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt-win-aes
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt-win-aes
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt-win-aes

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: fatal error: error in backend: Cannot select: 0x559b93e1d070: v4i64 = X86ISD::VTRUNC 0x559b93e1cf40
try.cpp: 0x559b93e1cf40: v16i32 = vselect 0x559b93e2f5a0, 0x559b93dbd300, 0x559b93e1ce10
try.cpp: 0x559b93e2f5a0: v4i1 = X86ISD::PCMPGTM 0x559b93e17a40, 0x559b93e135d0
try.cpp: 0x559b93e17a40: v4i64 = X86ISD::VBROADCAST 0x559b93db94b0
try.cpp: 0x559b93db94b0: i64,ch = load<LD8[%lsr.iv6971]> 0x559b93d26a40, 0x559b93dfd550, undef:i64
try.cpp: 0x559b93dfd550: i64,ch = CopyFromReg 0x559b93d26a40, Register:i64 %vreg50
try.cpp: 0x559b93e13830: i64 = Register %vreg50
try.cpp: 0x559b93dba980: i64 = undef
try.cpp: 0x559b93e135d0: v4i64,ch = CopyFromReg 0x559b93d26a40, Register:v4i64 %vreg13
try.cpp: 0x559b93e18290: v4i64 = Register %vreg13
try.cpp: 0x559b93dbd300: v16i32 = X86ISD::VBROADCAST 0x559b93e17ca0
try.cpp: 0x559b93e17ca0: i32,ch = load<LD4[ConstantPool]> 0x559b93d26a40, 0x559b93dc6d40, undef:i64
try.cpp: 0x559b93dc6d40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x559b93e09c20: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x559b93dba980: i64 = undef
try.cpp: 0x559b93e1ce10: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.cpp: 0x559b93e1cce0: i32 = Constant<0>
try.cpp: 0x559b93e1cce0: i32 = Constant<0>
try.cpp: 0x559b93e1cce0: i32 = Constant<0>
try.cpp: 0x559b93e1cce0: i32 = Constant<0>
try.cpp: 0x559b93e1cce0: i32 = Constant<0>
try.cpp: 0x559b93e1cce0: i32 = Constant<0>
try.cpp: 0x559b93e1cce0: i32 = Constant<0>
try.cpp: 0x559b93e1cce0: i32 = Constant<0>
try.cpp: 0x559b93e1cce0: i32 = Constant<0>
try.cpp: ...

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: fatal error: error in backend: Cannot select: 0x556074fd30f0: v4i64 = X86ISD::VTRUNC 0x556074fd2fc0
try.cpp: 0x556074fd2fc0: v16i32 = vselect 0x556074fe0cc0, 0x556074f6ba30, 0x556074fd2e90
try.cpp: 0x556074fe0cc0: v4i1 = X86ISD::PCMPGTM 0x556074fc8b10, 0x556074fc4090
try.cpp: 0x556074fc8b10: v4i64 = X86ISD::VBROADCAST 0x556074f6bef0
try.cpp: 0x556074f6bef0: i64,ch = load<LD8[%lsr.iv6971]> 0x556074ec1a80, 0x556074f76640, undef:i64
try.cpp: 0x556074f76640: i64,ch = CopyFromReg 0x556074ec1a80, Register:i64 %vreg50
try.cpp: 0x556074fc42f0: i64 = Register %vreg50
try.cpp: 0x556074f643e0: i64 = undef
try.cpp: 0x556074fc4090: v4i64,ch = CopyFromReg 0x556074ec1a80, Register:v4i64 %vreg13
try.cpp: 0x556074fc9360: v4i64 = Register %vreg13
try.cpp: 0x556074f6ba30: v16i32 = X86ISD::VBROADCAST 0x556074fc8d70
try.cpp: 0x556074fc8d70: i32,ch = load<LD4[ConstantPool]> 0x556074ec1a80, 0x556074f6e3d0, undef:i64
try.cpp: 0x556074f6e3d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x556074f64d60: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x556074f643e0: i64 = undef
try.cpp: 0x556074fd2e90: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.cpp: 0x556074fd2d60: i32 = Constant<0>
try.cpp: 0x556074fd2d60: i32 = Constant<0>
try.cpp: 0x556074fd2d60: i32 = Constant<0>
try.cpp: 0x556074fd2d60: i32 = Constant<0>
try.cpp: 0x556074fd2d60: i32 = Constant<0>
try.cpp: 0x556074fd2d60: i32 = Constant<0>
try.cpp: 0x556074fd2d60: i32 = Constant<0>
try.cpp: 0x556074fd2d60: i32 = Constant<0>
try.cpp: 0x556074fd2d60: i32 = Constant<0>
try.cpp: ...

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: fatal error: error in backend: Cannot select: 0x563456bbae10: v4i64 = X86ISD::VTRUNC 0x563456bbace0
try.cpp: 0x563456bbace0: v16i32 = vselect 0x563456baa120, 0x563456b64830, 0x563456bbabb0
try.cpp: 0x563456baa120: v4i1 = X86ISD::PCMPGTM 0x563456ba34c0, 0x563456b9f050
try.cpp: 0x563456ba34c0: v4i64 = X86ISD::VBROADCAST 0x563456b41a90
try.cpp: 0x563456b41a90: i64,ch = load<LD8[%lsr.iv6971]> 0x563456ab29c0, 0x563456b548d0, undef:i64
try.cpp: 0x563456b548d0: i64,ch = CopyFromReg 0x563456ab29c0, Register:i64 %vreg50
try.cpp: 0x563456b9f2b0: i64 = Register %vreg50
try.cpp: 0x563456b42f60: i64 = undef
try.cpp: 0x563456b9f050: v4i64,ch = CopyFromReg 0x563456ab29c0, Register:v4i64 %vreg13
try.cpp: 0x563456ba3d10: v4i64 = Register %vreg13
try.cpp: 0x563456b64830: v16i32 = X86ISD::VBROADCAST 0x563456ba3720
try.cpp: 0x563456ba3720: i32,ch = load<LD4[ConstantPool]> 0x563456ab29c0, 0x563456b40500, undef:i64
try.cpp: 0x563456b40500: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.cpp: 0x563456b8d840: i64 = TargetConstantPool<i32 1> 0
try.cpp: 0x563456b42f60: i64 = undef
try.cpp: 0x563456bbabb0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.cpp: 0x563456bbaa80: i32 = Constant<0>
try.cpp: 0x563456bbaa80: i32 = Constant<0>
try.cpp: 0x563456bbaa80: i32 = Constant<0>
try.cpp: 0x563456bbaa80: i32 = Constant<0>
try.cpp: 0x563456bbaa80: i32 = Constant<0>
try.cpp: 0x563456bbaa80: i32 = Constant<0>
try.cpp: 0x563456bbaa80: i32 = Constant<0>
try.cpp: 0x563456bbaa80: i32 = Constant<0>
try.cpp: 0x563456bbaa80: i32 = Constant<0>
try.cpp: ...

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp:
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: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits, zero for 256-bit nonce
encrypt.cpp:
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: large integer implicitly truncated to unsigned type [-Woverflow]
encrypt.cpp: D0[0] = CRYPTO_NPUBBYTES*8; //nonce length in bits
encrypt.cpp:

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