Implementation notes: amd64, cel02, crypto_core/multsntrup761

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_core
Primitive: multsntrup761
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2457616865 0 032325 824 864avx800gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2608615343 0 027292 816 800avx800gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2784015298 0 026356 792 760avx800clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2788615594 0 027820 816 800avx800gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2854417289 0 032789 824 864avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2862415074 0 027340 816 800avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2948414528 0 025620 792 760avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2952015200 0 026100 808 800avx800gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3090614692 0 026652 816 800avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3707015644 0 026596 808 800avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4023415045 0 030533 824 864round1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
541448830 0 020788 816 800round1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
549229302 0 020332 792 760round1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
550749168 0 021412 816 800round1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
650908952 0 019884 808 800round1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16959182315 0 015170 800 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2282238608 0 012532 816 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2375962640 0 012836 816 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2383350590 0 011572 792 760refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
24320023927 0 019413 824 864refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4151090485 0 011380 808 800refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55a4b3b1a220: v4i64 = X86ISD::VTRUNC 0x55a4b3b1a0f0
try.c: 0x55a4b3b1a0f0: v16i32 = vselect 0x55a4b3b14bf0, 0x55a4b3ad8c90, 0x55a4b3b19fc0
try.c: 0x55a4b3b14bf0: v4i1 = X86ISD::PCMPGTM 0x55a4b3b10020, 0x55a4b3b0bbb0
try.c: 0x55a4b3b10020: v4i64 = X86ISD::VBROADCAST 0x55a4b3ab6be0
try.c: 0x55a4b3ab6be0: i64,ch = load<LD8[%lsr.iv6971]> 0x55a4b3a20930, 0x55a4b3b021d0, undef:i64
try.c: 0x55a4b3b021d0: i64,ch = CopyFromReg 0x55a4b3a20930, Register:i64 %vreg50
try.c: 0x55a4b3b0be10: i64 = Register %vreg50
try.c: 0x55a4b3ad7300: i64 = undef
try.c: 0x55a4b3b0bbb0: v4i64,ch = CopyFromReg 0x55a4b3a20930, Register:v4i64 %vreg13
try.c: 0x55a4b3b10870: v4i64 = Register %vreg13
try.c: 0x55a4b3ad8c90: v16i32 = X86ISD::VBROADCAST 0x55a4b3b10280
try.c: 0x55a4b3b10280: i32,ch = load<LD4[ConstantPool]> 0x55a4b3a20930, 0x55a4b3ab61c0, undef:i64
try.c: 0x55a4b3ab61c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a4b3af6090: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a4b3ad7300: i64 = undef
try.c: 0x55a4b3b19fc0: 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: 0x55a4b3b19e90: i32 = Constant<0>
try.c: 0x55a4b3b19e90: i32 = Constant<0>
try.c: 0x55a4b3b19e90: i32 = Constant<0>
try.c: 0x55a4b3b19e90: i32 = Constant<0>
try.c: 0x55a4b3b19e90: i32 = Constant<0>
try.c: 0x55a4b3b19e90: i32 = Constant<0>
try.c: 0x55a4b3b19e90: i32 = Constant<0>
try.c: 0x55a4b3b19e90: i32 = Constant<0>
try.c: 0x55a4b3b19e90: 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 avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55ac8eab5ed0: v4i64 = X86ISD::VTRUNC 0x55ac8eab5da0
try.c: 0x55ac8eab5da0: v16i32 = vselect 0x55ac8eab28b0, 0x55ac8ea493c0, 0x55ac8eab5c70
try.c: 0x55ac8eab28b0: v4i1 = X86ISD::PCMPGTM 0x55ac8eaad070, 0x55ac8eaa8c00
try.c: 0x55ac8eaad070: v4i64 = X86ISD::VBROADCAST 0x55ac8ea49880
try.c: 0x55ac8ea49880: i64,ch = load<LD8[%lsr.iv6971]> 0x55ac8e9a6a00, 0x55ac8ea5c2f0, undef:i64
try.c: 0x55ac8ea5c2f0: i64,ch = CopyFromReg 0x55ac8e9a6a00, Register:i64 %vreg50
try.c: 0x55ac8eaa8e60: i64 = Register %vreg50
try.c: 0x55ac8ea4f720: i64 = undef
try.c: 0x55ac8eaa8c00: v4i64,ch = CopyFromReg 0x55ac8e9a6a00, Register:v4i64 %vreg13
try.c: 0x55ac8eaad8c0: v4i64 = Register %vreg13
try.c: 0x55ac8ea493c0: v16i32 = X86ISD::VBROADCAST 0x55ac8eaad2d0
try.c: 0x55ac8eaad2d0: i32,ch = load<LD4[ConstantPool]> 0x55ac8e9a6a00, 0x55ac8ea5a8c0, undef:i64
try.c: 0x55ac8ea5a8c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ac8ea500a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ac8ea4f720: i64 = undef
try.c: 0x55ac8eab5c70: 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: 0x55ac8eab5b40: i32 = Constant<0>
try.c: 0x55ac8eab5b40: i32 = Constant<0>
try.c: 0x55ac8eab5b40: i32 = Constant<0>
try.c: 0x55ac8eab5b40: i32 = Constant<0>
try.c: 0x55ac8eab5b40: i32 = Constant<0>
try.c: 0x55ac8eab5b40: i32 = Constant<0>
try.c: 0x55ac8eab5b40: i32 = Constant<0>
try.c: 0x55ac8eab5b40: i32 = Constant<0>
try.c: 0x55ac8eab5b40: 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 avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x555724602b10: v4i64 = X86ISD::VTRUNC 0x5557246029e0
try.c: 0x5557246029e0: v16i32 = vselect 0x55572460a9b0, 0x5557245a2c50, 0x5557246028b0
try.c: 0x55572460a9b0: v4i1 = X86ISD::PCMPGTM 0x5557245faa50, 0x5557245f65e0
try.c: 0x5557245faa50: v4i64 = X86ISD::VBROADCAST 0x5557245c82f0
try.c: 0x5557245c82f0: i64,ch = load<LD8[%lsr.iv6971]> 0x55572450b950, 0x5557245e61d0, undef:i64
try.c: 0x5557245e61d0: i64,ch = CopyFromReg 0x55572450b950, Register:i64 %vreg50
try.c: 0x5557245f6840: i64 = Register %vreg50
try.c: 0x5557245a12c0: i64 = undef
try.c: 0x5557245f65e0: v4i64,ch = CopyFromReg 0x55572450b950, Register:v4i64 %vreg13
try.c: 0x5557245fb2a0: v4i64 = Register %vreg13
try.c: 0x5557245a2c50: v16i32 = X86ISD::VBROADCAST 0x5557245facb0
try.c: 0x5557245facb0: i32,ch = load<LD4[ConstantPool]> 0x55572450b950, 0x5557245c78d0, undef:i64
try.c: 0x5557245c78d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5557245e0410: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5557245a12c0: i64 = undef
try.c: 0x5557246028b0: 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: 0x555724602780: i32 = Constant<0>
try.c: 0x555724602780: i32 = Constant<0>
try.c: 0x555724602780: i32 = Constant<0>
try.c: 0x555724602780: i32 = Constant<0>
try.c: 0x555724602780: i32 = Constant<0>
try.c: 0x555724602780: i32 = Constant<0>
try.c: 0x555724602780: i32 = Constant<0>
try.c: 0x555724602780: i32 = Constant<0>
try.c: 0x555724602780: 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 avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
mult768.c: mult768.c:266:7: error: always_inline function '_mm256_set1_epi16' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup761_avx_constbranchindex' that is compiled without support for 'sse4.2'
mult768.c: x = const_x16(0);
mult768.c: ^
mult768.c: mult768.c:10:19: note: expanded from macro 'const_x16'
mult768.c: #define const_x16 _mm256_set1_epi16
mult768.c: ^
mult768.c: mult768.c:267:35: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup761_avx_constbranchindex' that is compiled without support for 'sse4.2'
mult768.c: for (i = p&~15;i < 768;i += 16) store_x16(&f[i],x);
mult768.c: ^
mult768.c: mult768.c:9:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ^
mult768.c: mult768.c:268:35: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup761_avx_constbranchindex' that is compiled without support for 'sse4.2'
mult768.c: for (i = p&~15;i < 768;i += 16) store_x16(&g[i],x);
mult768.c: ^
mult768.c: mult768.c:9:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ^
mult768.c: mult768.c:273:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup761_avx_constbranchindex' that is compiled without support for 'sse4.2'
mult768.c: x = load_x16(&f[i]);
mult768.c: ^
mult768.c: mult768.c:8:21: note: expanded from macro 'load_x16'
mult768.c: #define load_x16(p) _mm256_loadu_si256((int16x16 *) (p))
mult768.c: ^
mult768.c: mult768.c:275:5: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup761_avx_constbranchindex' that is compiled without support for 'sse4.2'
mult768.c: ...

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

