Implementation notes: amd64, manny613, crypto_kem/ntrulpr4591761

Computer: manny613
Architecture: amd64
CPU ID: GenuineIntel-000306e4-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_kem
Primitive: ntrulpr4591761
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
54927112? ? ?? ? ?reficc_-xSSE4.1_-O2_-fomit-frame-pointer2018090320180818
54927444? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018090320180818
54928568? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018090320180818
54933752? ? ?? ? ?reficc_-xSSE4.2_-O2_-fomit-frame-pointer2018090320180818
54935384? ? ?? ? ?reficc_-xAVX_-O2_-fomit-frame-pointer2018090320180818
54936456? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018090320180818
54938484? ? ?? ? ?reficc_-xSSE4.1_-O3_-fomit-frame-pointer2018090320180818
54940808? ? ?? ? ?reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018090320180818
54942104? ? ?? ? ?reficc_-xSSE4.2_-O3_-fomit-frame-pointer2018090320180818
54943448? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018090320180818
54944372? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018090320180818
54948316? ? ?? ? ?reficc_-xAVX_-O3_-fomit-frame-pointer2018090320180818
54950212? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018090320180818
54952412? ? ?? ? ?reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018090320180818
54953028? ? ?? ? ?reficc2018090320180818
54953344? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018090320180818
54959536? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018090320180818
54960376? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018090320180818
54962020? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018090320180818
54963088? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018090320180818
54964828? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018090320180818
54967160? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018090320180818
54971156? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018090320180818
54981852? ? ?? ? ?reficc_-no-vec2018090320180818
54987960? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018090320180818
54991944? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018090320180818
55006092? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018090320180818
55012088? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018090320180818
55013132? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018090320180818
55014648? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018090320180818
55022124? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018090320180818
55022880? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018090320180818
55027728? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018090320180818
55028688? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018090320180818
55030844? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018090320180818
55033092? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018090320180818
55038496? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018090320180818
55039028? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018090320180818
55039684? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018090320180818
55040044? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018090320180818
55043732? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018090320180818
55048424? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018090320180818
55049352? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018090320180818
55049784? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018090320180818
55050924? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018090320180818
55052380? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018090320180818
55053036? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018090320180818
55055776? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018090320180818
55056280? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018090320180818
55056612? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018090320180818
55057284? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018090320180818
55057968? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018090320180818
55058220? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018090320180818
55058964? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018090320180818
55059124? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018090320180818
55061560? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018090320180818
55064324? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018090320180818
55066832? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018090320180818
55068256? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018090320180818
55068648? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018090320180818
55068800? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018090320180818
55068824? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018090320180818
55071944? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018090320180818
55072624? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018090320180818
55072628? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018090320180818
55074132? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018090320180818
55075576? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018090320180818
55077380? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018090320180818
55077704? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018090320180818
55077860? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018090320180818
55085244? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018090320180818
55086360? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018090320180818
55087488? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018090320180818
55088308? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018090320180818
55090016? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018090320180818
55094416? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018090320180818
55096324? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018090320180818
55098748? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018090320180818
55098932? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018090320180818
55099944? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018090320180818
55102072? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018090320180818
55102688? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018090320180818
55106240? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018090320180818
55108992? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018090320180818
55109384? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018090320180818
55109848? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018090320180818
55111688? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018090320180818
55113184? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018090320180818
55114716? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018090320180818
55118324? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018090320180818
55124008? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018090320180818
55124028? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018090320180818
55126660? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018090320180818
55130048? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018090320180818
55136440? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018090320180818
55139628? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018090320180818
55144540? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018090320180818
55150368? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018090320180818
55160928? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018090320180818
55163076? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018090320180818
55175604? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018090320180818
55192300? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018090320180818
81556252? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018090320180818
81567140? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018090320180818
81577736? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018090320180818
81579944? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018090320180818
81606756? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018090320180818
81626036? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018090320180818
81627236? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018090320180818
81639744? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018090320180818
82399112? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018090320180818
82401460? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018090320180818
85393928? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018090320180818
85426780? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018090320180818
146115368? ? ?? ? ?refgcc2018090320180818
146163116? ? ?? ? ?refgcc_-funroll-loops2018090320180818
146557956? ? ?? ? ?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:81:1: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:81:26: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:81:35: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:86:1: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:86:30: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:86:39: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:91:1: error: unknown type name '__m256'
mult.c: static inline __m256 fastsub(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:91:30: error: unknown type name '__m256'
mult.c: static inline __m256 fastsub(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:91: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:82: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:91: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:88: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:88: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:82: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:110: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:88: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:88: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:82: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:110: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:88: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:88: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:82: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:110: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:88: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:88: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:88: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:88: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