Implementation notes: amd64, cel02, crypto_encrypt/ledapkc14sl

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_encrypt
Primitive: ledapkc14sl
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1316062455640 455176 092152 456032 1688T:portableoptgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1504321453010 455176 087955 456000 1656T:portableoptclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1652717480463 455176 0120272 456032 1720T:portableoptgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2047598255337 455176 091392 456032 1688T:portableoptgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2298226834993 455176 070215 456024 1656T:portableoptgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5144644062519 64 098761 896 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: 0x556d7eb07ab0: v4i64 = X86ISD::VTRUNC 0x556d7eb07980
try.c: 0x556d7eb07980: v16i32 = vselect 0x556d7eb18bd0, 0x556d7eab7710, 0x556d7eb07850
try.c: 0x556d7eb18bd0: v4i1 = X86ISD::PCMPGTM 0x556d7eaff850, 0x556d7eafb3e0
try.c: 0x556d7eaff850: v4i64 = X86ISD::VBROADCAST 0x556d7eacccb0
try.c: 0x556d7eacccb0: i64,ch = load<LD8[%lsr.iv6971]> 0x556d7ea10950, 0x556d7eaf3070, undef:i64
try.c: 0x556d7eaf3070: i64,ch = CopyFromReg 0x556d7ea10950, Register:i64 %vreg50
try.c: 0x556d7eafb640: i64 = Register %vreg50
try.c: 0x556d7eab5d80: i64 = undef
try.c: 0x556d7eafb3e0: v4i64,ch = CopyFromReg 0x556d7ea10950, Register:v4i64 %vreg13
try.c: 0x556d7eb000a0: v4i64 = Register %vreg13
try.c: 0x556d7eab7710: v16i32 = X86ISD::VBROADCAST 0x556d7eaffab0
try.c: 0x556d7eaffab0: i32,ch = load<LD4[ConstantPool]> 0x556d7ea10950, 0x556d7eacc290, undef:i64
try.c: 0x556d7eacc290: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556d7eae4c30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556d7eab5d80: i64 = undef
try.c: 0x556d7eb07850: 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: 0x556d7eb07720: i32 = Constant<0>
try.c: 0x556d7eb07720: i32 = Constant<0>
try.c: 0x556d7eb07720: i32 = Constant<0>
try.c: 0x556d7eb07720: i32 = Constant<0>
try.c: 0x556d7eb07720: i32 = Constant<0>
try.c: 0x556d7eb07720: i32 = Constant<0>
try.c: 0x556d7eb07720: i32 = Constant<0>
try.c: 0x556d7eb07720: i32 = Constant<0>
try.c: 0x556d7eb07720: 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: 0x5642ea81fc50: v4i64 = X86ISD::VTRUNC 0x5642ea81fb20
try.c: 0x5642ea81fb20: v16i32 = vselect 0x5642ea80dbc0, 0x5642ea7994b0, 0x5642ea81f9f0
try.c: 0x5642ea80dbc0: v4i1 = X86ISD::PCMPGTM 0x5642ea806860, 0x5642ea802630
try.c: 0x5642ea806860: v4i64 = X86ISD::VBROADCAST 0x5642ea799970
try.c: 0x5642ea799970: i64,ch = load<LD8[%lsr.iv6971]> 0x5642ea700a30, 0x5642ea7b11d0, undef:i64
try.c: 0x5642ea7b11d0: i64,ch = CopyFromReg 0x5642ea700a30, Register:i64 %vreg50
try.c: 0x5642ea802890: i64 = Register %vreg50
try.c: 0x5642ea7b6270: i64 = undef
try.c: 0x5642ea802630: v4i64,ch = CopyFromReg 0x5642ea700a30, Register:v4i64 %vreg13
try.c: 0x5642ea8070b0: v4i64 = Register %vreg13
try.c: 0x5642ea7994b0: v16i32 = X86ISD::VBROADCAST 0x5642ea806ac0
try.c: 0x5642ea806ac0: i32,ch = load<LD4[ConstantPool]> 0x5642ea700a30, 0x5642ea79be50, undef:i64
try.c: 0x5642ea79be50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5642ea7b6bf0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5642ea7b6270: i64 = undef
try.c: 0x5642ea81f9f0: 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: 0x5642ea81f8c0: i32 = Constant<0>
try.c: 0x5642ea81f8c0: i32 = Constant<0>
try.c: 0x5642ea81f8c0: i32 = Constant<0>
try.c: 0x5642ea81f8c0: i32 = Constant<0>
try.c: 0x5642ea81f8c0: i32 = Constant<0>
try.c: 0x5642ea81f8c0: i32 = Constant<0>
try.c: 0x5642ea81f8c0: i32 = Constant<0>
try.c: 0x5642ea81f8c0: i32 = Constant<0>
try.c: 0x5642ea81f8c0: 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: 0x55ea289dccd0: v4i64 = X86ISD::VTRUNC 0x55ea289dcba0
try.c: 0x55ea289dcba0: v16i32 = vselect 0x55ea289d96b0, 0x55ea2897d020, 0x55ea289dca70
try.c: 0x55ea289d96b0: v4i1 = X86ISD::PCMPGTM 0x55ea289d4a60, 0x55ea289d05f0
try.c: 0x55ea289d4a60: v4i64 = X86ISD::VBROADCAST 0x55ea2898afa0
try.c: 0x55ea2898afa0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ea288e5940, 0x55ea289c7660, undef:i64
try.c: 0x55ea289c7660: i64,ch = CopyFromReg 0x55ea288e5940, Register:i64 %vreg50
try.c: 0x55ea289d0850: i64 = Register %vreg50
try.c: 0x55ea2897b690: i64 = undef
try.c: 0x55ea289d05f0: v4i64,ch = CopyFromReg 0x55ea288e5940, Register:v4i64 %vreg13
try.c: 0x55ea289d52b0: v4i64 = Register %vreg13
try.c: 0x55ea2897d020: v16i32 = X86ISD::VBROADCAST 0x55ea289d4cc0
try.c: 0x55ea289d4cc0: i32,ch = load<LD4[ConstantPool]> 0x55ea288e5940, 0x55ea2898a580, undef:i64
try.c: 0x55ea2898a580: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ea2899c3d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ea2897b690: i64 = undef
try.c: 0x55ea289dca70: 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: 0x55ea289dc940: i32 = Constant<0>
try.c: 0x55ea289dc940: i32 = Constant<0>
try.c: 0x55ea289dc940: i32 = Constant<0>
try.c: 0x55ea289dc940: i32 = Constant<0>
try.c: 0x55ea289dc940: i32 = Constant<0>
try.c: 0x55ea289dc940: i32 = Constant<0>
try.c: 0x55ea289dc940: i32 = Constant<0>
try.c: 0x55ea289dc940: i32 = Constant<0>
try.c: 0x55ea289dc940: 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