Compiler output

Implementation: avx800
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55acd0c31160: v4i64 = X86ISD::VTRUNC 0x55acd0c31030
try.c: 0x55acd0c31030: v16i32 = vselect 0x55acd0c442a0, 0x55acd0be0cd0, 0x55acd0c30f00
try.c: 0x55acd0c442a0: v4i1 = X86ISD::PCMPGTM 0x55acd0c2a710, 0x55acd0c262a0
try.c: 0x55acd0c2a710: v4i64 = X86ISD::VBROADCAST 0x55acd0bcd540
try.c: 0x55acd0bcd540: i64,ch = load<LD8[%lsr.iv6971]> 0x55acd0b3b950, 0x55acd0c0fb90, undef:i64
try.c: 0x55acd0c0fb90: i64,ch = CopyFromReg 0x55acd0b3b950, Register:i64 %vreg50
try.c: 0x55acd0c26500: i64 = Register %vreg50
try.c: 0x55acd0bcea10: i64 = undef
try.c: 0x55acd0c262a0: v4i64,ch = CopyFromReg 0x55acd0b3b950, Register:v4i64 %vreg13
try.c: 0x55acd0c2af60: v4i64 = Register %vreg13
try.c: 0x55acd0be0cd0: v16i32 = X86ISD::VBROADCAST 0x55acd0c2a970
try.c: 0x55acd0c2a970: i32,ch = load<LD4[ConstantPool]> 0x55acd0b3b950, 0x55acd0bc7120, undef:i64
try.c: 0x55acd0bc7120: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55acd0bcac20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55acd0bcea10: i64 = undef
try.c: 0x55acd0c30f00: 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: 0x55acd0c30dd0: i32 = Constant<0>
try.c: 0x55acd0c30dd0: i32 = Constant<0>
try.c: 0x55acd0c30dd0: i32 = Constant<0>
try.c: 0x55acd0c30dd0: i32 = Constant<0>
try.c: 0x55acd0c30dd0: i32 = Constant<0>
try.c: 0x55acd0c30dd0: i32 = Constant<0>
try.c: 0x55acd0c30dd0: i32 = Constant<0>
try.c: 0x55acd0c30dd0: i32 = Constant<0>
try.c: 0x55acd0c30dd0: 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 avx800

