Implementation notes: amd64, cel02, crypto_kem/ntrulpr4591761

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: ntrulpr4591761
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
21040413352 0 048917 888 1576T:avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
30357030202 0 070581 896 1640T:avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
32329613998 0 051197 896 1608T:avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
33307413624 0 050357 896 1608T:avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
34822613749 0 049428 864 1576T:avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
548173223908 0 041117 896 1608T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
551979266591 0 043994 872 1576T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
553086303398 0 038933 888 1576T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
555662903974 0 039660 864 1576T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5560781423087 0 063485 896 1640T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
622101343885 0 040661 896 1608T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:avx
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: 0x5651b478f260: v4i64 = X86ISD::VTRUNC 0x5651b478f130
try.c: 0x5651b478f130: v16i32 = vselect 0x5651b477a930, 0x5651b4731ef0, 0x5651b478f000
try.c: 0x5651b477a930: v4i1 = X86ISD::PCMPGTM 0x5651b4777900, 0x5651b4773490
try.c: 0x5651b4777900: v4i64 = X86ISD::VBROADCAST 0x5651b4717320
try.c: 0x5651b4717320: i64,ch = load<LD8[%lsr.iv6971]> 0x5651b4688920, 0x5651b47631e0, undef:i64
try.c: 0x5651b47631e0: i64,ch = CopyFromReg 0x5651b4688920, Register:i64 %vreg50
try.c: 0x5651b47736f0: i64 = Register %vreg50
try.c: 0x5651b47187f0: i64 = undef
try.c: 0x5651b4773490: v4i64,ch = CopyFromReg 0x5651b4688920, Register:v4i64 %vreg13
try.c: 0x5651b4778150: v4i64 = Register %vreg13
try.c: 0x5651b4731ef0: v16i32 = X86ISD::VBROADCAST 0x5651b4777b60
try.c: 0x5651b4777b60: i32,ch = load<LD4[ConstantPool]> 0x5651b4688920, 0x5651b471bb60, undef:i64
try.c: 0x5651b471bb60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5651b475d370: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5651b47187f0: i64 = undef
try.c: 0x5651b478f000: 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: 0x5651b478eed0: i32 = Constant<0>
try.c: 0x5651b478eed0: i32 = Constant<0>
try.c: 0x5651b478eed0: i32 = Constant<0>
try.c: 0x5651b478eed0: i32 = Constant<0>
try.c: 0x5651b478eed0: i32 = Constant<0>
try.c: 0x5651b478eed0: i32 = Constant<0>
try.c: 0x5651b478eed0: i32 = Constant<0>
try.c: 0x5651b478eed0: i32 = Constant<0>
try.c: 0x5651b478eed0: 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:avx

Compiler output

Implementation: T:avx
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: 0x560588fb58c0: v4i64 = X86ISD::VTRUNC 0x560588fb5790
try.c: 0x560588fb5790: v16i32 = vselect 0x560588fbce00, 0x560588f37080, 0x560588fb5660
try.c: 0x560588fbce00: v4i1 = X86ISD::PCMPGTM 0x560588f9e180, 0x560588f99700
try.c: 0x560588f9e180: v4i64 = X86ISD::VBROADCAST 0x560588f37540
try.c: 0x560588f37540: i64,ch = load<LD8[%lsr.iv6971]> 0x560588e97a30, 0x560588f3d590, undef:i64
try.c: 0x560588f3d590: i64,ch = CopyFromReg 0x560588e97a30, Register:i64 %vreg50
try.c: 0x560588f99960: i64 = Register %vreg50
try.c: 0x560588f4d370: i64 = undef
try.c: 0x560588f99700: v4i64,ch = CopyFromReg 0x560588e97a30, Register:v4i64 %vreg13
try.c: 0x560588f9e9d0: v4i64 = Register %vreg13
try.c: 0x560588f37080: v16i32 = X86ISD::VBROADCAST 0x560588f9e3e0
try.c: 0x560588f9e3e0: i32,ch = load<LD4[ConstantPool]> 0x560588e97a30, 0x560588f39fa0, undef:i64
try.c: 0x560588f39fa0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560588f4dcf0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560588f4d370: i64 = undef
try.c: 0x560588fb5660: 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: 0x560588fb5530: i32 = Constant<0>
try.c: 0x560588fb5530: i32 = Constant<0>
try.c: 0x560588fb5530: i32 = Constant<0>
try.c: 0x560588fb5530: i32 = Constant<0>
try.c: 0x560588fb5530: i32 = Constant<0>
try.c: 0x560588fb5530: i32 = Constant<0>
try.c: 0x560588fb5530: i32 = Constant<0>
try.c: 0x560588fb5530: i32 = Constant<0>
try.c: 0x560588fb5530: 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:avx

Compiler output

