Implementation notes: amd64, h8atom, crypto_core/wforcesntrup1277

Computer: h8atom
Microarchitecture: amd64; Bonnell (30661)
Architecture: amd64
CPU ID: GenuineIntel-00030661-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: wforcesntrup1277
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
12813262 0 020532 816 760ref2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
14493476 0 019684 816 760ref2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
14561524 0 014908 816 760ref2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
17362581 0 019844 816 760simplerclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
18412384 0 018596 816 760simplerclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
2037496 0 013884 816 760simplerclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
20583317 0 020116 816 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
2107637 0 015030 776 832simplergcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
2317653 0 015046 776 832ref2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
25201504 0 014396 816 760refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
26043408 0 019124 816 760refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
2961801 0 015126 776 832refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
8400210 0 011766 808 760ref2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
8491225 0 012572 816 760ref2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
9338294 0 013286 776 832ref2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
9338272 0 011713 752 800simplergcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
9373295 0 013029 768 832simplergcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
9387294 0 013286 776 832simplergcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
9408236 0 012572 816 760simplerclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
9485296 0 013029 768 832ref2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
9856273 0 011713 752 800ref2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
9870224 0 011766 808 760simplerclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
13909200 0 013094 776 832refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
14336191 0 011497 752 800refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212
15421175 0 012012 816 760refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
15512157 0 011206 808 760refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
15785198 0 012821 768 832refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121420231212

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
wforce.c: wforce.c:24:13: error: always_inline function '_mm256_set1_epi16' requires target feature 'avx', but would be inlined into function 'crypto_core_wforcesntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
wforce.c: maskvec = _mm256_set1_epi16(~mask);
wforce.c: ^
wforce.c: wforce.c:24:13: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
wforce.c: wforce.c:29:19: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_wforcesntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
wforce.c: __m256i x = _mm256_loadu_si256((__m256i *) in);
wforce.c: ^
wforce.c: wforce.c:29:19: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
wforce.c: wforce.c:30:12: error: always_inline function '_mm256_set1_epi8' requires target feature 'avx', but would be inlined into function 'crypto_core_wforcesntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
wforce.c: x ^= _mm256_set1_epi8(1);
wforce.c: ^
wforce.c: wforce.c:30:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
wforce.c: wforce.c:32:12: error: always_inline function '_mm256_set1_epi8' requires target feature 'avx', but would be inlined into function 'crypto_core_wforcesntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
wforce.c: x ^= _mm256_set1_epi8(1);
wforce.c: ^
wforce.c: wforce.c:32:12: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
wforce.c: wforce.c:33:7: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_wforcesntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
wforce.c: _mm256_storeu_si256((__m256i *) out,x);
wforce.c: ^
wforce.c: wforce.c:33:7: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
wforce.c: wforce.c:46:19: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_wforcesntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
wforce.c: __m256i x = _mm256_loadu_si256((__m256i *) in);
wforce.c: ^
wforce.c: wforce.c:46:19: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
wforce.c: wforce.c:48:7: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_core_wforcesntrup1277_avx_constbranchindex' that is compiled without support for 'avx'
wforce.c: ...

Number of similar (compiler,implementation) pairs: 5, 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
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
wforce.c: wforce.c: In function 'crypto_core_wforcesntrup1277_avx_constbranchindex':
wforce.c: wforce.c:24:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
wforce.c: 24 | maskvec = _mm256_set1_epi16(~mask);
wforce.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
wforce.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
wforce.c: from wforce.c:1:
wforce.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avxintrin.h:1333:1: error: inlining failed in call to 'always_inline' '_mm256_set1_epi16': target specific option mismatch
wforce.c: 1333 | _mm256_set1_epi16 (short __A)
wforce.c: | ^~~~~~~~~~~~~~~~~
wforce.c: wforce.c:24:13: note: called from here
wforce.c: 24 | maskvec = _mm256_set1_epi16(~mask);
wforce.c: | ^~~~~~~~~~~~~~~~~~~~~~~~
wforce.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
wforce.c: from wforce.c:1:
wforce.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avxintrin.h:933:1: error: inlining failed in call to 'always_inline' '_mm256_storeu_si256': target specific option mismatch
wforce.c: 933 | _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
wforce.c: | ^~~~~~~~~~~~~~~~~~~
wforce.c: wforce.c:33:7: note: called from here
wforce.c: 33 | _mm256_storeu_si256((__m256i *) out,x);
wforce.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wforce.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:43,
wforce.c: from wforce.c:1:
wforce.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avxintrin.h:1340:1: error: inlining failed in call to 'always_inline' '_mm256_set1_epi8': target specific option mismatch
wforce.c: 1340 | _mm256_set1_epi8 (char __A)
wforce.c: | ^~~~~~~~~~~~~~~~
wforce.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx