Implementation notes: amd64, cel02, crypto_encrypt/ledapkc33sl

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_encrypt
Primitive: ledapkc33sl
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1872823052838 1173512 087755 1174336 1656T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3104071055035 1173512 091080 1174368 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3523421482743 1173512 0122576 1174368 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4628248855147 1173512 091640 1174368 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5025788434873 1173512 070111 1174360 1656T:portableoptgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6926374855146 72 091913 904 1656T:portableoptclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:portableopt
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: 0x558558116b60: v4i64 = X86ISD::VTRUNC 0x558558116a30
try.c: 0x558558116a30: v16i32 = vselect 0x558558113140, 0x5585580b6850, 0x558558116900
try.c: 0x558558113140: v4i1 = X86ISD::PCMPGTM 0x55855810f910, 0x55855810b4a0
try.c: 0x55855810f910: v4i64 = X86ISD::VBROADCAST 0x5585580b0450
try.c: 0x5585580b0450: i64,ch = load<LD8[%lsr.iv6971]> 0x558558020950, 0x5585580fac10, undef:i64
try.c: 0x5585580fac10: i64,ch = CopyFromReg 0x558558020950, Register:i64 %vreg50
try.c: 0x55855810b700: i64 = Register %vreg50
try.c: 0x5585580b1920: i64 = undef
try.c: 0x55855810b4a0: v4i64,ch = CopyFromReg 0x558558020950, Register:v4i64 %vreg13
try.c: 0x558558110160: v4i64 = Register %vreg13
try.c: 0x5585580b6850: v16i32 = X86ISD::VBROADCAST 0x55855810fb70
try.c: 0x55855810fb70: i32,ch = load<LD4[ConstantPool]> 0x558558020950, 0x5585580ba4e0, undef:i64
try.c: 0x5585580ba4e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5585580f9310: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5585580b1920: i64 = undef
try.c: 0x558558116900: 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: 0x5585581167d0: i32 = Constant<0>
try.c: 0x5585581167d0: i32 = Constant<0>
try.c: 0x5585581167d0: i32 = Constant<0>
try.c: 0x5585581167d0: i32 = Constant<0>
try.c: 0x5585581167d0: i32 = Constant<0>
try.c: 0x5585581167d0: i32 = Constant<0>
try.c: 0x5585581167d0: i32 = Constant<0>
try.c: 0x5585581167d0: i32 = Constant<0>
try.c: 0x5585581167d0: 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:portableopt

Compiler output

Implementation: T:portableopt
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: 0x55c0a4bf6530: v4i64 = X86ISD::VTRUNC 0x55c0a4bf6400
try.c: 0x55c0a4bf6400: v16i32 = vselect 0x55c0a4bf0700, 0x55c0a4b6acc0, 0x55c0a4bf62d0
try.c: 0x55c0a4bf0700: v4i1 = X86ISD::PCMPGTM 0x55c0a4bd2820, 0x55c0a4bce3b0
try.c: 0x55c0a4bd2820: v4i64 = X86ISD::VBROADCAST 0x55c0a4b6b180
try.c: 0x55c0a4b6b180: i64,ch = load<LD8[%lsr.iv6971]> 0x55c0a4acba30, 0x55c0a4b66130, undef:i64
try.c: 0x55c0a4b66130: i64,ch = CopyFromReg 0x55c0a4acba30, Register:i64 %vreg50
try.c: 0x55c0a4bce610: i64 = Register %vreg50
try.c: 0x55c0a4b6c580: i64 = undef
try.c: 0x55c0a4bce3b0: v4i64,ch = CopyFromReg 0x55c0a4acba30, Register:v4i64 %vreg13
try.c: 0x55c0a4bd3070: v4i64 = Register %vreg13
try.c: 0x55c0a4b6acc0: v16i32 = X86ISD::VBROADCAST 0x55c0a4bd2a80
try.c: 0x55c0a4bd2a80: i32,ch = load<LD4[ConstantPool]> 0x55c0a4acba30, 0x55c0a4b7ec90, undef:i64
try.c: 0x55c0a4b7ec90: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c0a4b6cf00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c0a4b6c580: i64 = undef
try.c: 0x55c0a4bf62d0: 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: 0x55c0a4bf61a0: i32 = Constant<0>
try.c: 0x55c0a4bf61a0: i32 = Constant<0>
try.c: 0x55c0a4bf61a0: i32 = Constant<0>
try.c: 0x55c0a4bf61a0: i32 = Constant<0>
try.c: 0x55c0a4bf61a0: i32 = Constant<0>
try.c: 0x55c0a4bf61a0: i32 = Constant<0>
try.c: 0x55c0a4bf61a0: i32 = Constant<0>
try.c: 0x55c0a4bf61a0: i32 = Constant<0>
try.c: 0x55c0a4bf61a0: 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:portableopt

Compiler output

Implementation: T:portableopt
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: 0x55e0c8d96fc0: v4i64 = X86ISD::VTRUNC 0x55e0c8d96e90
try.c: 0x55e0c8d96e90: v16i32 = vselect 0x55e0c8d91990, 0x55e0c8d30730, 0x55e0c8d96d60
try.c: 0x55e0c8d91990: v4i1 = X86ISD::PCMPGTM 0x55e0c8d90980, 0x55e0c8d8c510
try.c: 0x55e0c8d90980: v4i64 = X86ISD::VBROADCAST 0x55e0c8d335c0
try.c: 0x55e0c8d335c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e0c8ca1950, 0x55e0c8d583f0, undef:i64
try.c: 0x55e0c8d583f0: i64,ch = CopyFromReg 0x55e0c8ca1950, Register:i64 %vreg50
try.c: 0x55e0c8d8c770: i64 = Register %vreg50
try.c: 0x55e0c8d34a90: i64 = undef
try.c: 0x55e0c8d8c510: v4i64,ch = CopyFromReg 0x55e0c8ca1950, Register:v4i64 %vreg13
try.c: 0x55e0c8d911d0: v4i64 = Register %vreg13
try.c: 0x55e0c8d30730: v16i32 = X86ISD::VBROADCAST 0x55e0c8d90be0
try.c: 0x55e0c8d90be0: i32,ch = load<LD4[ConstantPool]> 0x55e0c8ca1950, 0x55e0c8d3fef0, undef:i64
try.c: 0x55e0c8d3fef0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e0c8d7a2b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e0c8d34a90: i64 = undef
try.c: 0x55e0c8d96d60: 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: 0x55e0c8d96c30: i32 = Constant<0>
try.c: 0x55e0c8d96c30: i32 = Constant<0>
try.c: 0x55e0c8d96c30: i32 = Constant<0>
try.c: 0x55e0c8d96c30: i32 = Constant<0>
try.c: 0x55e0c8d96c30: i32 = Constant<0>
try.c: 0x55e0c8d96c30: i32 = Constant<0>
try.c: 0x55e0c8d96c30: i32 = Constant<0>
try.c: 0x55e0c8d96c30: i32 = Constant<0>
try.c: 0x55e0c8d96c30: 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:portableopt