Compiler output

Implementation: avx800
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55e0e50e4d20: v4i64 = X86ISD::VTRUNC 0x55e0e50e4bf0
try.c: 0x55e0e50e4bf0: v16i32 = vselect 0x55e0e50cea20, 0x55e0e505cec0, 0x55e0e50e4ac0
try.c: 0x55e0e50cea20: v4i1 = X86ISD::PCMPGTM 0x55e0e50c9f20, 0x55e0e50c52f0
try.c: 0x55e0e50c9f20: v4i64 = X86ISD::VBROADCAST 0x55e0e505d380
try.c: 0x55e0e505d380: i64,ch = load<LD8[%lsr.iv6971]> 0x55e0e4fc3a30, 0x55e0e5078d30, undef:i64
try.c: 0x55e0e5078d30: i64,ch = CopyFromReg 0x55e0e4fc3a30, Register:i64 %vreg50
try.c: 0x55e0e50c5550: i64 = Register %vreg50
try.c: 0x55e0e5072a90: i64 = undef
try.c: 0x55e0e50c52f0: v4i64,ch = CopyFromReg 0x55e0e4fc3a30, Register:v4i64 %vreg13
try.c: 0x55e0e50ca770: v4i64 = Register %vreg13
try.c: 0x55e0e505cec0: v16i32 = X86ISD::VBROADCAST 0x55e0e50ca180
try.c: 0x55e0e50ca180: i32,ch = load<LD4[ConstantPool]> 0x55e0e4fc3a30, 0x55e0e505f860, undef:i64
try.c: 0x55e0e505f860: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e0e5073410: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e0e5072a90: i64 = undef
try.c: 0x55e0e50e4ac0: 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: 0x55e0e50e4990: i32 = Constant<0>
try.c: 0x55e0e50e4990: i32 = Constant<0>
try.c: 0x55e0e50e4990: i32 = Constant<0>
try.c: 0x55e0e50e4990: i32 = Constant<0>
try.c: 0x55e0e50e4990: i32 = Constant<0>
try.c: 0x55e0e50e4990: i32 = Constant<0>
try.c: 0x55e0e50e4990: i32 = Constant<0>
try.c: 0x55e0e50e4990: i32 = Constant<0>
try.c: 0x55e0e50e4990: 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 avx800

