Implementation notes: amd64, hydra7, crypto_kem/frodokem640aes

Computer: hydra7
Microarchitecture: amd64; Sandy Bridge+AES (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: frodokem640aes
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
552452437613 42 056694 940 1760T:optimizedgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
2105543010821 42 028734 940 1760T:optimizedgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
2565393410339 42 027950 940 1760T:optimizedgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
267543919308 42 025774 932 1728T:optimizedgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625

Compiler output


frodo640.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
frodo640.c:                  from frodo_macrify.inc:8,
frodo640.c:                  from frodo640.c:32:
frodo640.c: frodo_macrify.inc: In function 'frodo_mul_add_sa_plus_e':
frodo640.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:112:1: error: inlining failed in call to 'always_inline' '_mm256_add_epi16': target specific option mismatch
frodo640.c:   112 | _mm256_add_epi16 (__m256i __A, __m256i __B)
frodo640.c:       | ^~~~~~~~~~~~~~~~
frodo640.c: In file included from frodo640.c:32:
frodo640.c: frodo_macrify.inc:122:30: note: called from here
frodo640.c:   122 |                     acc[3] = _mm256_add_epi16(a[3], acc[3]);
frodo640.c:       |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frodo640.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
frodo640.c:                  from frodo_macrify.inc:8,
frodo640.c:                  from frodo640.c:32:
frodo640.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:341:1: error: inlining failed in call to 'always_inline' '_mm256_madd_epi16': target specific option mismatch
frodo640.c:   341 | _mm256_madd_epi16 (__m256i __A, __m256i __B)
frodo640.c:       | ^~~~~~~~~~~~~~~~~
frodo640.c: In file included from frodo640.c:32:
frodo640.c: frodo_macrify.inc:121:28: note: called from here
frodo640.c:   121 |                     a[3] = _mm256_madd_epi16(a[3], b);
frodo640.c:       |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
frodo640.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
frodo640.c:                  from frodo_macrify.inc:8,
frodo640.c:                  from frodo640.c:32:
frodo640.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:112:1: error: inlining failed in call to 'always_inline' '_mm256_add_epi16': target specific option mismatch
frodo640.c: ...

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