Implementation notes: amd64, manny613, crypto_kem/sntrup4591761

Computer: manny613
Architecture: amd64
CPU ID: GenuineIntel-000306e4-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_kem
Primitive: sntrup4591761
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
42924964? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018090320180818
42926116? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018090320180818
42934424? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018090320180818
42934964? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018090320180818
42935940? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018090320180818
42936060? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018090320180818
42936872? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018090320180818
42943024? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018090320180818
42943300? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018090320180818
42944036? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018090320180818
42944072? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018090320180818
42944324? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018090320180818
42950756? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018090320180818
42952068? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018090320180818
42953332? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018090320180818
42954880? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018090320180818
42956892? ? ?? ? ?reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018090320180818
42962140? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018090320180818
42966284? ? ?? ? ?reficc_-xAVX_-O2_-fomit-frame-pointer2018090320180818
42967824? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018090320180818
42970516? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018090320180818
42971440? ? ?? ? ?reficc_-xSSE4.2_-O2_-fomit-frame-pointer2018090320180818
42978464? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018090320180818
42981988? ? ?? ? ?reficc_-xSSE4.1_-O2_-fomit-frame-pointer2018090320180818
42985460? ? ?? ? ?reficc2018090320180818
42994384? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018090320180818
43006428? ? ?? ? ?reficc_-no-vec2018090320180818
43010544? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018090320180818
43011036? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018090320180818
43015332? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018090320180818
43017352? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018090320180818
43019564? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018090320180818
43019752? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018090320180818
43021048? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018090320180818
43022048? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018090320180818
43026576? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018090320180818
43027724? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018090320180818
43029112? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018090320180818
43032612? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018090320180818
43032988? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018090320180818
43034924? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018090320180818
43038368? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018090320180818
43043468? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018090320180818
43047020? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018090320180818
43048232? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018090320180818
43053484? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018090320180818
43057344? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018090320180818
43057840? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018090320180818
43060396? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018090320180818
43066092? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018090320180818
43072968? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018090320180818
43075948? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018090320180818
43079852? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018090320180818
43079960? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018090320180818
43080156? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018090320180818
43081964? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018090320180818
43090416? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018090320180818
43125152? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018090320180818
43127452? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018090320180818
43164072? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018090320180818
43168960? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018090320180818
43173508? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018090320180818
43176548? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018090320180818
43180596? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018090320180818
43206420? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018090320180818
43288204? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018090320180818
43288764? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018090320180818
43292504? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018090320180818
43304880? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018090320180818
43306660? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018090320180818
43308848? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018090320180818
43309228? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018090320180818
44044668? ? ?? ? ?reficc_-xAVX_-O3_-fomit-frame-pointer2018090320180818
44047352? ? ?? ? ?reficc_-xSSE4.2_-O3_-fomit-frame-pointer2018090320180818
44048556? ? ?? ? ?reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018090320180818
44060524? ? ?? ? ?reficc_-xSSE4.1_-O3_-fomit-frame-pointer2018090320180818
44076236? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018090320180818
44077024? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018090320180818
44081088? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018090320180818
44087724? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018090320180818
44092964? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018090320180818
44094212? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018090320180818
44096068? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018090320180818
44098120? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018090320180818
44098616? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018090320180818
44099380? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018090320180818
44099580? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018090320180818
44103564? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018090320180818
44103788? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018090320180818
44106172? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018090320180818
44108496? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018090320180818
44111560? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018090320180818
44113560? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018090320180818
44116044? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018090320180818
44117860? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018090320180818
44123176? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018090320180818
44128004? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018090320180818
44130856? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018090320180818
44131084? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018090320180818
44133120? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018090320180818
44146544? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018090320180818
44149812? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018090320180818
63708940? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018090320180818
63711692? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018090320180818
63724528? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018090320180818
63726208? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018090320180818
63739848? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018090320180818
63747016? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018090320180818
64230164? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018090320180818
64253712? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018090320180818
64867412? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018090320180818
64872112? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018090320180818
65987200? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018090320180818
65990736? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018090320180818
116265540? ? ?? ? ?refgcc2018090320180818
116875816? ? ?? ? ?refgcc_-funroll-loops2018090320180818
118359924? ? ?? ? ?refcc2018090320180818

Test failure

Implementation: avx
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer avx
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer avx
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer avx
icc avx
icc -no-vec avx
icc -xAVX -O2 -fomit-frame-pointer avx
icc -xAVX -O3 -fomit-frame-pointer avx
icc -xCORE-AVX-I -O2 -fomit-frame-pointer avx
icc -xCORE-AVX-I -O3 -fomit-frame-pointer avx
icc -xSSE4.1 -O2 -fomit-frame-pointer avx
icc -xSSE4.1 -O3 -fomit-frame-pointer avx
icc -xSSE4.2 -O2 -fomit-frame-pointer avx
icc -xSSE4.2 -O3 -fomit-frame-pointer avx
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Compiler output

