Implementation notes: amd64, cel02, crypto_kem/ntrukem443

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ntrukem443
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
55964618627 290 416056615 1160 5736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
294488411962 290 416048145 1152 5736T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
299470213316 290 416451022 1184 5800T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
316142824986 290 416465926 1184 5832T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
322537810483 290 416446544 1176 5768T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
361487212772 290 416450046 1184 5800T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:ref
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: 0x555dfc6dab50: v4i64 = X86ISD::VTRUNC 0x555dfc6daa20
try.c: 0x555dfc6daa20: v16i32 = vselect 0x555dfc6d8a40, 0x555dfc68e4d0, 0x555dfc6da8f0
try.c: 0x555dfc6d8a40: v4i1 = X86ISD::PCMPGTM 0x555dfc6d5a20, 0x555dfc6d15b0
try.c: 0x555dfc6d5a20: v4i64 = X86ISD::VBROADCAST 0x555dfc67cac0
try.c: 0x555dfc67cac0: i64,ch = load<LD8[%lsr.iv6971]> 0x555dfc5e69e0, 0x555dfc6cc410, undef:i64
try.c: 0x555dfc6cc410: i64,ch = CopyFromReg 0x555dfc5e69e0, Register:i64 %vreg50
try.c: 0x555dfc6d1810: i64 = Register %vreg50
try.c: 0x555dfc67df90: i64 = undef
try.c: 0x555dfc6d15b0: v4i64,ch = CopyFromReg 0x555dfc5e69e0, Register:v4i64 %vreg13
try.c: 0x555dfc6d6270: v4i64 = Register %vreg13
try.c: 0x555dfc68e4d0: v16i32 = X86ISD::VBROADCAST 0x555dfc6d5c80
try.c: 0x555dfc6d5c80: i32,ch = load<LD4[ConstantPool]> 0x555dfc5e69e0, 0x555dfc67c0a0, undef:i64
try.c: 0x555dfc67c0a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555dfc677450: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555dfc67df90: i64 = undef
try.c: 0x555dfc6da8f0: 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: 0x555dfc6da7c0: i32 = Constant<0>
try.c: 0x555dfc6da7c0: i32 = Constant<0>
try.c: 0x555dfc6da7c0: i32 = Constant<0>
try.c: 0x555dfc6da7c0: i32 = Constant<0>
try.c: 0x555dfc6da7c0: i32 = Constant<0>
try.c: 0x555dfc6da7c0: i32 = Constant<0>
try.c: 0x555dfc6da7c0: i32 = Constant<0>
try.c: 0x555dfc6da7c0: i32 = Constant<0>
try.c: 0x555dfc6da7c0: 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:ref

Compiler output

Implementation: T:ref
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: 0x55fa91b20100: v4i64 = X86ISD::VTRUNC 0x55fa91b1ffd0
try.c: 0x55fa91b1ffd0: v16i32 = vselect 0x55fa91b01b20, 0x55fa91aaad50, 0x55fa91b1fea0
try.c: 0x55fa91b01b20: v4i1 = X86ISD::PCMPGTM 0x55fa91afab00, 0x55fa91af8620
try.c: 0x55fa91afab00: v4i64 = X86ISD::VBROADCAST 0x55fa91aab210
try.c: 0x55fa91aab210: i64,ch = load<LD8[%lsr.iv6971]> 0x55fa919f5a30, 0x55fa91a96aa0, undef:i64
try.c: 0x55fa91a96aa0: i64,ch = CopyFromReg 0x55fa919f5a30, Register:i64 %vreg50
try.c: 0x55fa91af8880: i64 = Register %vreg50
try.c: 0x55fa91aa5cb0: i64 = undef
try.c: 0x55fa91af8620: v4i64,ch = CopyFromReg 0x55fa919f5a30, Register:v4i64 %vreg13
try.c: 0x55fa91afb350: v4i64 = Register %vreg13
try.c: 0x55fa91aaad50: v16i32 = X86ISD::VBROADCAST 0x55fa91afad60
try.c: 0x55fa91afad60: i32,ch = load<LD4[ConstantPool]> 0x55fa919f5a30, 0x55fa91a94d90, undef:i64
try.c: 0x55fa91a94d90: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fa91aa6630: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fa91aa5cb0: i64 = undef
try.c: 0x55fa91b1fea0: 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: 0x55fa91b1fd70: i32 = Constant<0>
try.c: 0x55fa91b1fd70: i32 = Constant<0>
try.c: 0x55fa91b1fd70: i32 = Constant<0>
try.c: 0x55fa91b1fd70: i32 = Constant<0>
try.c: 0x55fa91b1fd70: i32 = Constant<0>
try.c: 0x55fa91b1fd70: i32 = Constant<0>
try.c: 0x55fa91b1fd70: i32 = Constant<0>
try.c: 0x55fa91b1fd70: i32 = Constant<0>
try.c: 0x55fa91b1fd70: 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:ref

Compiler output

Implementation: T:ref
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: 0x55e25b384b60: v4i64 = X86ISD::VTRUNC 0x55e25b384a30
try.c: 0x55e25b384a30: v16i32 = vselect 0x55e25b381540, 0x55e25b324430, 0x55e25b384900
try.c: 0x55e25b381540: v4i1 = X86ISD::PCMPGTM 0x55e25b37c8f0, 0x55e25b378480
try.c: 0x55e25b37c8f0: v4i64 = X86ISD::VBROADCAST 0x55e25b31d740
try.c: 0x55e25b31d740: i64,ch = load<LD8[%lsr.iv6971]> 0x55e25b28d950, 0x55e25b3291a0, undef:i64
try.c: 0x55e25b3291a0: i64,ch = CopyFromReg 0x55e25b28d950, Register:i64 %vreg50
try.c: 0x55e25b3786e0: i64 = Register %vreg50
try.c: 0x55e25b322aa0: i64 = undef
try.c: 0x55e25b378480: v4i64,ch = CopyFromReg 0x55e25b28d950, Register:v4i64 %vreg13
try.c: 0x55e25b37d140: v4i64 = Register %vreg13
try.c: 0x55e25b324430: v16i32 = X86ISD::VBROADCAST 0x55e25b37cb50
try.c: 0x55e25b37cb50: i32,ch = load<LD4[ConstantPool]> 0x55e25b28d950, 0x55e25b31cd20, undef:i64
try.c: 0x55e25b31cd20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e25b360c60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e25b322aa0: i64 = undef
try.c: 0x55e25b384900: 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: 0x55e25b3847d0: i32 = Constant<0>
try.c: 0x55e25b3847d0: i32 = Constant<0>
try.c: 0x55e25b3847d0: i32 = Constant<0>
try.c: 0x55e25b3847d0: i32 = Constant<0>
try.c: 0x55e25b3847d0: i32 = Constant<0>
try.c: 0x55e25b3847d0: i32 = Constant<0>
try.c: 0x55e25b3847d0: i32 = Constant<0>
try.c: 0x55e25b3847d0: i32 = Constant<0>
try.c: 0x55e25b3847d0: 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:ref