Implementation notes: amd64, cel02, crypto_core/multsntrup857

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_core
Primitive: multsntrup857
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2348220301 0 035773 824 864avx800gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3548418045 0 029084 792 760avx800clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3672217275 0 028348 792 760avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3869020725 0 036237 824 864avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4465617798 0 029740 816 800avx800gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4764217418 0 029700 816 800avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4848017147 0 029116 816 800avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5131417938 0 030180 816 800avx800gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5296618895 0 029828 808 800avx800gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6080619339 0 030324 808 800avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1714664640 0 012836 816 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
22312442315 0 015170 800 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2999932590 0 011572 792 760refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3037606608 0 012532 816 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
32627324263 0 019749 824 864refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4912698485 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: 0x5580eff56b90: v4i64 = X86ISD::VTRUNC 0x5580eff56a60
try.c: 0x5580eff56a60: v16i32 = vselect 0x5580eff66cb0, 0x5580efef38a0, 0x5580eff56930
try.c: 0x5580eff66cb0: v4i1 = X86ISD::PCMPGTM 0x5580eff4f940, 0x5580eff4b4d0
try.c: 0x5580eff4f940: v4i64 = X86ISD::VBROADCAST 0x5580eff16ff0
try.c: 0x5580eff16ff0: i64,ch = load<LD8[%lsr.iv6971]> 0x5580efe609a0, 0x5580eff39080, undef:i64
try.c: 0x5580eff39080: i64,ch = CopyFromReg 0x5580efe609a0, Register:i64 %vreg50
try.c: 0x5580eff4b730: i64 = Register %vreg50
try.c: 0x5580eff184c0: i64 = undef
try.c: 0x5580eff4b4d0: v4i64,ch = CopyFromReg 0x5580efe609a0, Register:v4i64 %vreg13
try.c: 0x5580eff50190: v4i64 = Register %vreg13
try.c: 0x5580efef38a0: v16i32 = X86ISD::VBROADCAST 0x5580eff4fba0
try.c: 0x5580eff4fba0: i32,ch = load<LD4[ConstantPool]> 0x5580efe609a0, 0x5580efefeed0, undef:i64
try.c: 0x5580efefeed0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5580efefafd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5580eff184c0: i64 = undef
try.c: 0x5580eff56930: 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: 0x5580eff56800: i32 = Constant<0>
try.c: 0x5580eff56800: i32 = Constant<0>
try.c: 0x5580eff56800: i32 = Constant<0>
try.c: 0x5580eff56800: i32 = Constant<0>
try.c: 0x5580eff56800: i32 = Constant<0>
try.c: 0x5580eff56800: i32 = Constant<0>
try.c: 0x5580eff56800: i32 = Constant<0>
try.c: 0x5580eff56800: i32 = Constant<0>
try.c: 0x5580eff56800: 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: 0x55e9574783d0: v4i64 = X86ISD::VTRUNC 0x55e9574782a0
try.c: 0x55e9574782a0: v16i32 = vselect 0x55e95748a390, 0x55e95740c5e0, 0x55e957478170
try.c: 0x55e95748a390: v4i1 = X86ISD::PCMPGTM 0x55e9574700b0, 0x55e95746b630
try.c: 0x55e9574700b0: v4i64 = X86ISD::VBROADCAST 0x55e95740caa0
try.c: 0x55e95740caa0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e957369a40, 0x55e957404290, undef:i64
try.c: 0x55e957404290: i64,ch = CopyFromReg 0x55e957369a40, Register:i64 %vreg50
try.c: 0x55e95746b890: i64 = Register %vreg50
try.c: 0x55e9573fc480: i64 = undef
try.c: 0x55e95746b630: v4i64,ch = CopyFromReg 0x55e957369a40, Register:v4i64 %vreg13
try.c: 0x55e957470900: v4i64 = Register %vreg13
try.c: 0x55e95740c5e0: v16i32 = X86ISD::VBROADCAST 0x55e957470310
try.c: 0x55e957470310: i32,ch = load<LD4[ConstantPool]> 0x55e957369a40, 0x55e95741fa40, undef:i64
try.c: 0x55e95741fa40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e9573fce00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e9573fc480: i64 = undef
try.c: 0x55e957478170: 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: 0x55e957478040: i32 = Constant<0>
try.c: 0x55e957478040: i32 = Constant<0>
try.c: 0x55e957478040: i32 = Constant<0>
try.c: 0x55e957478040: i32 = Constant<0>
try.c: 0x55e957478040: i32 = Constant<0>
try.c: 0x55e957478040: i32 = Constant<0>
try.c: 0x55e957478040: i32 = Constant<0>
try.c: 0x55e957478040: i32 = Constant<0>
try.c: 0x55e957478040: 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: 0x55e71414b170: v4i64 = X86ISD::VTRUNC 0x55e71414b040
try.c: 0x55e71414b040: v16i32 = vselect 0x55e714147b50, 0x55e7140d8600, 0x55e71414af10
try.c: 0x55e714147b50: v4i1 = X86ISD::PCMPGTM 0x55e7141307e0, 0x55e71412c370
try.c: 0x55e7141307e0: v4i64 = X86ISD::VBROADCAST 0x55e7140d19c0
try.c: 0x55e7140d19c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e714041930, 0x55e71411c4d0, undef:i64
try.c: 0x55e71411c4d0: i64,ch = CopyFromReg 0x55e714041930, Register:i64 %vreg50
try.c: 0x55e71412c5d0: i64 = Register %vreg50
try.c: 0x55e7140d6c70: i64 = undef
try.c: 0x55e71412c370: v4i64,ch = CopyFromReg 0x55e714041930, Register:v4i64 %vreg13
try.c: 0x55e714131030: v4i64 = Register %vreg13
try.c: 0x55e7140d8600: v16i32 = X86ISD::VBROADCAST 0x55e714130a40
try.c: 0x55e714130a40: i32,ch = load<LD4[ConstantPool]> 0x55e714041930, 0x55e7140d0fa0, undef:i64
try.c: 0x55e7140d0fa0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e714119740: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e7140d6c70: i64 = undef
try.c: 0x55e71414af10: 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: 0x55e71414ade0: i32 = Constant<0>
try.c: 0x55e71414ade0: i32 = Constant<0>
try.c: 0x55e71414ade0: i32 = Constant<0>
try.c: 0x55e71414ade0: i32 = Constant<0>
try.c: 0x55e71414ade0: i32 = Constant<0>
try.c: 0x55e71414ade0: i32 = Constant<0>
try.c: 0x55e71414ade0: i32 = Constant<0>
try.c: 0x55e71414ade0: i32 = Constant<0>
try.c: 0x55e71414ade0: 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
mult1024.c: mult1024.c:308:7: error: always_inline function '_mm256_set1_epi16' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup857_avx_constbranchindex' that is compiled without support for 'sse4.2'
mult1024.c: x = const_x16(0);
mult1024.c: ^
mult1024.c: mult1024.c:10:19: note: expanded from macro 'const_x16'
mult1024.c: #define const_x16 _mm256_set1_epi16
mult1024.c: ^
mult1024.c: mult1024.c:309:36: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup857_avx_constbranchindex' that is compiled without support for 'sse4.2'
mult1024.c: for (i = p&~15;i < 1024;i += 16) store_x16(&f[i],x);
mult1024.c: ^
mult1024.c: mult1024.c:9:24: note: expanded from macro 'store_x16'
mult1024.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult1024.c: ^
mult1024.c: mult1024.c:310:36: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup857_avx_constbranchindex' that is compiled without support for 'sse4.2'
mult1024.c: for (i = p&~15;i < 1024;i += 16) store_x16(&g[i],x);
mult1024.c: ^
mult1024.c: mult1024.c:9:24: note: expanded from macro 'store_x16'
mult1024.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult1024.c: ^
mult1024.c: mult1024.c:315:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup857_avx_constbranchindex' that is compiled without support for 'sse4.2'
mult1024.c: x = load_x16(&f[i]);
mult1024.c: ^
mult1024.c: mult1024.c:8:21: note: expanded from macro 'load_x16'
mult1024.c: #define load_x16(p) _mm256_loadu_si256((int16x16 *) (p))
mult1024.c: ^
mult1024.c: mult1024.c:317:5: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup857_avx_constbranchindex' that is compiled without support for 'sse4.2'
mult1024.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: 0x557a70ed3d20: v4i64 = X86ISD::VTRUNC 0x557a70ed3bf0
try.c: 0x557a70ed3bf0: v16i32 = vselect 0x557a70ee3e80, 0x557a70e73c80, 0x557a70ed3ac0
try.c: 0x557a70ee3e80: v4i1 = X86ISD::PCMPGTM 0x557a70eccb10, 0x557a70ec86a0
try.c: 0x557a70eccb10: v4i64 = X86ISD::VBROADCAST 0x557a70e6fc40
try.c: 0x557a70e6fc40: i64,ch = load<LD8[%lsr.iv6971]> 0x557a70ddd950, 0x557a70eb7000, undef:i64
try.c: 0x557a70eb7000: i64,ch = CopyFromReg 0x557a70ddd950, Register:i64 %vreg50
try.c: 0x557a70ec8900: i64 = Register %vreg50
try.c: 0x557a70e71110: i64 = undef
try.c: 0x557a70ec86a0: v4i64,ch = CopyFromReg 0x557a70ddd950, Register:v4i64 %vreg13
try.c: 0x557a70ecd360: v4i64 = Register %vreg13
try.c: 0x557a70e73c80: v16i32 = X86ISD::VBROADCAST 0x557a70eccd70
try.c: 0x557a70eccd70: i32,ch = load<LD4[ConstantPool]> 0x557a70ddd950, 0x557a70e5b7c0, undef:i64
try.c: 0x557a70e5b7c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557a70ebacd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557a70e71110: i64 = undef
try.c: 0x557a70ed3ac0: 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: 0x557a70ed3990: i32 = Constant<0>
try.c: 0x557a70ed3990: i32 = Constant<0>
try.c: 0x557a70ed3990: i32 = Constant<0>
try.c: 0x557a70ed3990: i32 = Constant<0>
try.c: 0x557a70ed3990: i32 = Constant<0>
try.c: 0x557a70ed3990: i32 = Constant<0>
try.c: 0x557a70ed3990: i32 = Constant<0>
try.c: 0x557a70ed3990: i32 = Constant<0>
try.c: 0x557a70ed3990: 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: 0x55d3d27099b0: v4i64 = X86ISD::VTRUNC 0x55d3d2709880
try.c: 0x55d3d2709880: v16i32 = vselect 0x55d3d2704380, 0x55d3d26a3c70, 0x55d3d2709750
try.c: 0x55d3d2704380: v4i1 = X86ISD::PCMPGTM 0x55d3d2701360, 0x55d3d26fc730
try.c: 0x55d3d2701360: v4i64 = X86ISD::VBROADCAST 0x55d3d26a4130
try.c: 0x55d3d26a4130: i64,ch = load<LD8[%lsr.iv6971]> 0x55d3d25faa30, 0x55d3d26b0610, undef:i64
try.c: 0x55d3d26b0610: i64,ch = CopyFromReg 0x55d3d25faa30, Register:i64 %vreg50
try.c: 0x55d3d26fc990: i64 = Register %vreg50
try.c: 0x55d3d2695b20: i64 = undef
try.c: 0x55d3d26fc730: v4i64,ch = CopyFromReg 0x55d3d25faa30, Register:v4i64 %vreg13
try.c: 0x55d3d2701bb0: v4i64 = Register %vreg13
try.c: 0x55d3d26a3c70: v16i32 = X86ISD::VBROADCAST 0x55d3d27015c0
try.c: 0x55d3d27015c0: i32,ch = load<LD4[ConstantPool]> 0x55d3d25faa30, 0x55d3d26aebe0, undef:i64
try.c: 0x55d3d26aebe0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d3d26964a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d3d2695b20: i64 = undef
try.c: 0x55d3d2709750: 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: 0x55d3d2709620: i32 = Constant<0>
try.c: 0x55d3d2709620: i32 = Constant<0>
try.c: 0x55d3d2709620: i32 = Constant<0>
try.c: 0x55d3d2709620: i32 = Constant<0>
try.c: 0x55d3d2709620: i32 = Constant<0>
try.c: 0x55d3d2709620: i32 = Constant<0>
try.c: 0x55d3d2709620: i32 = Constant<0>
try.c: 0x55d3d2709620: i32 = Constant<0>
try.c: 0x55d3d2709620: 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: 0x556bf8b49130: v4i64 = X86ISD::VTRUNC 0x556bf8b49000
try.c: 0x556bf8b49000: v16i32 = vselect 0x556bf8b50230, 0x556bf8ad69a0, 0x556bf8b48ed0
try.c: 0x556bf8b50230: v4i1 = X86ISD::PCMPGTM 0x556bf8b2f970, 0x556bf8b2b500
try.c: 0x556bf8b2f970: v4i64 = X86ISD::VBROADCAST 0x556bf8acdfe0
try.c: 0x556bf8acdfe0: i64,ch = load<LD8[%lsr.iv6971]> 0x556bf8a40950, 0x556bf8b1d440, undef:i64
try.c: 0x556bf8b1d440: i64,ch = CopyFromReg 0x556bf8a40950, Register:i64 %vreg50
try.c: 0x556bf8b2b760: i64 = Register %vreg50
try.c: 0x556bf8acf4b0: i64 = undef
try.c: 0x556bf8b2b500: v4i64,ch = CopyFromReg 0x556bf8a40950, Register:v4i64 %vreg13
try.c: 0x556bf8b301c0: v4i64 = Register %vreg13
try.c: 0x556bf8ad69a0: v16i32 = X86ISD::VBROADCAST 0x556bf8b2fbd0
try.c: 0x556bf8b2fbd0: i32,ch = load<LD4[ConstantPool]> 0x556bf8a40950, 0x556bf8ae7a10, undef:i64
try.c: 0x556bf8ae7a10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556bf8b10050: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556bf8acf4b0: i64 = undef
try.c: 0x556bf8b48ed0: 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: 0x556bf8b48da0: i32 = Constant<0>
try.c: 0x556bf8b48da0: i32 = Constant<0>
try.c: 0x556bf8b48da0: i32 = Constant<0>
try.c: 0x556bf8b48da0: i32 = Constant<0>
try.c: 0x556bf8b48da0: i32 = Constant<0>
try.c: 0x556bf8b48da0: i32 = Constant<0>
try.c: 0x556bf8b48da0: i32 = Constant<0>
try.c: 0x556bf8b48da0: i32 = Constant<0>
try.c: 0x556bf8b48da0: 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
mult1024.c: mult1024.c:308:7: error: always_inline function '_mm256_set1_epi16' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup857_avx800_constbranchindex' that is compiled without support for 'sse4.2'
mult1024.c: x = const_x16(0);
mult1024.c: ^
mult1024.c: mult1024.c:10:19: note: expanded from macro 'const_x16'
mult1024.c: #define const_x16 _mm256_set1_epi16
mult1024.c: ^
mult1024.c: mult1024.c:309:36: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup857_avx800_constbranchindex' that is compiled without support for 'sse4.2'
mult1024.c: for (i = p&~15;i < 1024;i += 16) store_x16(&f[i],x);
mult1024.c: ^
mult1024.c: mult1024.c:9:24: note: expanded from macro 'store_x16'
mult1024.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult1024.c: ^
mult1024.c: mult1024.c:310:36: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup857_avx800_constbranchindex' that is compiled without support for 'sse4.2'
mult1024.c: for (i = p&~15;i < 1024;i += 16) store_x16(&g[i],x);
mult1024.c: ^
mult1024.c: mult1024.c:9:24: note: expanded from macro 'store_x16'
mult1024.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult1024.c: ^
mult1024.c: mult1024.c:315:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup857_avx800_constbranchindex' that is compiled without support for 'sse4.2'
mult1024.c: x = load_x16(&f[i]);
mult1024.c: ^
mult1024.c: mult1024.c:8:21: note: expanded from macro 'load_x16'
mult1024.c: #define load_x16(p) _mm256_loadu_si256((int16x16 *) (p))
mult1024.c: ^
mult1024.c: mult1024.c:317:5: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_core_multsntrup857_avx800_constbranchindex' that is compiled without support for 'sse4.2'
mult1024.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: 0x55a19da11a70: v4i64 = X86ISD::VTRUNC 0x55a19da11940
try.c: 0x55a19da11940: v16i32 = vselect 0x55a19d9f51a0, 0x55a19d995eb0, 0x55a19da11810
try.c: 0x55a19d9f51a0: v4i1 = X86ISD::PCMPGTM 0x55a19d9eeba0, 0x55a19d9ea730
try.c: 0x55a19d9eeba0: v4i64 = X86ISD::VBROADCAST 0x55a19d98df90
try.c: 0x55a19d98df90: i64,ch = load<LD8[%lsr.iv6971]> 0x55a19d8ff9d0, 0x55a19d9d85f0, undef:i64
try.c: 0x55a19d9d85f0: i64,ch = CopyFromReg 0x55a19d8ff9d0, Register:i64 %vreg50
try.c: 0x55a19d9ea990: i64 = Register %vreg50
try.c: 0x55a19d98f460: i64 = undef
try.c: 0x55a19d9ea730: v4i64,ch = CopyFromReg 0x55a19d8ff9d0, Register:v4i64 %vreg13
try.c: 0x55a19d9ef3f0: v4i64 = Register %vreg13
try.c: 0x55a19d995eb0: v16i32 = X86ISD::VBROADCAST 0x55a19d9eee00
try.c: 0x55a19d9eee00: i32,ch = load<LD4[ConstantPool]> 0x55a19d8ff9d0, 0x55a19d98d570, undef:i64
try.c: 0x55a19d98d570: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a19d9d9bc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a19d98f460: i64 = undef
try.c: 0x55a19da11810: 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: 0x55a19da116e0: i32 = Constant<0>
try.c: 0x55a19da116e0: i32 = Constant<0>
try.c: 0x55a19da116e0: i32 = Constant<0>
try.c: 0x55a19da116e0: i32 = Constant<0>
try.c: 0x55a19da116e0: i32 = Constant<0>
try.c: 0x55a19da116e0: i32 = Constant<0>
try.c: 0x55a19da116e0: i32 = Constant<0>
try.c: 0x55a19da116e0: i32 = Constant<0>
try.c: 0x55a19da116e0: 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: 0x55d24f01d2b0: v4i64 = X86ISD::VTRUNC 0x55d24f01d180
try.c: 0x55d24f01d180: v16i32 = vselect 0x55d24f018050, 0x55d24ef90090, 0x55d24f01d050
try.c: 0x55d24f018050: v4i1 = X86ISD::PCMPGTM 0x55d24eff8a60, 0x55d24eff45f0
try.c: 0x55d24eff8a60: v4i64 = X86ISD::VBROADCAST 0x55d24ef90550
try.c: 0x55d24ef90550: i64,ch = load<LD8[%lsr.iv6971]> 0x55d24eef2a40, 0x55d24ef95550, undef:i64
try.c: 0x55d24ef95550: i64,ch = CopyFromReg 0x55d24eef2a40, Register:i64 %vreg50
try.c: 0x55d24eff4850: i64 = Register %vreg50
try.c: 0x55d24ef70250: i64 = undef
try.c: 0x55d24eff45f0: v4i64,ch = CopyFromReg 0x55d24eef2a40, Register:v4i64 %vreg13
try.c: 0x55d24eff92b0: v4i64 = Register %vreg13
try.c: 0x55d24ef90090: v16i32 = X86ISD::VBROADCAST 0x55d24eff8cc0
try.c: 0x55d24eff8cc0: i32,ch = load<LD4[ConstantPool]> 0x55d24eef2a40, 0x55d24ef93b20, undef:i64
try.c: 0x55d24ef93b20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d24ef70bd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d24ef70250: i64 = undef
try.c: 0x55d24f01d050: 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: 0x55d24f01cf20: i32 = Constant<0>
try.c: 0x55d24f01cf20: i32 = Constant<0>
try.c: 0x55d24f01cf20: i32 = Constant<0>
try.c: 0x55d24f01cf20: i32 = Constant<0>
try.c: 0x55d24f01cf20: i32 = Constant<0>
try.c: 0x55d24f01cf20: i32 = Constant<0>
try.c: 0x55d24f01cf20: i32 = Constant<0>
try.c: 0x55d24f01cf20: i32 = Constant<0>
try.c: 0x55d24f01cf20: 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: 0x56523b2c8ca0: v4i64 = X86ISD::VTRUNC 0x56523b2c8b70
try.c: 0x56523b2c8b70: v16i32 = vselect 0x56523b2db5d0, 0x56523b266cf0, 0x56523b2c8a40
try.c: 0x56523b2db5d0: v4i1 = X86ISD::PCMPGTM 0x56523b2bfa30, 0x56523b2bb5c0
try.c: 0x56523b2bfa30: v4i64 = X86ISD::VBROADCAST 0x56523b284e20
try.c: 0x56523b284e20: i64,ch = load<LD8[%lsr.iv6971]> 0x56523b1d0950, 0x56523b2aa7e0, undef:i64
try.c: 0x56523b2aa7e0: i64,ch = CopyFromReg 0x56523b1d0950, Register:i64 %vreg50
try.c: 0x56523b2bb820: i64 = Register %vreg50
try.c: 0x56523b2862f0: i64 = undef
try.c: 0x56523b2bb5c0: v4i64,ch = CopyFromReg 0x56523b1d0950, Register:v4i64 %vreg13
try.c: 0x56523b2c0280: v4i64 = Register %vreg13
try.c: 0x56523b266cf0: v16i32 = X86ISD::VBROADCAST 0x56523b2bfc90
try.c: 0x56523b2bfc90: i32,ch = load<LD4[ConstantPool]> 0x56523b1d0950, 0x56523b264290, undef:i64
try.c: 0x56523b264290: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56523b2a5620: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56523b2862f0: i64 = undef
try.c: 0x56523b2c8a40: 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: 0x56523b2c8910: i32 = Constant<0>
try.c: 0x56523b2c8910: i32 = Constant<0>
try.c: 0x56523b2c8910: i32 = Constant<0>
try.c: 0x56523b2c8910: i32 = Constant<0>
try.c: 0x56523b2c8910: i32 = Constant<0>
try.c: 0x56523b2c8910: i32 = Constant<0>
try.c: 0x56523b2c8910: i32 = Constant<0>
try.c: 0x56523b2c8910: i32 = Constant<0>
try.c: 0x56523b2c8910: 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