Implementation: T:avx
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: 0x556790d33530: v4i64 = X86ISD::VTRUNC 0x556790d33400
try.c: 0x556790d33400: v16i32 = vselect 0x556790d1ec00, 0x556790cc08c0, 0x556790d332d0
try.c: 0x556790d1ec00: v4i1 = X86ISD::PCMPGTM 0x556790d1bbd0, 0x556790d17760
try.c: 0x556790d1bbd0: v4i64 = X86ISD::VBROADCAST 0x556790ce2680
try.c: 0x556790ce2680: i64,ch = load<LD8[%lsr.iv6971]> 0x556790c2c910, 0x556790d06300, undef:i64
try.c: 0x556790d06300: i64,ch = CopyFromReg 0x556790c2c910, Register:i64 %vreg50
try.c: 0x556790d179c0: i64 = Register %vreg50
try.c: 0x556790cbef30: i64 = undef
try.c: 0x556790d17760: v4i64,ch = CopyFromReg 0x556790c2c910, Register:v4i64 %vreg13
try.c: 0x556790d1c420: v4i64 = Register %vreg13
try.c: 0x556790cc08c0: v16i32 = X86ISD::VBROADCAST 0x556790d1be30
try.c: 0x556790d1be30: i32,ch = load<LD4[ConstantPool]> 0x556790c2c910, 0x556790ce1c60, undef:i64
try.c: 0x556790ce1c60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556790d02230: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556790cbef30: i64 = undef
try.c: 0x556790d332d0: 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: 0x556790d331a0: i32 = Constant<0>
try.c: 0x556790d331a0: i32 = Constant<0>
try.c: 0x556790d331a0: i32 = Constant<0>
try.c: 0x556790d331a0: i32 = Constant<0>
try.c: 0x556790d331a0: i32 = Constant<0>
try.c: 0x556790d331a0: i32 = Constant<0>
try.c: 0x556790d331a0: i32 = Constant<0>
try.c: 0x556790d331a0: i32 = Constant<0>
try.c: 0x556790d331a0: 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:avx

Compiler output