Compiler output

Implementation: avx800
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55e7042591d0: v4i64 = X86ISD::VTRUNC 0x55e7042590a0
try.c: 0x55e7042590a0: v16i32 = vselect 0x55e704255bb0, 0x55e7041f92a0, 0x55e704258f70
try.c: 0x55e704255bb0: v4i1 = X86ISD::PCMPGTM 0x55e70423e840, 0x55e70423a3d0
try.c: 0x55e70423e840: v4i64 = X86ISD::VBROADCAST 0x55e7041e6fe0
try.c: 0x55e7041e6fe0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e70414f920, 0x55e704224520, undef:i64
try.c: 0x55e704224520: i64,ch = CopyFromReg 0x55e70414f920, Register:i64 %vreg50
try.c: 0x55e70423a630: i64 = Register %vreg50
try.c: 0x55e7041f7910: i64 = undef
try.c: 0x55e70423a3d0: v4i64,ch = CopyFromReg 0x55e70414f920, Register:v4i64 %vreg13
try.c: 0x55e70423f090: v4i64 = Register %vreg13
try.c: 0x55e7041f92a0: v16i32 = X86ISD::VBROADCAST 0x55e70423eaa0
try.c: 0x55e70423eaa0: i32,ch = load<LD4[ConstantPool]> 0x55e70414f920, 0x55e7041e65c0, undef:i64
try.c: 0x55e7041e65c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e704207830: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e7041f7910: i64 = undef
try.c: 0x55e704258f70: 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: 0x55e704258e40: i32 = Constant<0>
try.c: 0x55e704258e40: i32 = Constant<0>
try.c: 0x55e704258e40: i32 = Constant<0>
try.c: 0x55e704258e40: i32 = Constant<0>
try.c: 0x55e704258e40: i32 = Constant<0>
try.c: 0x55e704258e40: i32 = Constant<0>
try.c: 0x55e704258e40: i32 = Constant<0>
try.c: 0x55e704258e40: i32 = Constant<0>
try.c: 0x55e704258e40: 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 avx800

Compiler output

