Implementation notes: amd64, cel02, crypto_kem/ntrulpr761

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ntrulpr761
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1820242185 0 067837 896 1608T:factoredgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
25506010421 0 079573 896 1640T:factoredgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2748042352 0 066884 864 1576T:factoredclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2754925434 0 071674 872 1576T:factoredclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2763262101 0 066493 888 1576T:factoredgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2886422375 0 068405 896 1608T:factoredgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
20413934216021 0 057061 896 1640T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
22734756011572 0 049626 872 1576T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2342754745025 0 041436 864 1576T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2553055065448 0 042973 896 1608T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2788876705734 0 043645 896 1608T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2941032225050 0 041373 888 1576T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:factored
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: 0x562b91edfec0: v4i64 = X86ISD::VTRUNC 0x562b91edfd90
try.c: 0x562b91edfd90: v16i32 = vselect 0x562b91ef8450, 0x562b91e7d770, 0x562b91edfc60
try.c: 0x562b91ef8450: v4i1 = X86ISD::PCMPGTM 0x562b91eda890, 0x562b91ed6420
try.c: 0x562b91eda890: v4i64 = X86ISD::VBROADCAST 0x562b91e859b0
try.c: 0x562b91e859b0: i64,ch = load<LD8[%lsr.iv6971]> 0x562b91deb950, 0x562b91ec1990, undef:i64
try.c: 0x562b91ec1990: i64,ch = CopyFromReg 0x562b91deb950, Register:i64 %vreg50
try.c: 0x562b91ed6680: i64 = Register %vreg50
try.c: 0x562b91e7bde0: i64 = undef
try.c: 0x562b91ed6420: v4i64,ch = CopyFromReg 0x562b91deb950, Register:v4i64 %vreg13
try.c: 0x562b91edb0e0: v4i64 = Register %vreg13
try.c: 0x562b91e7d770: v16i32 = X86ISD::VBROADCAST 0x562b91edaaf0
try.c: 0x562b91edaaf0: i32,ch = load<LD4[ConstantPool]> 0x562b91deb950, 0x562b91e84f90, undef:i64
try.c: 0x562b91e84f90: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562b91e96830: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562b91e7bde0: i64 = undef
try.c: 0x562b91edfc60: 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: 0x562b91edfb30: i32 = Constant<0>
try.c: 0x562b91edfb30: i32 = Constant<0>
try.c: 0x562b91edfb30: i32 = Constant<0>
try.c: 0x562b91edfb30: i32 = Constant<0>
try.c: 0x562b91edfb30: i32 = Constant<0>
try.c: 0x562b91edfb30: i32 = Constant<0>
try.c: 0x562b91edfb30: i32 = Constant<0>
try.c: 0x562b91edfb30: i32 = Constant<0>
try.c: 0x562b91edfb30: 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:factored

Compiler output

Implementation: T:factored
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: 0x559d7a1f9e40: v4i64 = X86ISD::VTRUNC 0x559d7a1f9d10
try.c: 0x559d7a1f9d10: v16i32 = vselect 0x559d7a1e8e40, 0x559d7a176420, 0x559d7a1f9be0
try.c: 0x559d7a1e8e40: v4i1 = X86ISD::PCMPGTM 0x559d7a1e0e90, 0x559d7a1dca20
try.c: 0x559d7a1e0e90: v4i64 = X86ISD::VBROADCAST 0x559d7a1768e0
try.c: 0x559d7a1768e0: i64,ch = load<LD8[%lsr.iv6971]> 0x559d7a0daa30, 0x559d7a183670, undef:i64
try.c: 0x559d7a183670: i64,ch = CopyFromReg 0x559d7a0daa30, Register:i64 %vreg50
try.c: 0x559d7a1dcc80: i64 = Register %vreg50
try.c: 0x559d7a1902c0: i64 = undef
try.c: 0x559d7a1dca20: v4i64,ch = CopyFromReg 0x559d7a0daa30, Register:v4i64 %vreg13
try.c: 0x559d7a1e16e0: v4i64 = Register %vreg13
try.c: 0x559d7a176420: v16i32 = X86ISD::VBROADCAST 0x559d7a1e10f0
try.c: 0x559d7a1e10f0: i32,ch = load<LD4[ConstantPool]> 0x559d7a0daa30, 0x559d7a181c40, undef:i64
try.c: 0x559d7a181c40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559d7a190c40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559d7a1902c0: i64 = undef
try.c: 0x559d7a1f9be0: 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: 0x559d7a1f9ab0: i32 = Constant<0>
try.c: 0x559d7a1f9ab0: i32 = Constant<0>
try.c: 0x559d7a1f9ab0: i32 = Constant<0>
try.c: 0x559d7a1f9ab0: i32 = Constant<0>
try.c: 0x559d7a1f9ab0: i32 = Constant<0>
try.c: 0x559d7a1f9ab0: i32 = Constant<0>
try.c: 0x559d7a1f9ab0: i32 = Constant<0>
try.c: 0x559d7a1f9ab0: i32 = Constant<0>
try.c: 0x559d7a1f9ab0: 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:factored