Implementation: T:avx
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
mult.c: mult.c:147:22: error: invalid output size for constraint '=&x'
mult.c: MULSTEP_fromzero(0,h0,h1,h2,h3,h4)
mult.c: ^
mult.c: mult.c:149:26: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 1,h1,h2,h3,h4,h0)
mult.c: ^
mult.c: mult.c:150:26: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 2,h2,h3,h4,h0,h1)
mult.c: ^
mult.c: mult.c:151:26: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 3,h3,h4,h0,h1,h2)
mult.c: ^
mult.c: mult.c:152:26: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 4,h4,h0,h1,h2,h3)
mult.c: ^
mult.c: mult.c:153:26: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 5,h0,h1,h2,h3,h4)
mult.c: ^
mult.c: mult.c:155:24: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 1,h1,h2,h3,h4,h0)
mult.c: ^
mult.c: mult.c:156:24: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 2,h2,h3,h4,h0,h1)
mult.c: ^
mult.c: mult.c:157:24: error: invalid output size for constraint '+x'
mult.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx

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: 0x55ae4aa2ba10: v4i64 = X86ISD::VTRUNC 0x55ae4aa2b8e0
try.c: 0x55ae4aa2b8e0: v16i32 = vselect 0x55ae4aa43ec0, 0x55ae4a9e17f0, 0x55ae4aa2b7b0
try.c: 0x55ae4aa43ec0: v4i1 = X86ISD::PCMPGTM 0x55ae4aa267d0, 0x55ae4aa22360
try.c: 0x55ae4aa267d0: v4i64 = X86ISD::VBROADCAST 0x55ae4a9c78b0
try.c: 0x55ae4a9c78b0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ae4a937950, 0x55ae4aa0d360, undef:i64
try.c: 0x55ae4aa0d360: i64,ch = CopyFromReg 0x55ae4a937950, Register:i64 %vreg50
try.c: 0x55ae4aa225c0: i64 = Register %vreg50
try.c: 0x55ae4a9dfe60: i64 = undef
try.c: 0x55ae4aa22360: v4i64,ch = CopyFromReg 0x55ae4a937950, Register:v4i64 %vreg13
try.c: 0x55ae4aa27020: v4i64 = Register %vreg13
try.c: 0x55ae4a9e17f0: v16i32 = X86ISD::VBROADCAST 0x55ae4aa26a30
try.c: 0x55ae4aa26a30: i32,ch = load<LD4[ConstantPool]> 0x55ae4a937950, 0x55ae4a9c6e90, undef:i64
try.c: 0x55ae4a9c6e90: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ae4aa15370: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ae4a9dfe60: i64 = undef
try.c: 0x55ae4aa2b7b0: 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: 0x55ae4aa2b680: i32 = Constant<0>
try.c: 0x55ae4aa2b680: i32 = Constant<0>
try.c: 0x55ae4aa2b680: i32 = Constant<0>
try.c: 0x55ae4aa2b680: i32 = Constant<0>
try.c: 0x55ae4aa2b680: i32 = Constant<0>
try.c: 0x55ae4aa2b680: i32 = Constant<0>
try.c: 0x55ae4aa2b680: i32 = Constant<0>
try.c: 0x55ae4aa2b680: i32 = Constant<0>
try.c: 0x55ae4aa2b680: 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: 0x55e306cd4eb0: v4i64 = X86ISD::VTRUNC 0x55e306cd4d80
try.c: 0x55e306cd4d80: v16i32 = vselect 0x55e306ccf880, 0x55e306c56910, 0x55e306cd4c50
try.c: 0x55e306ccf880: v4i1 = X86ISD::PCMPGTM 0x55e306cbb6f0, 0x55e306cb7c80
try.c: 0x55e306cbb6f0: v4i64 = X86ISD::VBROADCAST 0x55e306c56dd0
try.c: 0x55e306c56dd0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e306bb5a30, 0x55e306c6b2e0, undef:i64
try.c: 0x55e306c6b2e0: i64,ch = CopyFromReg 0x55e306bb5a30, Register:i64 %vreg50
try.c: 0x55e306cb7ee0: i64 = Register %vreg50
try.c: 0x55e306c52670: i64 = undef
try.c: 0x55e306cb7c80: v4i64,ch = CopyFromReg 0x55e306bb5a30, Register:v4i64 %vreg13
try.c: 0x55e306cbbf40: v4i64 = Register %vreg13
try.c: 0x55e306c56910: v16i32 = X86ISD::VBROADCAST 0x55e306cbb950
try.c: 0x55e306cbb950: i32,ch = load<LD4[ConstantPool]> 0x55e306bb5a30, 0x55e306c592b0, undef:i64
try.c: 0x55e306c592b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e306c52ff0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e306c52670: i64 = undef
try.c: 0x55e306cd4c50: 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: 0x55e306cd4b20: i32 = Constant<0>
try.c: 0x55e306cd4b20: i32 = Constant<0>
try.c: 0x55e306cd4b20: i32 = Constant<0>
try.c: 0x55e306cd4b20: i32 = Constant<0>
try.c: 0x55e306cd4b20: i32 = Constant<0>
try.c: 0x55e306cd4b20: i32 = Constant<0>
try.c: 0x55e306cd4b20: i32 = Constant<0>
try.c: 0x55e306cd4b20: i32 = Constant<0>
try.c: 0x55e306cd4b20: 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: 0x55b52afeed20: v4i64 = X86ISD::VTRUNC 0x55b52afeebf0
try.c: 0x55b52afeebf0: v16i32 = vselect 0x55b52afeb700, 0x55b52af9cd00, 0x55b52afeeac0
try.c: 0x55b52afeb700: v4i1 = X86ISD::PCMPGTM 0x55b52afe6b50, 0x55b52afe26e0
try.c: 0x55b52afe6b50: v4i64 = X86ISD::VBROADCAST 0x55b52af8d890
try.c: 0x55b52af8d890: i64,ch = load<LD8[%lsr.iv6971]> 0x55b52aef7920, 0x55b52afd0c70, undef:i64
try.c: 0x55b52afd0c70: i64,ch = CopyFromReg 0x55b52aef7920, Register:i64 %vreg50
try.c: 0x55b52afe2940: i64 = Register %vreg50
try.c: 0x55b52af8ed60: i64 = undef
try.c: 0x55b52afe26e0: v4i64,ch = CopyFromReg 0x55b52aef7920, Register:v4i64 %vreg13
try.c: 0x55b52afe73a0: v4i64 = Register %vreg13
try.c: 0x55b52af9cd00: v16i32 = X86ISD::VBROADCAST 0x55b52afe6db0
try.c: 0x55b52afe6db0: i32,ch = load<LD4[ConstantPool]> 0x55b52aef7920, 0x55b52af8ce70, undef:i64
try.c: 0x55b52af8ce70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b52afd1e70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b52af8ed60: i64 = undef
try.c: 0x55b52afeeac0: 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: 0x55b52afee990: i32 = Constant<0>
try.c: 0x55b52afee990: i32 = Constant<0>
try.c: 0x55b52afee990: i32 = Constant<0>
try.c: 0x55b52afee990: i32 = Constant<0>
try.c: 0x55b52afee990: i32 = Constant<0>
try.c: 0x55b52afee990: i32 = Constant<0>
try.c: 0x55b52afee990: i32 = Constant<0>
try.c: 0x55b52afee990: i32 = Constant<0>
try.c: 0x55b52afee990: 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