Implementation: avx800
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
mult768.c: mult768.c:266:7: error: always_inline function '_mm256_set1_epi16' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup761_avx800_constbranchindex' that is compiled without support for 'sse4.2'
mult768.c: x = const_x16(0);
mult768.c: ^
mult768.c: mult768.c:10:19: note: expanded from macro 'const_x16'
mult768.c: #define const_x16 _mm256_set1_epi16
mult768.c: ^
mult768.c: mult768.c:267:35: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup761_avx800_constbranchindex' that is compiled without support for 'sse4.2'
mult768.c: for (i = p&~15;i < 768;i += 16) store_x16(&f[i],x);
mult768.c: ^
mult768.c: mult768.c:9:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ^
mult768.c: mult768.c:268:35: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup761_avx800_constbranchindex' that is compiled without support for 'sse4.2'
mult768.c: for (i = p&~15;i < 768;i += 16) store_x16(&g[i],x);
mult768.c: ^
mult768.c: mult768.c:9:24: note: expanded from macro 'store_x16'
mult768.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult768.c: ^
mult768.c: mult768.c:273:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup761_avx800_constbranchindex' that is compiled without support for 'sse4.2'
mult768.c: x = load_x16(&f[i]);
mult768.c: ^
mult768.c: mult768.c:8:21: note: expanded from macro 'load_x16'
mult768.c: #define load_x16(p) _mm256_loadu_si256((int16x16 *) (p))
mult768.c: ^
mult768.c: mult768.c:275:5: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup761_avx800_constbranchindex' that is compiled without support for 'sse4.2'
mult768.c: ...

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

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55a9b747ee00: v4i64 = X86ISD::VTRUNC 0x55a9b747ecd0
try.c: 0x55a9b747ecd0: v16i32 = vselect 0x55a9b74797d0, 0x55a9b741c9a0, 0x55a9b747eba0
try.c: 0x55a9b74797d0: v4i1 = X86ISD::PCMPGTM 0x55a9b7474cc0, 0x55a9b7470850
try.c: 0x55a9b7474cc0: v4i64 = X86ISD::VBROADCAST 0x55a9b7418940
try.c: 0x55a9b7418940: i64,ch = load<LD8[%lsr.iv6971]> 0x55a9b7385950, 0x55a9b746b6b0, undef:i64
try.c: 0x55a9b746b6b0: i64,ch = CopyFromReg 0x55a9b7385950, Register:i64 %vreg50
try.c: 0x55a9b7470ab0: i64 = Register %vreg50
try.c: 0x55a9b741b010: i64 = undef
try.c: 0x55a9b7470850: v4i64,ch = CopyFromReg 0x55a9b7385950, Register:v4i64 %vreg13
try.c: 0x55a9b7475510: v4i64 = Register %vreg13
try.c: 0x55a9b741c9a0: v16i32 = X86ISD::VBROADCAST 0x55a9b7474f20
try.c: 0x55a9b7474f20: i32,ch = load<LD4[ConstantPool]> 0x55a9b7385950, 0x55a9b7417f20, undef:i64
try.c: 0x55a9b7417f20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a9b743ebe0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a9b741b010: i64 = undef
try.c: 0x55a9b747eba0: 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: 0x55a9b747ea70: i32 = Constant<0>
try.c: 0x55a9b747ea70: i32 = Constant<0>
try.c: 0x55a9b747ea70: i32 = Constant<0>
try.c: 0x55a9b747ea70: i32 = Constant<0>
try.c: 0x55a9b747ea70: i32 = Constant<0>
try.c: 0x55a9b747ea70: i32 = Constant<0>
try.c: 0x55a9b747ea70: i32 = Constant<0>
try.c: 0x55a9b747ea70: i32 = Constant<0>
try.c: 0x55a9b747ea70: 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 ref

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5581811bac20: v4i64 = X86ISD::VTRUNC 0x5581811baaf0
try.c: 0x5581811baaf0: v16i32 = vselect 0x5581811c3230, 0x55818113f0d0, 0x5581811ba9c0
try.c: 0x5581811c3230: v4i1 = X86ISD::PCMPGTM 0x5581811a2ab0, 0x55818119f650
try.c: 0x5581811a2ab0: v4i64 = X86ISD::VBROADCAST 0x55818113f590
try.c: 0x55818113f590: i64,ch = load<LD8[%lsr.iv6971]> 0x55818109da20, 0x5581811386e0, undef:i64
try.c: 0x5581811386e0: i64,ch = CopyFromReg 0x55818109da20, Register:i64 %vreg50
try.c: 0x55818119f8b0: i64 = Register %vreg50
try.c: 0x55818113c200: i64 = undef
try.c: 0x55818119f650: v4i64,ch = CopyFromReg 0x55818109da20, Register:v4i64 %vreg13
try.c: 0x5581811a3300: v4i64 = Register %vreg13
try.c: 0x55818113f0d0: v16i32 = X86ISD::VBROADCAST 0x5581811a2d10
try.c: 0x5581811a2d10: i32,ch = load<LD4[ConstantPool]> 0x55818109da20, 0x558181136cb0, undef:i64
try.c: 0x558181136cb0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55818113cb80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55818113c200: i64 = undef
try.c: 0x5581811ba9c0: 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: 0x5581811ba890: i32 = Constant<0>
try.c: 0x5581811ba890: i32 = Constant<0>
try.c: 0x5581811ba890: i32 = Constant<0>
try.c: 0x5581811ba890: i32 = Constant<0>
try.c: 0x5581811ba890: i32 = Constant<0>
try.c: 0x5581811ba890: i32 = Constant<0>
try.c: 0x5581811ba890: i32 = Constant<0>
try.c: 0x5581811ba890: i32 = Constant<0>
try.c: 0x5581811ba890: 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 ref

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x56426e5a62e0: v4i64 = X86ISD::VTRUNC 0x56426e5a61b0
try.c: 0x56426e5a61b0: v16i32 = vselect 0x56426e5a0cb0, 0x56426e530710, 0x56426e5a6080
try.c: 0x56426e5a0cb0: v4i1 = X86ISD::PCMPGTM 0x56426e589940, 0x56426e5854d0
try.c: 0x56426e589940: v4i64 = X86ISD::VBROADCAST 0x56426e52d2f0
try.c: 0x56426e52d2f0: i64,ch = load<LD8[%lsr.iv6971]> 0x56426e49a980, 0x56426e573870, undef:i64
try.c: 0x56426e573870: i64,ch = CopyFromReg 0x56426e49a980, Register:i64 %vreg50
try.c: 0x56426e585730: i64 = Register %vreg50
try.c: 0x56426e52e7c0: i64 = undef
try.c: 0x56426e5854d0: v4i64,ch = CopyFromReg 0x56426e49a980, Register:v4i64 %vreg13
try.c: 0x56426e58a190: v4i64 = Register %vreg13
try.c: 0x56426e530710: v16i32 = X86ISD::VBROADCAST 0x56426e589ba0
try.c: 0x56426e589ba0: i32,ch = load<LD4[ConstantPool]> 0x56426e49a980, 0x56426e52c8d0, undef:i64
try.c: 0x56426e52c8d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56426e5785c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56426e52e7c0: i64 = undef
try.c: 0x56426e5a6080: 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: 0x56426e5a5f50: i32 = Constant<0>
try.c: 0x56426e5a5f50: i32 = Constant<0>
try.c: 0x56426e5a5f50: i32 = Constant<0>
try.c: 0x56426e5a5f50: i32 = Constant<0>
try.c: 0x56426e5a5f50: i32 = Constant<0>
try.c: 0x56426e5a5f50: i32 = Constant<0>
try.c: 0x56426e5a5f50: i32 = Constant<0>
try.c: 0x56426e5a5f50: i32 = Constant<0>
try.c: 0x56426e5a5f50: 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 ref

Compiler output

Implementation: round1
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x56514c82a140: v4i64 = X86ISD::VTRUNC 0x56514c82a010
try.c: 0x56514c82a010: v16i32 = vselect 0x56514c824b10, 0x56514c7c79e0, 0x56514c829ee0
try.c: 0x56514c824b10: v4i1 = X86ISD::PCMPGTM 0x56514c820930, 0x56514c81c4c0
try.c: 0x56514c820930: v4i64 = X86ISD::VBROADCAST 0x56514c7c0570
try.c: 0x56514c7c0570: i64,ch = load<LD8[%lsr.iv6971]> 0x56514c731950, 0x56514c80e710, undef:i64
try.c: 0x56514c80e710: i64,ch = CopyFromReg 0x56514c731950, Register:i64 %vreg50
try.c: 0x56514c81c720: i64 = Register %vreg50
try.c: 0x56514c7c1a40: i64 = undef
try.c: 0x56514c81c4c0: v4i64,ch = CopyFromReg 0x56514c731950, Register:v4i64 %vreg13
try.c: 0x56514c821180: v4i64 = Register %vreg13
try.c: 0x56514c7c79e0: v16i32 = X86ISD::VBROADCAST 0x56514c820b90
try.c: 0x56514c820b90: i32,ch = load<LD4[ConstantPool]> 0x56514c731950, 0x56514c7bfb50, undef:i64
try.c: 0x56514c7bfb50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56514c8089d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56514c7c1a40: i64 = undef
try.c: 0x56514c829ee0: 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: 0x56514c829db0: i32 = Constant<0>
try.c: 0x56514c829db0: i32 = Constant<0>
try.c: 0x56514c829db0: i32 = Constant<0>
try.c: 0x56514c829db0: i32 = Constant<0>
try.c: 0x56514c829db0: i32 = Constant<0>
try.c: 0x56514c829db0: i32 = Constant<0>
try.c: 0x56514c829db0: i32 = Constant<0>
try.c: 0x56514c829db0: i32 = Constant<0>
try.c: 0x56514c829db0: 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 round1

Compiler output