Compiler output

Implementation: T:factored
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: 0x5642557ac320: v4i64 = X86ISD::VTRUNC 0x5642557ac1f0
try.c: 0x5642557ac1f0: v16i32 = vselect 0x5642557a8d00, 0x564255738d30, 0x5642557ac0c0
try.c: 0x5642557a8d00: v4i1 = X86ISD::PCMPGTM 0x564255791990, 0x56425578d520
try.c: 0x564255791990: v4i64 = X86ISD::VBROADCAST 0x564255731ac0
try.c: 0x564255731ac0: i64,ch = load<LD8[%lsr.iv6971]> 0x5642556a2930, 0x56425577d0b0, undef:i64
try.c: 0x56425577d0b0: i64,ch = CopyFromReg 0x5642556a2930, Register:i64 %vreg50
try.c: 0x56425578d780: i64 = Register %vreg50
try.c: 0x564255732f90: i64 = undef
try.c: 0x56425578d520: v4i64,ch = CopyFromReg 0x5642556a2930, Register:v4i64 %vreg13
try.c: 0x5642557921e0: v4i64 = Register %vreg13
try.c: 0x564255738d30: v16i32 = X86ISD::VBROADCAST 0x564255791bf0
try.c: 0x564255791bf0: i32,ch = load<LD4[ConstantPool]> 0x5642556a2930, 0x56425573c850, undef:i64
try.c: 0x56425573c850: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56425577b790: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564255732f90: i64 = undef
try.c: 0x5642557ac0c0: 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: 0x5642557abf90: i32 = Constant<0>
try.c: 0x5642557abf90: i32 = Constant<0>
try.c: 0x5642557abf90: i32 = Constant<0>
try.c: 0x5642557abf90: i32 = Constant<0>
try.c: 0x5642557abf90: i32 = Constant<0>
try.c: 0x5642557abf90: i32 = Constant<0>
try.c: 0x5642557abf90: i32 = Constant<0>
try.c: 0x5642557abf90: i32 = Constant<0>
try.c: 0x5642557abf90: 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:factored

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: 0x5612a18650f0: v4i64 = X86ISD::VTRUNC 0x5612a1864fc0
try.c: 0x5612a1864fc0: v16i32 = vselect 0x5612a1861ad0, 0x5612a17f2080, 0x5612a1864e90
try.c: 0x5612a1861ad0: v4i1 = X86ISD::PCMPGTM 0x5612a184a760, 0x5612a18462f0
try.c: 0x5612a184a760: v4i64 = X86ISD::VBROADCAST 0x5612a17f4670
try.c: 0x5612a17f4670: i64,ch = load<LD8[%lsr.iv6971]> 0x5612a175b950, 0x5612a18344d0, undef:i64
try.c: 0x5612a18344d0: i64,ch = CopyFromReg 0x5612a175b950, Register:i64 %vreg50
try.c: 0x5612a1846550: i64 = Register %vreg50
try.c: 0x5612a17f06f0: i64 = undef
try.c: 0x5612a18462f0: v4i64,ch = CopyFromReg 0x5612a175b950, Register:v4i64 %vreg13
try.c: 0x5612a184afb0: v4i64 = Register %vreg13
try.c: 0x5612a17f2080: v16i32 = X86ISD::VBROADCAST 0x5612a184a9c0
try.c: 0x5612a184a9c0: i32,ch = load<LD4[ConstantPool]> 0x5612a175b950, 0x5612a17f3c50, undef:i64
try.c: 0x5612a17f3c50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5612a17f8380: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5612a17f06f0: i64 = undef
try.c: 0x5612a1864e90: 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: 0x5612a1864d60: i32 = Constant<0>
try.c: 0x5612a1864d60: i32 = Constant<0>
try.c: 0x5612a1864d60: i32 = Constant<0>
try.c: 0x5612a1864d60: i32 = Constant<0>
try.c: 0x5612a1864d60: i32 = Constant<0>
try.c: 0x5612a1864d60: i32 = Constant<0>
try.c: 0x5612a1864d60: i32 = Constant<0>
try.c: 0x5612a1864d60: i32 = Constant<0>
try.c: 0x5612a1864d60: 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: 0x564462b70660: v4i64 = X86ISD::VTRUNC 0x564462b70530
try.c: 0x564462b70530: v16i32 = vselect 0x564462b6d040, 0x564462aefd50, 0x564462b70400
try.c: 0x564462b6d040: v4i1 = X86ISD::PCMPGTM 0x564462b58260, 0x564462b54030
try.c: 0x564462b58260: v4i64 = X86ISD::VBROADCAST 0x564462af0210
try.c: 0x564462af0210: i64,ch = load<LD8[%lsr.iv6971]> 0x564462a52a30, 0x564462aee4b0, undef:i64
try.c: 0x564462aee4b0: i64,ch = CopyFromReg 0x564462a52a30, Register:i64 %vreg50
try.c: 0x564462b54290: i64 = Register %vreg50
try.c: 0x564462b022e0: i64 = undef
try.c: 0x564462b54030: v4i64,ch = CopyFromReg 0x564462a52a30, Register:v4i64 %vreg13
try.c: 0x564462b58ab0: v4i64 = Register %vreg13
try.c: 0x564462aefd50: v16i32 = X86ISD::VBROADCAST 0x564462b584c0
try.c: 0x564462b584c0: i32,ch = load<LD4[ConstantPool]> 0x564462a52a30, 0x564462aeca80, undef:i64
try.c: 0x564462aeca80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564462b02c60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564462b022e0: i64 = undef
try.c: 0x564462b70400: 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: 0x564462b702d0: i32 = Constant<0>
try.c: 0x564462b702d0: i32 = Constant<0>
try.c: 0x564462b702d0: i32 = Constant<0>
try.c: 0x564462b702d0: i32 = Constant<0>
try.c: 0x564462b702d0: i32 = Constant<0>
try.c: 0x564462b702d0: i32 = Constant<0>
try.c: 0x564462b702d0: i32 = Constant<0>
try.c: 0x564462b702d0: i32 = Constant<0>
try.c: 0x564462b702d0: 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: 0x555ca24fbb10: v4i64 = X86ISD::VTRUNC 0x555ca24fb9e0
try.c: 0x555ca24fb9e0: v16i32 = vselect 0x555ca24f84f0, 0x555ca24963f0, 0x555ca24fb8b0
try.c: 0x555ca24f84f0: v4i1 = X86ISD::PCMPGTM 0x555ca24f39b0, 0x555ca24ef540
try.c: 0x555ca24f39b0: v4i64 = X86ISD::VBROADCAST 0x555ca2493590
try.c: 0x555ca2493590: i64,ch = load<LD8[%lsr.iv6971]> 0x555ca2404950, 0x555ca24dd730, undef:i64
try.c: 0x555ca24dd730: i64,ch = CopyFromReg 0x555ca2404950, Register:i64 %vreg50
try.c: 0x555ca24ef7a0: i64 = Register %vreg50
try.c: 0x555ca2494a60: i64 = undef
try.c: 0x555ca24ef540: v4i64,ch = CopyFromReg 0x555ca2404950, Register:v4i64 %vreg13
try.c: 0x555ca24f4200: v4i64 = Register %vreg13
try.c: 0x555ca24963f0: v16i32 = X86ISD::VBROADCAST 0x555ca24f3c10
try.c: 0x555ca24f3c10: i32,ch = load<LD4[ConstantPool]> 0x555ca2404950, 0x555ca24bc900, undef:i64
try.c: 0x555ca24bc900: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555ca24de930: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555ca2494a60: i64 = undef
try.c: 0x555ca24fb8b0: 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: 0x555ca24fb780: i32 = Constant<0>
try.c: 0x555ca24fb780: i32 = Constant<0>
try.c: 0x555ca24fb780: i32 = Constant<0>
try.c: 0x555ca24fb780: i32 = Constant<0>
try.c: 0x555ca24fb780: i32 = Constant<0>
try.c: 0x555ca24fb780: i32 = Constant<0>
try.c: 0x555ca24fb780: i32 = Constant<0>
try.c: 0x555ca24fb780: i32 = Constant<0>
try.c: 0x555ca24fb780: 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