Implementation notes: amd64, rumba5, crypto_core/mult3sntrup1277

Computer: rumba5
Microarchitecture: amd64; Zen (800f11)
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20240625
Operation: crypto_core
Primitive: mult3sntrup1277
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2695619769 0 031923 844 960avxclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
2703622489 0 035019 844 960avxclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
2716319850 0 034739 844 960avx800clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
2725317146 0 031659 844 960avx800clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
2732317369 0 031181 804 992avx800gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
2826318962 0 033149 804 992avxgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3406518929 0 027971 844 928avxclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3412716129 0 028309 836 1024avx800clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3420218042 0 028213 836 1024avxclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3423916384 0 027787 844 928avx800clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3597217198 0 029260 796 992avx800gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3690618831 0 031228 796 992avxgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3932216441 0 027400 780 960avx800gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4008416496 0 029061 804 992avx800gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4049618089 0 031029 804 992avxgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4081017230 0 028512 780 960avxgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4890274647 0 018861 804 992refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
5777352640 0 017307 844 960refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
5793894944 0 019987 844 960refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
8398181966 0 015939 844 928refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3667881684 0 013685 804 992refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
3866313471 0 012781 836 1024refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
4037304504 0 012051 844 928refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
6020549712 0 013172 796 992refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
7689468568 0 011904 780 960refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output


mult1280.c: mult1280.c:343:7: error: always_inline function '_mm256_set1_epi16' requires target feature 'avx', but would be inlined into function 'crypto_core_mult3sntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
mult1280.c:   x = const_x16(0);
mult1280.c:       ^
mult1280.c: mult1280.c:10:19: note: expanded from macro 'const_x16'
mult1280.c: #define const_x16 _mm256_set1_epi16
mult1280.c:                   ^
mult1280.c: mult1280.c:343:7: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
mult1280.c: mult1280.c:10:19: note: expanded from macro 'const_x16'
mult1280.c: #define const_x16 _mm256_set1_epi16
mult1280.c:                   ^
mult1280.c: mult1280.c:344:36: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_mult3sntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
mult1280.c:   for (i = p&~15;i < 1280;i += 16) store_x16(&f[i],x);
mult1280.c:                                    ^
mult1280.c: mult1280.c:9:24: note: expanded from macro 'store_x16'
mult1280.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult1280.c:                        ^
mult1280.c: mult1280.c:344:36: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
mult1280.c: mult1280.c:9:24: note: expanded from macro 'store_x16'
mult1280.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult1280.c:                        ^
mult1280.c: mult1280.c:345:36: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_mult3sntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
mult1280.c:   for (i = p&~15;i < 1280;i += 16) store_x16(&g[i],x);
mult1280.c:                                    ^
mult1280.c: mult1280.c:9:24: note: expanded from macro 'store_x16'
mult1280.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult1280.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
avxclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


mult1280.c: mult1280.c:343:7: error: always_inline function '_mm256_set1_epi16' requires target feature 'avx', but would be inlined into function 'crypto_core_mult3sntrup1277_avx800_constbranchindex' that is compiled without support for 'avx'
mult1280.c:   x = const_x16(0);
mult1280.c:       ^
mult1280.c: mult1280.c:10:19: note: expanded from macro 'const_x16'
mult1280.c: #define const_x16 _mm256_set1_epi16
mult1280.c:                   ^
mult1280.c: mult1280.c:343:7: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
mult1280.c: mult1280.c:10:19: note: expanded from macro 'const_x16'
mult1280.c: #define const_x16 _mm256_set1_epi16
mult1280.c:                   ^
mult1280.c: mult1280.c:344:36: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_mult3sntrup1277_avx800_constbranchindex' that is compiled without support for 'avx'
mult1280.c:   for (i = p&~15;i < 1280;i += 16) store_x16(&f[i],x);
mult1280.c:                                    ^
mult1280.c: mult1280.c:9:24: note: expanded from macro 'store_x16'
mult1280.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult1280.c:                        ^
mult1280.c: mult1280.c:344:36: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
mult1280.c: mult1280.c:9:24: note: expanded from macro 'store_x16'
mult1280.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult1280.c:                        ^
mult1280.c: mult1280.c:345:36: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_mult3sntrup1277_avx800_constbranchindex' that is compiled without support for 'avx'
mult1280.c:   for (i = p&~15;i < 1280;i += 16) store_x16(&g[i],x);
mult1280.c:                                    ^
mult1280.c: mult1280.c:9:24: note: expanded from macro 'store_x16'
mult1280.c: #define store_x16(p,v) _mm256_storeu_si256((int16x16 *) (p),(v))
mult1280.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
avx800clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Passed TIMECOP


TIMECOP iterations: 1

Number of similar (implementation,compiler) pairs: 25, namely:
ImplementationCompiler
avxclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avxclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avxclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avxclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avxgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
avxgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
avxgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
avxgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
avx800clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avx800clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avx800clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avx800clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
avx800gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
avx800gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
avx800gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
avx800gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)