Implementation: round1
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55eb6e49b130: v4i64 = X86ISD::VTRUNC 0x55eb6e49b000
try.c: 0x55eb6e49b000: v16i32 = vselect 0x55eb6e479ec0, 0x55eb6e40eb00, 0x55eb6e49aed0
try.c: 0x55eb6e479ec0: v4i1 = X86ISD::PCMPGTM 0x55eb6e474f30, 0x55eb6e471910
try.c: 0x55eb6e474f30: v4i64 = X86ISD::VBROADCAST 0x55eb6e40efc0
try.c: 0x55eb6e40efc0: i64,ch = load<LD8[%lsr.iv6971]> 0x55eb6e36fa30, 0x55eb6e4104b0, undef:i64
try.c: 0x55eb6e4104b0: i64,ch = CopyFromReg 0x55eb6e36fa30, Register:i64 %vreg50
try.c: 0x55eb6e471b70: i64 = Register %vreg50
try.c: 0x55eb6e4266a0: i64 = undef
try.c: 0x55eb6e471910: v4i64,ch = CopyFromReg 0x55eb6e36fa30, Register:v4i64 %vreg13
try.c: 0x55eb6e475780: v4i64 = Register %vreg13
try.c: 0x55eb6e40eb00: v16i32 = X86ISD::VBROADCAST 0x55eb6e475190
try.c: 0x55eb6e475190: i32,ch = load<LD4[ConstantPool]> 0x55eb6e36fa30, 0x55eb6e40a7e0, undef:i64
try.c: 0x55eb6e40a7e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55eb6e427020: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55eb6e4266a0: i64 = undef
try.c: 0x55eb6e49aed0: 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: 0x55eb6e49ada0: i32 = Constant<0>
try.c: 0x55eb6e49ada0: i32 = Constant<0>
try.c: 0x55eb6e49ada0: i32 = Constant<0>
try.c: 0x55eb6e49ada0: i32 = Constant<0>
try.c: 0x55eb6e49ada0: i32 = Constant<0>
try.c: 0x55eb6e49ada0: i32 = Constant<0>
try.c: 0x55eb6e49ada0: i32 = Constant<0>
try.c: 0x55eb6e49ada0: i32 = Constant<0>
try.c: 0x55eb6e49ada0: 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 round1

Compiler output

Implementation: round1
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55fa4167fa40: v4i64 = X86ISD::VTRUNC 0x55fa4167f910
try.c: 0x55fa4167f910: v16i32 = vselect 0x55fa4169bca0, 0x55fa4161d6b0, 0x55fa4167f7e0
try.c: 0x55fa4169bca0: v4i1 = X86ISD::PCMPGTM 0x55fa416790a0, 0x55fa41674c30
try.c: 0x55fa416790a0: v4i64 = X86ISD::VBROADCAST 0x55fa41618a70
try.c: 0x55fa41618a70: i64,ch = load<LD8[%lsr.iv6971]> 0x55fa41589940, 0x55fa4166c7a0, undef:i64
try.c: 0x55fa4166c7a0: i64,ch = CopyFromReg 0x55fa41589940, Register:i64 %vreg50
try.c: 0x55fa41674e90: i64 = Register %vreg50
try.c: 0x55fa4161bd20: i64 = undef
try.c: 0x55fa41674c30: v4i64,ch = CopyFromReg 0x55fa41589940, Register:v4i64 %vreg13
try.c: 0x55fa416798f0: v4i64 = Register %vreg13
try.c: 0x55fa4161d6b0: v16i32 = X86ISD::VBROADCAST 0x55fa41679300
try.c: 0x55fa41679300: i32,ch = load<LD4[ConstantPool]> 0x55fa41589940, 0x55fa41618050, undef:i64
try.c: 0x55fa41618050: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fa4165e690: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fa4161bd20: i64 = undef
try.c: 0x55fa4167f7e0: 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: 0x55fa4167f6b0: i32 = Constant<0>
try.c: 0x55fa4167f6b0: i32 = Constant<0>
try.c: 0x55fa4167f6b0: i32 = Constant<0>
try.c: 0x55fa4167f6b0: i32 = Constant<0>
try.c: 0x55fa4167f6b0: i32 = Constant<0>
try.c: 0x55fa4167f6b0: i32 = Constant<0>
try.c: 0x55fa4167f6b0: i32 = Constant<0>
try.c: 0x55fa4167f6b0: i32 = Constant<0>
try.c: 0x55fa4167f6b0: 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 round1

Compiler output

Implementation: round1
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
mult.c: mult.c:146:22: error: invalid output size for constraint '=&x'
mult.c: MULSTEP_fromzero(0,h0,h1,h2,h3,h4)
mult.c: ^
mult.c: mult.c:148: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:149: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:150: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:151: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:152: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:154: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:155: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:156: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 round1