Implementation notes: amd64, cel02, crypto_core/multsntrup653

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_core
Primitive: multsntrup653
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1900615312 0 026212 808 800avx800gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2312814582 0 025668 792 760avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2390417233 0 032693 824 864avx800gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2433615186 0 027452 816 800avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2703615352 0 026404 792 760avx800clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2715215706 0 027932 816 800avx800gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2763817657 0 033157 824 864avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2980415452 0 027404 816 800avx800gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3157214801 0 026764 816 800avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3743615756 0 026708 808 800avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12066762651 0 015506 800 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1745546590 0 011572 792 760refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1762668608 0 012532 816 800refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1770672640 0 012836 816 800refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
18139905614 0 021109 824 864refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2831500485 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: 0x55f7bdc681c0: v4i64 = X86ISD::VTRUNC 0x55f7bdc68090
try.c: 0x55f7bdc68090: v16i32 = vselect 0x55f7bdc70440, 0x55f7bdc1b260, 0x55f7bdc67f60
try.c: 0x55f7bdc70440: v4i1 = X86ISD::PCMPGTM 0x55f7bdc64bb0, 0x55f7bdc60740
try.c: 0x55f7bdc64bb0: v4i64 = X86ISD::VBROADCAST 0x55f7bdc08bb0
try.c: 0x55f7bdc08bb0: i64,ch = load<LD8[%lsr.iv6971]> 0x55f7bdb75950, 0x55f7bdc57960, undef:i64
try.c: 0x55f7bdc57960: i64,ch = CopyFromReg 0x55f7bdb75950, Register:i64 %vreg50
try.c: 0x55f7bdc609a0: i64 = Register %vreg50
try.c: 0x55f7bdc198d0: i64 = undef
try.c: 0x55f7bdc60740: v4i64,ch = CopyFromReg 0x55f7bdb75950, Register:v4i64 %vreg13
try.c: 0x55f7bdc65400: v4i64 = Register %vreg13
try.c: 0x55f7bdc1b260: v16i32 = X86ISD::VBROADCAST 0x55f7bdc64e10
try.c: 0x55f7bdc64e10: i32,ch = load<LD4[ConstantPool]> 0x55f7bdb75950, 0x55f7bdc08190, undef:i64
try.c: 0x55f7bdc08190: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f7bdc4baa0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f7bdc198d0: i64 = undef
try.c: 0x55f7bdc67f60: 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: 0x55f7bdc67e30: i32 = Constant<0>
try.c: 0x55f7bdc67e30: i32 = Constant<0>
try.c: 0x55f7bdc67e30: i32 = Constant<0>
try.c: 0x55f7bdc67e30: i32 = Constant<0>
try.c: 0x55f7bdc67e30: i32 = Constant<0>
try.c: 0x55f7bdc67e30: i32 = Constant<0>
try.c: 0x55f7bdc67e30: i32 = Constant<0>
try.c: 0x55f7bdc67e30: i32 = Constant<0>
try.c: 0x55f7bdc67e30: 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: 0x5608e65d81b0: v4i64 = X86ISD::VTRUNC 0x5608e65d8080
try.c: 0x5608e65d8080: v16i32 = vselect 0x5608e65d2110, 0x5608e65557a0, 0x5608e65d7f50
try.c: 0x5608e65d2110: v4i1 = X86ISD::PCMPGTM 0x5608e65b4170, 0x5608e65b0300
try.c: 0x5608e65b4170: v4i64 = X86ISD::VBROADCAST 0x5608e6555c60
try.c: 0x5608e6555c60: i64,ch = load<LD8[%lsr.iv6971]> 0x5608e64ada10, 0x5608e65514c0, undef:i64
try.c: 0x5608e65514c0: i64,ch = CopyFromReg 0x5608e64ada10, Register:i64 %vreg50
try.c: 0x5608e65b0560: i64 = Register %vreg50
try.c: 0x5608e654b140: i64 = undef
try.c: 0x5608e65b0300: v4i64,ch = CopyFromReg 0x5608e64ada10, Register:v4i64 %vreg13
try.c: 0x5608e65b49c0: v4i64 = Register %vreg13
try.c: 0x5608e65557a0: v16i32 = X86ISD::VBROADCAST 0x5608e65b43d0
try.c: 0x5608e65b43d0: i32,ch = load<LD4[ConstantPool]> 0x5608e64ada10, 0x5608e654ee70, undef:i64
try.c: 0x5608e654ee70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5608e654bac0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5608e654b140: i64 = undef
try.c: 0x5608e65d7f50: 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: 0x5608e65d7e20: i32 = Constant<0>
try.c: 0x5608e65d7e20: i32 = Constant<0>
try.c: 0x5608e65d7e20: i32 = Constant<0>
try.c: 0x5608e65d7e20: i32 = Constant<0>
try.c: 0x5608e65d7e20: i32 = Constant<0>
try.c: 0x5608e65d7e20: i32 = Constant<0>
try.c: 0x5608e65d7e20: i32 = Constant<0>
try.c: 0x5608e65d7e20: i32 = Constant<0>
try.c: 0x5608e65d7e20: 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: 0x55fdaca09990: v4i64 = X86ISD::VTRUNC 0x55fdaca09860
try.c: 0x55fdaca09860: v16i32 = vselect 0x55fdac9ef4d0, 0x55fdac98e690, 0x55fdaca09730
try.c: 0x55fdac9ef4d0: v4i1 = X86ISD::PCMPGTM 0x55fdac9e8080, 0x55fdac9e3c10
try.c: 0x55fdac9e8080: v4i64 = X86ISD::VBROADCAST 0x55fdac99ecb0
try.c: 0x55fdac99ecb0: i64,ch = load<LD8[%lsr.iv6971]> 0x55fdac8f8930, 0x55fdac9db1e0, undef:i64
try.c: 0x55fdac9db1e0: i64,ch = CopyFromReg 0x55fdac8f8930, Register:i64 %vreg50
try.c: 0x55fdac9e3e70: i64 = Register %vreg50
try.c: 0x55fdac9a0180: i64 = undef
try.c: 0x55fdac9e3c10: v4i64,ch = CopyFromReg 0x55fdac8f8930, Register:v4i64 %vreg13
try.c: 0x55fdac9e88d0: v4i64 = Register %vreg13
try.c: 0x55fdac98e690: v16i32 = X86ISD::VBROADCAST 0x55fdac9e82e0
try.c: 0x55fdac9e82e0: i32,ch = load<LD4[ConstantPool]> 0x55fdac8f8930, 0x55fdac99e290, undef:i64
try.c: 0x55fdac99e290: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fdac9903a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fdac9a0180: i64 = undef
try.c: 0x55fdaca09730: 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: 0x55fdaca09600: i32 = Constant<0>
try.c: 0x55fdaca09600: i32 = Constant<0>
try.c: 0x55fdaca09600: i32 = Constant<0>
try.c: 0x55fdaca09600: i32 = Constant<0>
try.c: 0x55fdaca09600: i32 = Constant<0>
try.c: 0x55fdaca09600: i32 = Constant<0>
try.c: 0x55fdaca09600: i32 = Constant<0>
try.c: 0x55fdaca09600: i32 = Constant<0>
try.c: 0x55fdaca09600: 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_multsntrup653_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_multsntrup653_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_multsntrup653_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_multsntrup653_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_multsntrup653_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: 0x55bb6368f230: v4i64 = X86ISD::VTRUNC 0x55bb6368f100
try.c: 0x55bb6368f100: v16i32 = vselect 0x55bb636937e0, 0x55bb6361ca40, 0x55bb6368efd0
try.c: 0x55bb636937e0: v4i1 = X86ISD::PCMPGTM 0x55bb636758c0, 0x55bb63671450
try.c: 0x55bb636758c0: v4i64 = X86ISD::VBROADCAST 0x55bb636303f0
try.c: 0x55bb636303f0: i64,ch = load<LD8[%lsr.iv6971]> 0x55bb63586950, 0x55bb6366c2b0, undef:i64
try.c: 0x55bb6366c2b0: i64,ch = CopyFromReg 0x55bb63586950, Register:i64 %vreg50
try.c: 0x55bb636716b0: i64 = Register %vreg50
try.c: 0x55bb636318c0: i64 = undef
try.c: 0x55bb63671450: v4i64,ch = CopyFromReg 0x55bb63586950, Register:v4i64 %vreg13
try.c: 0x55bb63676110: v4i64 = Register %vreg13
try.c: 0x55bb6361ca40: v16i32 = X86ISD::VBROADCAST 0x55bb63675b20
try.c: 0x55bb63675b20: i32,ch = load<LD4[ConstantPool]> 0x55bb63586950, 0x55bb6362f9d0, undef:i64
try.c: 0x55bb6362f9d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bb635d6e00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bb636318c0: i64 = undef
try.c: 0x55bb6368efd0: 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: 0x55bb6368eea0: i32 = Constant<0>
try.c: 0x55bb6368eea0: i32 = Constant<0>
try.c: 0x55bb6368eea0: i32 = Constant<0>
try.c: 0x55bb6368eea0: i32 = Constant<0>
try.c: 0x55bb6368eea0: i32 = Constant<0>
try.c: 0x55bb6368eea0: i32 = Constant<0>
try.c: 0x55bb6368eea0: i32 = Constant<0>
try.c: 0x55bb6368eea0: i32 = Constant<0>
try.c: 0x55bb6368eea0: 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: 0x55fd4b4321c0: v4i64 = X86ISD::VTRUNC 0x55fd4b432090
try.c: 0x55fd4b432090: v16i32 = vselect 0x55fd4b423740, 0x55fd4b3adfd0, 0x55fd4b431f60
try.c: 0x55fd4b423740: v4i1 = X86ISD::PCMPGTM 0x55fd4b40d560, 0x55fd4b409330
try.c: 0x55fd4b40d560: v4i64 = X86ISD::VBROADCAST 0x55fd4b3ae490
try.c: 0x55fd4b3ae490: i64,ch = load<LD8[%lsr.iv6971]> 0x55fd4b307a30, 0x55fd4b3cc9f0, undef:i64
try.c: 0x55fd4b3cc9f0: i64,ch = CopyFromReg 0x55fd4b307a30, Register:i64 %vreg50
try.c: 0x55fd4b409590: i64 = Register %vreg50
try.c: 0x55fd4b3a50f0: i64 = undef
try.c: 0x55fd4b409330: v4i64,ch = CopyFromReg 0x55fd4b307a30, Register:v4i64 %vreg13
try.c: 0x55fd4b40ddb0: v4i64 = Register %vreg13
try.c: 0x55fd4b3adfd0: v16i32 = X86ISD::VBROADCAST 0x55fd4b40d7c0
try.c: 0x55fd4b40d7c0: i32,ch = load<LD4[ConstantPool]> 0x55fd4b307a30, 0x55fd4b3b0970, undef:i64
try.c: 0x55fd4b3b0970: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fd4b3a5a70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fd4b3a50f0: i64 = undef
try.c: 0x55fd4b431f60: 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: 0x55fd4b431e30: i32 = Constant<0>
try.c: 0x55fd4b431e30: i32 = Constant<0>
try.c: 0x55fd4b431e30: i32 = Constant<0>
try.c: 0x55fd4b431e30: i32 = Constant<0>
try.c: 0x55fd4b431e30: i32 = Constant<0>
try.c: 0x55fd4b431e30: i32 = Constant<0>
try.c: 0x55fd4b431e30: i32 = Constant<0>
try.c: 0x55fd4b431e30: i32 = Constant<0>
try.c: 0x55fd4b431e30: 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: 0x560ec4a68240: v4i64 = X86ISD::VTRUNC 0x560ec4a68110
try.c: 0x560ec4a68110: v16i32 = vselect 0x560ec4a64c20, 0x560ec49fae20, 0x560ec4a67fe0
try.c: 0x560ec4a64c20: v4i1 = X86ISD::PCMPGTM 0x560ec4a4d8b0, 0x560ec4a49440
try.c: 0x560ec4a4d8b0: v4i64 = X86ISD::VBROADCAST 0x560ec49f50a0
try.c: 0x560ec49f50a0: i64,ch = load<LD8[%lsr.iv6971]> 0x560ec495e950, 0x560ec49bb0e0, undef:i64
try.c: 0x560ec49bb0e0: i64,ch = CopyFromReg 0x560ec495e950, Register:i64 %vreg50
try.c: 0x560ec4a496a0: i64 = Register %vreg50
try.c: 0x560ec49f6570: i64 = undef
try.c: 0x560ec4a49440: v4i64,ch = CopyFromReg 0x560ec495e950, Register:v4i64 %vreg13
try.c: 0x560ec4a4e100: v4i64 = Register %vreg13
try.c: 0x560ec49fae20: v16i32 = X86ISD::VBROADCAST 0x560ec4a4db10
try.c: 0x560ec4a4db10: i32,ch = load<LD4[ConstantPool]> 0x560ec495e950, 0x560ec4a14cf0, undef:i64
try.c: 0x560ec4a14cf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560ec4a37370: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560ec49f6570: i64 = undef
try.c: 0x560ec4a67fe0: 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: 0x560ec4a67eb0: i32 = Constant<0>
try.c: 0x560ec4a67eb0: i32 = Constant<0>
try.c: 0x560ec4a67eb0: i32 = Constant<0>
try.c: 0x560ec4a67eb0: i32 = Constant<0>
try.c: 0x560ec4a67eb0: i32 = Constant<0>
try.c: 0x560ec4a67eb0: i32 = Constant<0>
try.c: 0x560ec4a67eb0: i32 = Constant<0>
try.c: 0x560ec4a67eb0: i32 = Constant<0>
try.c: 0x560ec4a67eb0: 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_multsntrup653_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_multsntrup653_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_multsntrup653_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_multsntrup653_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_multsntrup653_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: 0x55e6dd75eb80: v4i64 = X86ISD::VTRUNC 0x55e6dd75ea50
try.c: 0x55e6dd75ea50: v16i32 = vselect 0x55e6dd75b560, 0x55e6dd6fe590, 0x55e6dd75e920
try.c: 0x55e6dd75b560: v4i1 = X86ISD::PCMPGTM 0x55e6dd756960, 0x55e6dd7524f0
try.c: 0x55e6dd756960: v4i64 = X86ISD::VBROADCAST 0x55e6dd711e80
try.c: 0x55e6dd711e80: i64,ch = load<LD8[%lsr.iv6971]> 0x55e6dd6679a0, 0x55e6dd740770, undef:i64
try.c: 0x55e6dd740770: i64,ch = CopyFromReg 0x55e6dd6679a0, Register:i64 %vreg50
try.c: 0x55e6dd752750: i64 = Register %vreg50
try.c: 0x55e6dd6fcc00: i64 = undef
try.c: 0x55e6dd7524f0: v4i64,ch = CopyFromReg 0x55e6dd6679a0, Register:v4i64 %vreg13
try.c: 0x55e6dd7571b0: v4i64 = Register %vreg13
try.c: 0x55e6dd6fe590: v16i32 = X86ISD::VBROADCAST 0x55e6dd756bc0
try.c: 0x55e6dd756bc0: i32,ch = load<LD4[ConstantPool]> 0x55e6dd6679a0, 0x55e6dd711460, undef:i64
try.c: 0x55e6dd711460: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e6dd741970: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e6dd6fcc00: i64 = undef
try.c: 0x55e6dd75e920: 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: 0x55e6dd75e7f0: i32 = Constant<0>
try.c: 0x55e6dd75e7f0: i32 = Constant<0>
try.c: 0x55e6dd75e7f0: i32 = Constant<0>
try.c: 0x55e6dd75e7f0: i32 = Constant<0>
try.c: 0x55e6dd75e7f0: i32 = Constant<0>
try.c: 0x55e6dd75e7f0: i32 = Constant<0>
try.c: 0x55e6dd75e7f0: i32 = Constant<0>
try.c: 0x55e6dd75e7f0: i32 = Constant<0>
try.c: 0x55e6dd75e7f0: 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: 0x560acf945a80: v4i64 = X86ISD::VTRUNC 0x560acf945950
try.c: 0x560acf945950: v16i32 = vselect 0x560acf940450, 0x560acf8d99a0, 0x560acf945820
try.c: 0x560acf940450: v4i1 = X86ISD::PCMPGTM 0x560acf92a270, 0x560acf926c50
try.c: 0x560acf92a270: v4i64 = X86ISD::VBROADCAST 0x560acf8d9e60
try.c: 0x560acf8d9e60: i64,ch = load<LD8[%lsr.iv6971]> 0x560acf824a30, 0x560acf8cc540, undef:i64
try.c: 0x560acf8cc540: i64,ch = CopyFromReg 0x560acf824a30, Register:i64 %vreg50
try.c: 0x560acf926eb0: i64 = Register %vreg50
try.c: 0x560acf8c3f70: i64 = undef
try.c: 0x560acf926c50: v4i64,ch = CopyFromReg 0x560acf824a30, Register:v4i64 %vreg13
try.c: 0x560acf92aac0: v4i64 = Register %vreg13
try.c: 0x560acf8d99a0: v16i32 = X86ISD::VBROADCAST 0x560acf92a4d0
try.c: 0x560acf92a4d0: i32,ch = load<LD4[ConstantPool]> 0x560acf824a30, 0x560acf8cab10, undef:i64
try.c: 0x560acf8cab10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560acf8c48f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560acf8c3f70: i64 = undef
try.c: 0x560acf945820: 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: 0x560acf9456f0: i32 = Constant<0>
try.c: 0x560acf9456f0: i32 = Constant<0>
try.c: 0x560acf9456f0: i32 = Constant<0>
try.c: 0x560acf9456f0: i32 = Constant<0>
try.c: 0x560acf9456f0: i32 = Constant<0>
try.c: 0x560acf9456f0: i32 = Constant<0>
try.c: 0x560acf9456f0: i32 = Constant<0>
try.c: 0x560acf9456f0: i32 = Constant<0>
try.c: 0x560acf9456f0: 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: 0x55948ff37320: v4i64 = X86ISD::VTRUNC 0x55948ff371f0
try.c: 0x55948ff371f0: v16i32 = vselect 0x55948fedfc20, 0x55948fec07c0, 0x55948ff370c0
try.c: 0x55948fedfc20: v4i1 = X86ISD::PCMPGTM 0x55948ff1f9c0, 0x55948ff1b550
try.c: 0x55948ff1f9c0: v4i64 = X86ISD::VBROADCAST 0x55948fec5fa0
try.c: 0x55948fec5fa0: i64,ch = load<LD8[%lsr.iv6971]> 0x55948fe30930, 0x55948ff0ac40, undef:i64
try.c: 0x55948ff0ac40: i64,ch = CopyFromReg 0x55948fe30930, Register:i64 %vreg50
try.c: 0x55948ff1b7b0: i64 = Register %vreg50
try.c: 0x55948fec7470: i64 = undef
try.c: 0x55948ff1b550: v4i64,ch = CopyFromReg 0x55948fe30930, Register:v4i64 %vreg13
try.c: 0x55948ff20210: v4i64 = Register %vreg13
try.c: 0x55948fec07c0: v16i32 = X86ISD::VBROADCAST 0x55948ff1fc20
try.c: 0x55948ff1fc20: i32,ch = load<LD4[ConstantPool]> 0x55948fe30930, 0x55948fee71c0, undef:i64
try.c: 0x55948fee71c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55948fec34e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55948fec7470: i64 = undef
try.c: 0x55948ff370c0: 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: 0x55948ff36f90: i32 = Constant<0>
try.c: 0x55948ff36f90: i32 = Constant<0>
try.c: 0x55948ff36f90: i32 = Constant<0>
try.c: 0x55948ff36f90: i32 = Constant<0>
try.c: 0x55948ff36f90: i32 = Constant<0>
try.c: 0x55948ff36f90: i32 = Constant<0>
try.c: 0x55948ff36f90: i32 = Constant<0>
try.c: 0x55948ff36f90: i32 = Constant<0>
try.c: 0x55948ff36f90: 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