Implementation notes: amd64, cel02, crypto_kem/ntrulpr857

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ntrulpr857
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
19878810613 0 079845 896 1640T:factoredgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2109662322 0 066916 864 1576T:factoredclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3275984986 0 071282 872 1576T:factoredclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3493322158 0 067901 896 1608T:factoredgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3494282359 0 068469 896 1608T:factoredgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3516802077 0 066541 888 1576T:factoredgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2389809928164 0 046218 872 1576T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
25715195817541 0 058597 896 1640T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2892513585144 0 041548 864 1576T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3108198705734 0 043661 896 1608T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3298318445448 0 042989 896 1608T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3670276585048 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: 0x5647800910d0: v4i64 = X86ISD::VTRUNC 0x564780090fa0
try.c: 0x564780090fa0: v16i32 = vselect 0x56478008baa0, 0x56478002ffd0, 0x564780090e70
try.c: 0x56478008baa0: v4i1 = X86ISD::PCMPGTM 0x564780074730, 0x5647800702c0
try.c: 0x564780074730: v4i64 = X86ISD::VBROADCAST 0x564780021b70
try.c: 0x564780021b70: i64,ch = load<LD8[%lsr.iv6971]> 0x56477ff859a0, 0x56478006b120, undef:i64
try.c: 0x56478006b120: i64,ch = CopyFromReg 0x56477ff859a0, Register:i64 %vreg50
try.c: 0x564780070520: i64 = Register %vreg50
try.c: 0x564780023040: i64 = undef
try.c: 0x5647800702c0: v4i64,ch = CopyFromReg 0x56477ff859a0, Register:v4i64 %vreg13
try.c: 0x564780074f80: v4i64 = Register %vreg13
try.c: 0x56478002ffd0: v16i32 = X86ISD::VBROADCAST 0x564780074990
try.c: 0x564780074990: i32,ch = load<LD4[ConstantPool]> 0x56477ff859a0, 0x56477ffff760, undef:i64
try.c: 0x56477ffff760: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564780055760: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564780023040: i64 = undef
try.c: 0x564780090e70: 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: 0x564780090d40: i32 = Constant<0>
try.c: 0x564780090d40: i32 = Constant<0>
try.c: 0x564780090d40: i32 = Constant<0>
try.c: 0x564780090d40: i32 = Constant<0>
try.c: 0x564780090d40: i32 = Constant<0>
try.c: 0x564780090d40: i32 = Constant<0>
try.c: 0x564780090d40: i32 = Constant<0>
try.c: 0x564780090d40: i32 = Constant<0>
try.c: 0x564780090d40: 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: 0x55d54a4c6770: v4i64 = X86ISD::VTRUNC 0x55d54a4c6640
try.c: 0x55d54a4c6640: v16i32 = vselect 0x55d54a4c8a00, 0x55d54a4464b0, 0x55d54a4c6510
try.c: 0x55d54a4c8a00: v4i1 = X86ISD::PCMPGTM 0x55d54a4ace00, 0x55d54a4aa920
try.c: 0x55d54a4ace00: v4i64 = X86ISD::VBROADCAST 0x55d54a446970
try.c: 0x55d54a446970: i64,ch = load<LD8[%lsr.iv6971]> 0x55d54a3a7a30, 0x55d54a45e190, undef:i64
try.c: 0x55d54a45e190: i64,ch = CopyFromReg 0x55d54a3a7a30, Register:i64 %vreg50
try.c: 0x55d54a4aab80: i64 = Register %vreg50
try.c: 0x55d54a424630: i64 = undef
try.c: 0x55d54a4aa920: v4i64,ch = CopyFromReg 0x55d54a3a7a30, Register:v4i64 %vreg13
try.c: 0x55d54a4ad650: v4i64 = Register %vreg13
try.c: 0x55d54a4464b0: v16i32 = X86ISD::VBROADCAST 0x55d54a4ad060
try.c: 0x55d54a4ad060: i32,ch = load<LD4[ConstantPool]> 0x55d54a3a7a30, 0x55d54a45c760, undef:i64
try.c: 0x55d54a45c760: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d54a424fb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d54a424630: i64 = undef
try.c: 0x55d54a4c6510: 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: 0x55d54a4c63e0: i32 = Constant<0>
try.c: 0x55d54a4c63e0: i32 = Constant<0>
try.c: 0x55d54a4c63e0: i32 = Constant<0>
try.c: 0x55d54a4c63e0: i32 = Constant<0>
try.c: 0x55d54a4c63e0: i32 = Constant<0>
try.c: 0x55d54a4c63e0: i32 = Constant<0>
try.c: 0x55d54a4c63e0: i32 = Constant<0>
try.c: 0x55d54a4c63e0: i32 = Constant<0>
try.c: 0x55d54a4c63e0: 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: 0x55b1aff8cc70: v4i64 = X86ISD::VTRUNC 0x55b1aff8cb40
try.c: 0x55b1aff8cb40: v16i32 = vselect 0x55b1aff89650, 0x55b1aff33db0, 0x55b1aff8ca10
try.c: 0x55b1aff89650: v4i1 = X86ISD::PCMPGTM 0x55b1aff84a00, 0x55b1aff80590
try.c: 0x55b1aff84a00: v4i64 = X86ISD::VBROADCAST 0x55b1aff30f50
try.c: 0x55b1aff30f50: i64,ch = load<LD8[%lsr.iv6971]> 0x55b1afe95950, 0x55b1aff7b3f0, undef:i64
try.c: 0x55b1aff7b3f0: i64,ch = CopyFromReg 0x55b1afe95950, Register:i64 %vreg50
try.c: 0x55b1aff807f0: i64 = Register %vreg50
try.c: 0x55b1aff32420: i64 = undef
try.c: 0x55b1aff80590: v4i64,ch = CopyFromReg 0x55b1afe95950, Register:v4i64 %vreg13
try.c: 0x55b1aff85250: v4i64 = Register %vreg13
try.c: 0x55b1aff33db0: v16i32 = X86ISD::VBROADCAST 0x55b1aff84c60
try.c: 0x55b1aff84c60: i32,ch = load<LD4[ConstantPool]> 0x55b1afe95950, 0x55b1aff25020, undef:i64
try.c: 0x55b1aff25020: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b1aff699a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b1aff32420: i64 = undef
try.c: 0x55b1aff8ca10: 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: 0x55b1aff8c8e0: i32 = Constant<0>
try.c: 0x55b1aff8c8e0: i32 = Constant<0>
try.c: 0x55b1aff8c8e0: i32 = Constant<0>
try.c: 0x55b1aff8c8e0: i32 = Constant<0>
try.c: 0x55b1aff8c8e0: i32 = Constant<0>
try.c: 0x55b1aff8c8e0: i32 = Constant<0>
try.c: 0x55b1aff8c8e0: i32 = Constant<0>
try.c: 0x55b1aff8c8e0: i32 = Constant<0>
try.c: 0x55b1aff8c8e0: 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: 0x561978e09be0: v4i64 = X86ISD::VTRUNC 0x561978e09ab0
try.c: 0x561978e09ab0: v16i32 = vselect 0x561978e04c30, 0x561978da8950, 0x561978e09980
try.c: 0x561978e04c30: v4i1 = X86ISD::PCMPGTM 0x561978e01c00, 0x561978dfd790
try.c: 0x561978e01c00: v4i64 = X86ISD::VBROADCAST 0x561978dae260
try.c: 0x561978dae260: i64,ch = load<LD8[%lsr.iv6971]> 0x561978d12950, 0x561978debe50, undef:i64
try.c: 0x561978debe50: i64,ch = CopyFromReg 0x561978d12950, Register:i64 %vreg50
try.c: 0x561978dfd9f0: i64 = Register %vreg50
try.c: 0x561978daf730: i64 = undef
try.c: 0x561978dfd790: v4i64,ch = CopyFromReg 0x561978d12950, Register:v4i64 %vreg13
try.c: 0x561978e02450: v4i64 = Register %vreg13
try.c: 0x561978da8950: v16i32 = X86ISD::VBROADCAST 0x561978e01e60
try.c: 0x561978e01e60: i32,ch = load<LD4[ConstantPool]> 0x561978d12950, 0x561978dad840, undef:i64
try.c: 0x561978dad840: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561978ded050: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561978daf730: i64 = undef
try.c: 0x561978e09980: 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: 0x561978e09850: i32 = Constant<0>
try.c: 0x561978e09850: i32 = Constant<0>
try.c: 0x561978e09850: i32 = Constant<0>
try.c: 0x561978e09850: i32 = Constant<0>
try.c: 0x561978e09850: i32 = Constant<0>
try.c: 0x561978e09850: i32 = Constant<0>
try.c: 0x561978e09850: i32 = Constant<0>
try.c: 0x561978e09850: i32 = Constant<0>
try.c: 0x561978e09850: 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: 0x558785970ce0: v4i64 = X86ISD::VTRUNC 0x558785970bb0
try.c: 0x558785970bb0: v16i32 = vselect 0x558785959760, 0x5587858f79f0, 0x558785970a80
try.c: 0x558785959760: v4i1 = X86ISD::PCMPGTM 0x558785956730, 0x5587859522c0
try.c: 0x558785956730: v4i64 = X86ISD::VBROADCAST 0x5587858f7eb0
try.c: 0x5587858f7eb0: i64,ch = load<LD8[%lsr.iv6971]> 0x55878584fa30, 0x558785902710, undef:i64
try.c: 0x558785902710: i64,ch = CopyFromReg 0x55878584fa30, Register:i64 %vreg50
try.c: 0x558785952520: i64 = Register %vreg50
try.c: 0x5587858ff1c0: i64 = undef
try.c: 0x5587859522c0: v4i64,ch = CopyFromReg 0x55878584fa30, Register:v4i64 %vreg13
try.c: 0x558785956f80: v4i64 = Register %vreg13
try.c: 0x5587858f79f0: v16i32 = X86ISD::VBROADCAST 0x558785956990
try.c: 0x558785956990: i32,ch = load<LD4[ConstantPool]> 0x55878584fa30, 0x5587858ea690, undef:i64
try.c: 0x5587858ea690: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5587858ffb40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5587858ff1c0: i64 = undef
try.c: 0x558785970a80: 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: 0x558785970950: i32 = Constant<0>
try.c: 0x558785970950: i32 = Constant<0>
try.c: 0x558785970950: i32 = Constant<0>
try.c: 0x558785970950: i32 = Constant<0>
try.c: 0x558785970950: i32 = Constant<0>
try.c: 0x558785970950: i32 = Constant<0>
try.c: 0x558785970950: i32 = Constant<0>
try.c: 0x558785970950: i32 = Constant<0>
try.c: 0x558785970950: 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: 0x55fd2948b170: v4i64 = X86ISD::VTRUNC 0x55fd2948b040
try.c: 0x55fd2948b040: v16i32 = vselect 0x55fd29491610, 0x55fd2941dc40, 0x55fd2948af10
try.c: 0x55fd29491610: v4i1 = X86ISD::PCMPGTM 0x55fd29470970, 0x55fd2946c740
try.c: 0x55fd29470970: v4i64 = X86ISD::VBROADCAST 0x55fd29414fb0
try.c: 0x55fd29414fb0: i64,ch = load<LD8[%lsr.iv6971]> 0x55fd29382940, 0x55fd2945f540, undef:i64
try.c: 0x55fd2945f540: i64,ch = CopyFromReg 0x55fd29382940, Register:i64 %vreg50
try.c: 0x55fd2946c9a0: i64 = Register %vreg50
try.c: 0x55fd29416480: i64 = undef
try.c: 0x55fd2946c740: v4i64,ch = CopyFromReg 0x55fd29382940, Register:v4i64 %vreg13
try.c: 0x55fd294711c0: v4i64 = Register %vreg13
try.c: 0x55fd2941dc40: v16i32 = X86ISD::VBROADCAST 0x55fd29470bd0
try.c: 0x55fd29470bd0: i32,ch = load<LD4[ConstantPool]> 0x55fd29382940, 0x55fd29419700, undef:i64
try.c: 0x55fd29419700: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fd29469e30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fd29416480: i64 = undef
try.c: 0x55fd2948af10: 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: 0x55fd2948ade0: i32 = Constant<0>
try.c: 0x55fd2948ade0: i32 = Constant<0>
try.c: 0x55fd2948ade0: i32 = Constant<0>
try.c: 0x55fd2948ade0: i32 = Constant<0>
try.c: 0x55fd2948ade0: i32 = Constant<0>
try.c: 0x55fd2948ade0: i32 = Constant<0>
try.c: 0x55fd2948ade0: i32 = Constant<0>
try.c: 0x55fd2948ade0: i32 = Constant<0>
try.c: 0x55fd2948ade0: 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