Implementation notes: amd64, comet, crypto_core/inv3sntrup1277

Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: inv3sntrup1277
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
25542825012 0 038788 780 992avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010420231222
29645429339 0 044921 852 1024avxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010420231222
29645527931 0 043217 852 960avxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010420231222
29850613878 0 026247 844 1024avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010420231222
33992113221 0 024777 852 928avxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010420231222
35282114800 0 026668 780 992avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010420231222
36378814279 0 025787 772 992avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010420231222
4463746402 0 016839 756 960avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010420231222
68931986494 0 020342 788 992refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010420231222
239017117424 0 023079 860 1024refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010420231222
239066134924 0 020287 860 960refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010420231222
327684003493 0 017495 860 928refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
42167298715 0 012327 860 928refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010420231222
53861210692 0 013141 852 1024refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010420231222
91760966807 0 012742 788 992refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010420231222
98608659792 0 012267 772 992refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010420231222
114153635677 0 011049 764 960refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010420231222

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
r3_recip.c: r3_recip.c:488:49: warning: implicit conversion from 'long' to 'int' changes value from 2147483648 to -2147483648 [-Wconstant-conversion]
r3_recip.c: F0[4] = _mm256_set_epi32(0,0,0,0,2147483648,0,2147483648,0);
r3_recip.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
r3_recip.c: r3_recip.c:488:36: warning: implicit conversion from 'long' to 'int' changes value from 2147483648 to -2147483648 [-Wconstant-conversion]
r3_recip.c: F0[4] = _mm256_set_epi32(0,0,0,0,2147483648,0,2147483648,0);
r3_recip.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
r3_recip.c: r3_recip.c:493:49: warning: implicit conversion from 'long' to 'int' changes value from 2147483648 to -2147483648 [-Wconstant-conversion]
r3_recip.c: F1[4] = _mm256_set_epi32(0,0,0,0,2147483648,0,2147483648,0);
r3_recip.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
r3_recip.c: r3_recip.c:493:36: warning: implicit conversion from 'long' to 'int' changes value from 2147483648 to -2147483648 [-Wconstant-conversion]
r3_recip.c: F1[4] = _mm256_set_epi32(0,0,0,0,2147483648,0,2147483648,0);
r3_recip.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
r3_recip.c: 4 warnings generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -Os -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
r3_recip.c: r3_recip.c:488:49: warning: implicit conversion from 'long' to 'int' changes value from 2147483648 to -2147483648 [-Wconstant-conversion]
r3_recip.c: F0[4] = _mm256_set_epi32(0,0,0,0,2147483648,0,2147483648,0);
r3_recip.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
r3_recip.c: r3_recip.c:488:36: warning: implicit conversion from 'long' to 'int' changes value from 2147483648 to -2147483648 [-Wconstant-conversion]
r3_recip.c: F0[4] = _mm256_set_epi32(0,0,0,0,2147483648,0,2147483648,0);
r3_recip.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
r3_recip.c: r3_recip.c:493:49: warning: implicit conversion from 'long' to 'int' changes value from 2147483648 to -2147483648 [-Wconstant-conversion]
r3_recip.c: F1[4] = _mm256_set_epi32(0,0,0,0,2147483648,0,2147483648,0);
r3_recip.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
r3_recip.c: r3_recip.c:493:36: warning: implicit conversion from 'long' to 'int' changes value from 2147483648 to -2147483648 [-Wconstant-conversion]
r3_recip.c: F1[4] = _mm256_set_epi32(0,0,0,0,2147483648,0,2147483648,0);
r3_recip.c: ~~~~~~~~~~~~~~~~ ^~~~~~~~~~
r3_recip.c: r3_recip.c:484:11: error: always_inline function '_mm256_set_epi32' requires target feature 'avx', but would be inlined into function 'crypto_core_inv3sntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
r3_recip.c: F0[0] = _mm256_set_epi32(0,0,0,0,0,0,0,1);
r3_recip.c: ^
r3_recip.c: r3_recip.c:484:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
r3_recip.c: r3_recip.c:485:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'crypto_core_inv3sntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
r3_recip.c: F0[1] = _mm256_set1_epi32(0);
r3_recip.c: ^
r3_recip.c: r3_recip.c:485:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
r3_recip.c: r3_recip.c:486:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'crypto_core_inv3sntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
r3_recip.c: F0[2] = _mm256_set1_epi32(0);
r3_recip.c: ^
r3_recip.c: r3_recip.c:486:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
r3_recip.c: r3_recip.c:487:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'crypto_core_inv3sntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
r3_recip.c: ...

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