Implementation notes: amd64, cherry, crypto_sign/lattisigns512

Computer: cherry
Microarchitecture: amd64; Silvermont (406c4)
Architecture: amd64
CPU ID: GenuineIntel-000406c4-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_sign
Primitive: lattisigns512

Compiler output


ntt_transform.c: ntt_transform.c:27:11: error: always_inline function '_mm256_set_pd' requires target feature 'avx', but would be inlined into function 'ntt_transform' that is compiled without support for 'avx'
ntt_transform.c:   vpinv = _mm256_set_pd(PARAM_APPROX_P_INVERSE, PARAM_APPROX_P_INVERSE, PARAM_APPROX_P_INVERSE, PARAM_APPROX_P_INVERSE);
ntt_transform.c:           ^
ntt_transform.c: ntt_transform.c:27:11: error: AVX vector return of type '__m256d' (vector of 4 'double' values) without 'avx' enabled changes the ABI
ntt_transform.c: ntt_transform.c:28:11: error: always_inline function '_mm256_set_pd' requires target feature 'avx', but would be inlined into function 'ntt_transform' that is compiled without support for 'avx'
ntt_transform.c:   vp    = _mm256_set_pd(8383489., 8383489., 8383489., 8383489.);
ntt_transform.c:           ^
ntt_transform.c: ntt_transform.c:28:11: error: AVX vector return of type '__m256d' (vector of 4 'double' values) without 'avx' enabled changes the ABI
ntt_transform.c: ntt_transform.c:32:10: error: always_inline function '_mm256_load_pd' requires target feature 'avx', but would be inlined into function 'ntt_transform' that is compiled without support for 'avx'
ntt_transform.c:   vo10 = _mm256_load_pd(o+pos);
ntt_transform.c:          ^
ntt_transform.c: ntt_transform.c:32:10: error: AVX vector return of type '__m256d' (vector of 4 'double' values) without 'avx' enabled changes the ABI
ntt_transform.c: ntt_transform.c:33:10: error: always_inline function '_mm256_load_pd' requires target feature 'avx', but would be inlined into function 'ntt_transform' that is compiled without support for 'avx'
ntt_transform.c:   vo20 = _mm256_load_pd(o+pos+4);
ntt_transform.c:          ^
ntt_transform.c: ntt_transform.c:33:10: error: AVX vector return of type '__m256d' (vector of 4 'double' values) without 'avx' enabled changes the ABI
ntt_transform.c: ntt_transform.c:34:10: error: always_inline function '_mm256_load_pd' requires target feature 'avx', but would be inlined into function 'ntt_transform' that is compiled without support for 'avx'
ntt_transform.c:   neg2 = _mm256_load_pd(_neg2);
ntt_transform.c:          ^
ntt_transform.c: ntt_transform.c:34:10: error: AVX vector return of type '__m256d' (vector of 4 'double' values) without 'avx' enabled changes the ABI
ntt_transform.c: ntt_transform.c:35:10: error: always_inline function '_mm256_load_pd' requires target feature 'avx', but would be inlined into function 'ntt_transform' that is compiled without support for 'avx'
ntt_transform.c:   neg4 = _mm256_load_pd(_neg4);
ntt_transform.c:          ^
ntt_transform.c: ntt_transform.c:35:10: error: AVX vector return of type '__m256d' (vector of 4 'double' values) without 'avx' enabled changes the ABI
ntt_transform.c: ntt_transform.c:41:11: error: always_inline function '_mm256_load_pd' requires target feature 'avx', but would be inlined into function 'ntt_transform' that is compiled without support for 'avx'
ntt_transform.c: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:avxclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avxclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


ntt_transform.c: ntt_transform.c: In function 'ntt_transform':
ntt_transform.c: ntt_transform.c:27:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
ntt_transform.c:    27 |   vpinv = _mm256_set_pd(PARAM_APPROX_P_INVERSE, PARAM_APPROX_P_INVERSE, PARAM_APPROX_P_INVERSE, PARAM_APPROX_P_INVERSE);
ntt_transform.c:       |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ntt_transform.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
ntt_transform.c:                  from ntt_transform.c:9:
ntt_transform.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:860:1: error: inlining failed in call to 'always_inline' '_mm256_load_pd': target specific option mismatch
ntt_transform.c:   860 | _mm256_load_pd (double const *__P)
ntt_transform.c:       | ^~~~~~~~~~~~~~
ntt_transform.c: ntt_transform.c:35:10: note: called from here
ntt_transform.c:    35 |   neg4 = _mm256_load_pd(_neg4);
ntt_transform.c:       |          ^~~~~~~~~~~~~~~~~~~~~
ntt_transform.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
ntt_transform.c:                  from ntt_transform.c:9:
ntt_transform.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:860:1: error: inlining failed in call to 'always_inline' '_mm256_load_pd': target specific option mismatch
ntt_transform.c:   860 | _mm256_load_pd (double const *__P)
ntt_transform.c:       | ^~~~~~~~~~~~~~
ntt_transform.c: ntt_transform.c:34:10: note: called from here
ntt_transform.c:    34 |   neg2 = _mm256_load_pd(_neg2);
ntt_transform.c:       |          ^~~~~~~~~~~~~~~~~~~~~
ntt_transform.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:51,
ntt_transform.c:                  from ntt_transform.c:9:
ntt_transform.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avxintrin.h:860:1: error: inlining failed in call to 'always_inline' '_mm256_load_pd': target specific option mismatch
ntt_transform.c:   860 | _mm256_load_pd (double const *__P)
ntt_transform.c:       | ^~~~~~~~~~~~~~
ntt_transform.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:avxgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:avxgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:avxgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:avxgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)