Implementation: avx
Security model: unknown
Compiler: cc
mult.c: mult.c:83:1: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:83:26: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:83:35: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:88:1: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:88:30: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:88:39: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:93:1: error: unknown type name '__m256'
mult.c: static inline __m256 fastsub(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:93:30: error: unknown type name '__m256'
mult.c: static inline __m256 fastsub(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:93:39: error: unknown type name '__m256'
mult.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc
mult.c: mult.c: In function 'add':
mult.c: mult.c:84:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: mult.c: In function 'fastsub':
mult.c: mult.c:93:22: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mult.c: static inline __m256 fastsub(__m256 x,__m256 y)
mult.c: ^~~~~~~
mult.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:97,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:90:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
mult.c: from mult.c:2:
mult.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:90:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc avx
gcc -funroll-loops avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'add':
mult.c: mult.c:84:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: mult.c: In function 'squeezeadd16':
mult.c: mult.c:112:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mult.c: static inline __m256i squeezeadd16(__m256i x,__m256i y)
mult.c: ^~~~~~~~~~~~
mult.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:97,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:90:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
mult.c: from mult.c:2:
mult.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:90:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 84, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer avx
gcc -O3 -fomit-frame-pointer avx
gcc -O -fomit-frame-pointer avx
gcc -Os -fomit-frame-pointer avx
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx
gcc -fno-schedule-insns -O -fomit-frame-pointer avx
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx
gcc -funroll-loops -O2 -fomit-frame-pointer avx
gcc -funroll-loops -O3 -fomit-frame-pointer avx
gcc -funroll-loops -O -fomit-frame-pointer avx
gcc -funroll-loops -Os -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer avx
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer avx
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer avx
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer avx
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer avx
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer avx
gcc -m64 -O2 -fomit-frame-pointer avx
gcc -m64 -O3 -fomit-frame-pointer avx
gcc -m64 -O -fomit-frame-pointer avx
gcc -m64 -Os -fomit-frame-pointer avx
gcc -m64 -march=core2 -O2 -fomit-frame-pointer avx
gcc -m64 -march=core2 -O3 -fomit-frame-pointer avx
gcc -m64 -march=core2 -O -fomit-frame-pointer avx
gcc -m64 -march=core2 -Os -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer avx
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer avx
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer avx
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer avx
gcc -m64 -march=corei7 -O -fomit-frame-pointer avx
gcc -m64 -march=corei7 -Os -fomit-frame-pointer avx
gcc -m64 -march=k8 -O2 -fomit-frame-pointer avx
gcc -m64 -march=k8 -O3 -fomit-frame-pointer avx
gcc -m64 -march=k8 -O -fomit-frame-pointer avx
gcc -m64 -march=k8 -Os -fomit-frame-pointer avx
gcc -m64 -march=nocona -O2 -fomit-frame-pointer avx
gcc -m64 -march=nocona -O3 -fomit-frame-pointer avx
gcc -m64 -march=nocona -O -fomit-frame-pointer avx
gcc -m64 -march=nocona -Os -fomit-frame-pointer avx
gcc -march=barcelona -O2 -fomit-frame-pointer avx
gcc -march=barcelona -O3 -fomit-frame-pointer avx
gcc -march=barcelona -O -fomit-frame-pointer avx
gcc -march=barcelona -Os -fomit-frame-pointer avx
gcc -march=k8 -O2 -fomit-frame-pointer avx
gcc -march=k8 -O3 -fomit-frame-pointer avx
gcc -march=k8 -O -fomit-frame-pointer avx
gcc -march=k8 -Os -fomit-frame-pointer avx
gcc -march=nocona -O2 -fomit-frame-pointer avx
gcc -march=nocona -O3 -fomit-frame-pointer avx
gcc -march=nocona -O -fomit-frame-pointer avx
gcc -march=nocona -Os -fomit-frame-pointer avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'add':
mult.c: mult.c:84:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: mult.c: In function 'squeezeadd16':
mult.c: mult.c:112:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mult.c: static inline __m256i squeezeadd16(__m256i x,__m256i y)
mult.c: ^~~~~~~~~~~~
mult.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:97,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:90:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
mult.c: from mult.c:2:
mult.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:90:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: mult.c: In function 'add':
mult.c: mult.c:84:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: mult.c: In function 'squeezeadd16':
mult.c: mult.c:112:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mult.c: static inline __m256i squeezeadd16(__m256i x,__m256i y)
mult.c: ^~~~~~~~~~~~
mult.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:97,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:90:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:41,
mult.c: from mult.c:2:
mult.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:90:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer avx
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer avx
gcc -m64 -march=barcelona -O -fomit-frame-pointer avx
gcc -m64 -march=barcelona -Os -fomit-frame-pointer avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
mult.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:97,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:90:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/immintrin.h:97,
mult.c: from mult.c:2:
mult.c: /home_nfs/bdolbeaur/gcc-8.2.0-full+isl/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:90:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer avx
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer avx
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer avx
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer avx
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer avx
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer avx
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer avx
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer avx
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer avx
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx