Implementation notes: amd64, cel02, crypto_stream/aes192ctr

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_stream
Primitive: aes192ctr
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1900619 0 017860 880 888T:opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2332452 0 014140 880 856T:opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2496389 0 013039 848 800T:opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2738360 0 012839 856 824T:opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2768448 0 014500 880 856T:opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2882394 0 014885 856 800T:opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:cryptopp
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
stream.cpp: stream.cpp:1:10: fatal error: 'cryptopp/aes.h' file not found
stream.cpp: #include <cryptopp/aes.h>
stream.cpp: ^
stream.cpp: 1 error generated.

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

Compiler output

Implementation: T:cryptopp
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
stream.cpp: stream.cpp:1:26: fatal error: cryptopp/aes.h: No such file or directory
stream.cpp: #include <cryptopp/aes.h>
stream.cpp: ^
stream.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:cryptopp
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:cryptopp
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:cryptopp
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:cryptopp

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55c1975d71c0: v4i64 = X86ISD::VTRUNC 0x55c1975d7090
try.c: 0x55c1975d7090: v16i32 = vselect 0x55c1975c2fe0, 0x55c197568c90, 0x55c1975d6f60
try.c: 0x55c1975c2fe0: v4i1 = X86ISD::PCMPGTM 0x55c1975bc840, 0x55c1975b83d0
try.c: 0x55c1975bc840: v4i64 = X86ISD::VBROADCAST 0x55c1975631d0
try.c: 0x55c1975631d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c1974cd940, 0x55c1975a66c0, undef:i64
try.c: 0x55c1975a66c0: i64,ch = CopyFromReg 0x55c1974cd940, Register:i64 %vreg50
try.c: 0x55c1975b8630: i64 = Register %vreg50
try.c: 0x55c1975646a0: i64 = undef
try.c: 0x55c1975b83d0: v4i64,ch = CopyFromReg 0x55c1974cd940, Register:v4i64 %vreg13
try.c: 0x55c1975bd090: v4i64 = Register %vreg13
try.c: 0x55c197568c90: v16i32 = X86ISD::VBROADCAST 0x55c1975bcaa0
try.c: 0x55c1975bcaa0: i32,ch = load<LD4[ConstantPool]> 0x55c1974cd940, 0x55c19754c370, undef:i64
try.c: 0x55c19754c370: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c1975a1690: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c1975646a0: i64 = undef
try.c: 0x55c1975d6f60: 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.c: 0x55c1975d6e30: i32 = Constant<0>
try.c: 0x55c1975d6e30: i32 = Constant<0>
try.c: 0x55c1975d6e30: i32 = Constant<0>
try.c: 0x55c1975d6e30: i32 = Constant<0>
try.c: 0x55c1975d6e30: i32 = Constant<0>
try.c: 0x55c1975d6e30: i32 = Constant<0>
try.c: 0x55c1975d6e30: i32 = Constant<0>
try.c: 0x55c1975d6e30: i32 = Constant<0>
try.c: 0x55c1975d6e30: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5611277a05d0: v4i64 = X86ISD::VTRUNC 0x5611277a04a0
try.c: 0x5611277a04a0: v16i32 = vselect 0x56112777e050, 0x5611277289b0, 0x5611277a0370
try.c: 0x56112777e050: v4i1 = X86ISD::PCMPGTM 0x561127787fd0, 0x561127784560
try.c: 0x561127787fd0: v4i64 = X86ISD::VBROADCAST 0x561127728e70
try.c: 0x561127728e70: i64,ch = load<LD8[%lsr.iv6971]> 0x561127682a30, 0x561127732c80, undef:i64
try.c: 0x561127732c80: i64,ch = CopyFromReg 0x561127682a30, Register:i64 %vreg50
try.c: 0x5611277847c0: i64 = Register %vreg50
try.c: 0x5611277256a0: i64 = undef
try.c: 0x561127784560: v4i64,ch = CopyFromReg 0x561127682a30, Register:v4i64 %vreg13
try.c: 0x561127788820: v4i64 = Register %vreg13
try.c: 0x5611277289b0: v16i32 = X86ISD::VBROADCAST 0x561127788230
try.c: 0x561127788230: i32,ch = load<LD4[ConstantPool]> 0x561127682a30, 0x56112772b350, undef:i64
try.c: 0x56112772b350: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561127726020: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5611277256a0: i64 = undef
try.c: 0x5611277a0370: 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.c: 0x5611277a0240: i32 = Constant<0>
try.c: 0x5611277a0240: i32 = Constant<0>
try.c: 0x5611277a0240: i32 = Constant<0>
try.c: 0x5611277a0240: i32 = Constant<0>
try.c: 0x5611277a0240: i32 = Constant<0>
try.c: 0x5611277a0240: i32 = Constant<0>
try.c: 0x5611277a0240: i32 = Constant<0>
try.c: 0x5611277a0240: i32 = Constant<0>
try.c: 0x5611277a0240: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x556c88efa090: v4i64 = X86ISD::VTRUNC 0x556c88ef9f60
try.c: 0x556c88ef9f60: v16i32 = vselect 0x556c88ef4a60, 0x556c88ea1a90, 0x556c88ef9e30
try.c: 0x556c88ef4a60: v4i1 = X86ISD::PCMPGTM 0x556c88ef3a50, 0x556c88eef5e0
try.c: 0x556c88ef3a50: v4i64 = X86ISD::VBROADCAST 0x556c88e9ada0
try.c: 0x556c88e9ada0: i64,ch = load<LD8[%lsr.iv6971]> 0x556c88e04950, 0x556c88edd8b0, undef:i64
try.c: 0x556c88edd8b0: i64,ch = CopyFromReg 0x556c88e04950, Register:i64 %vreg50
try.c: 0x556c88eef840: i64 = Register %vreg50
try.c: 0x556c88e9c270: i64 = undef
try.c: 0x556c88eef5e0: v4i64,ch = CopyFromReg 0x556c88e04950, Register:v4i64 %vreg13
try.c: 0x556c88ef42a0: v4i64 = Register %vreg13
try.c: 0x556c88ea1a90: v16i32 = X86ISD::VBROADCAST 0x556c88ef3cb0
try.c: 0x556c88ef3cb0: i32,ch = load<LD4[ConstantPool]> 0x556c88e04950, 0x556c88e9f980, undef:i64
try.c: 0x556c88e9f980: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556c88eb9620: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556c88e9c270: i64 = undef
try.c: 0x556c88ef9e30: 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.c: 0x556c88ef9d00: i32 = Constant<0>
try.c: 0x556c88ef9d00: i32 = Constant<0>
try.c: 0x556c88ef9d00: i32 = Constant<0>
try.c: 0x556c88ef9d00: i32 = Constant<0>
try.c: 0x556c88ef9d00: i32 = Constant<0>
try.c: 0x556c88ef9d00: i32 = Constant<0>
try.c: 0x556c88ef9d00: i32 = Constant<0>
try.c: 0x556c88ef9d00: i32 = Constant<0>
try.c: 0x556c88ef9d00: i32 = Constant<0>
try.c: ...

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