Implementation notes: amd64, hydra6, crypto_kem/ntrulpr4591761

Computer: hydra6
Architecture: amd64
CPU ID: AuthenticAMD-00600f12-178bfbff
SUPERCOP version: 20171218
Operation: crypto_kem
Primitive: ntrulpr4591761
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
67971328? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017123120171218
67973528? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017123120171218
68133524? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017123120171218
68138195? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017123120171218
68140503? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017123120171218
68140806? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017123120171218
68140882? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017123120171218
68217997? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017123120171218
68220310? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017123120171218
68225617? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017123120171218
68227982? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017123120171218
68231575? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017123120171218
68237814? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017123120171218
68241322? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017123120171218
68245122? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017123120171218
68259176? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017123120171218
68260133? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017123120171218
68260575? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017123120171218
68275826? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017123120171218
68310021? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017123120171218
68310738? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017123120171218
68311002? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017123120171218
68326863? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017123120171218
68332671? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017123120171218
68617119? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017123120171218
68617543? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017123120171218
68618720? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017123120171218
68708476? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017123120171218
68710110? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017123120171218
68722872? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017123120171218
68723250? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017123120171218
68723924? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017123120171218
68847494? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017123120171218
68847690? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017123120171218
68850753? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017123120171218
68942319? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017123120171218
68943730? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017123120171218
68951325? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017123120171218
68951384? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017123120171218
68956201? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017123120171218
68991939? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017123120171218
68994580? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017123120171218
69005589? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017123120171218
69005740? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017123120171218
69006014? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017123120171218
69021875? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017123120171218
69117390? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017123120171218
69120979? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017123120171218
69135644? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017123120171218
69136067? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017123120171218
69195889? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017123120171218
69197425? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017123120171218
69200237? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017123120171218
69200343? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017123120171218
69201483? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017123120171218
69299672? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017123120171218
69302436? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017123120171218
69313188? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017123120171218
69315316? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017123120171218
69331110? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017123120171218
69442760? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017123120171218
69455355? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017123120171218
69458149? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017123120171218
69480953? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017123120171218
69705570? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017123120171218
69706066? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017123120171218
69707258? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017123120171218
69707741? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017123120171218
69719003? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017123120171218
69862922? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017123120171218
69893624? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017123120171218
69913150? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017123120171218
69918890? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017123120171218
69979202? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017123120171218
69988600? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017123120171218
70192655? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017123120171218
70207916? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017123120171218
70208766? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017123120171218
70255778? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017123120171218
70259421? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017123120171218
70261178? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017123120171218
70262712? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017123120171218
70267294? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017123120171218
70294764? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017123120171218
70299294? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017123120171218
70310840? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017123120171218
71360921? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017123120171218
71360988? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017123120171218
71508346? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017123120171218
71908449? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017123120171218
71908779? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017123120171218
71908947? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017123120171218
71909125? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017123120171218
71909297? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017123120171218
71909574? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017123120171218
71909598? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017123120171218
71909952? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017123120171218
71912355? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017123120171218
71912414? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017123120171218
71913005? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017123120171218
119985635? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017123120171218
119986249? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017123120171218
121560859? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017123120171218
121561908? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017123120171218
121810286? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017123120171218
121814086? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017123120171218
122083846? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017123120171218
122100701? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017123120171218
123809664? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017123120171218
123818948? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017123120171218
123993779? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017123120171218
123997505? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017123120171218
236246813? ? ?? ? ?refgcc2017123120171218
236251212? ? ?? ? ?refcc2017123120171218
236277591? ? ?? ? ?refgcc_-funroll-loops2017123120171218

Test failure

Implementation: crypto_kem/ntrulpr4591761/avx
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer avx ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer avx ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer avx ref

Compiler output

Implementation: crypto_kem/ntrulpr4591761/avx
Compiler: cc
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: int32_sort.c:15:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:24:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) (x + 8),b);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:23:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) x,a);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
int32_sort.c: ^
int32_sort.c: ...

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

Compiler output

Implementation: crypto_kem/ntrulpr4591761/avx
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
int32_sort.c: int32_sort.c:329:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'minmax8' that is compiled without support for 'sse4.2'
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:330:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'minmax8' that is compiled without support for 'sse4.2'
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) y);
int32_sort.c: ^
int32_sort.c: int32_sort.c:331:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'minmax8' that is compiled without support for 'sse4.2'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:331:37: error: always_inline function '_mm256_min_epi32' requires target feature 'sse4.2', but would be inlined into function 'minmax8' that is compiled without support for 'sse4.2'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'minmax8' that is compiled without support for 'sse4.2'
int32_sort.c: _mm256_storeu_si256((__m256i *) y,_mm256_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:37: error: always_inline function '_mm256_max_epi32' requires target feature 'sse4.2', but would be inlined into function 'minmax8' that is compiled without support for 'sse4.2'
int32_sort.c: _mm256_storeu_si256((__m256i *) y,_mm256_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:363:34: error: always_inline function '_mm_min_epi32' requires target feature 'ssse3', but would be inlined into function 'minmax4' that is compiled without support for 'ssse3'
int32_sort.c: _mm_storeu_si128((__m128i *) x,_mm_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:364:34: error: always_inline function '_mm_max_epi32' requires target feature 'ssse3', but would be inlined into function 'minmax4' that is compiled without support for 'ssse3'
int32_sort.c: _mm_storeu_si128((__m128i *) y,_mm_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:15:15: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'sse4.2'
int32_sort.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx

Compiler output

Implementation: crypto_kem/ntrulpr4591761/avx
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
int32_sort.c: int32_sort.c:331:37: error: always_inline function '_mm256_min_epi32' requires target feature 'avx2', but would be inlined into function 'minmax8' that is compiled without support for 'avx2'
int32_sort.c: _mm256_storeu_si256((__m256i *) x,_mm256_min_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:332:37: error: always_inline function '_mm256_max_epi32' requires target feature 'avx2', but would be inlined into function 'minmax8' that is compiled without support for 'avx2'
int32_sort.c: _mm256_storeu_si256((__m256i *) y,_mm256_max_epi32(a,b));
int32_sort.c: ^
int32_sort.c: int32_sort.c:17:15: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c: __m256i c = _mm256_unpacklo_epi64(a,b); /* a01b01a45b45 */
int32_sort.c: ^
int32_sort.c: int32_sort.c:18:15: error: always_inline function '_mm256_unpackhi_epi64' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c: __m256i d = _mm256_unpackhi_epi64(a,b); /* a23b23a67b67 */
int32_sort.c: ^
int32_sort.c: int32_sort.c:19:15: error: always_inline function '_mm256_min_epi32' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c: __m256i g = _mm256_min_epi32(c,d);
int32_sort.c: ^
int32_sort.c: int32_sort.c:20:15: error: always_inline function '_mm256_max_epi32' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c: __m256i h = _mm256_max_epi32(c,d);
int32_sort.c: ^
int32_sort.c: int32_sort.c:21:7: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c: a = _mm256_unpacklo_epi64(g,h);
int32_sort.c: ^
int32_sort.c: int32_sort.c:22:7: error: always_inline function '_mm256_unpackhi_epi64' requires target feature 'avx2', but would be inlined into function 'minmax02through1315' that is compiled without support for 'avx2'
int32_sort.c: b = _mm256_unpackhi_epi64(g,h);
int32_sort.c: ^
int32_sort.c: int32_sort.c:32:15: error: always_inline function '_mm256_cmpgt_epi32' requires target feature 'avx2', but would be inlined into function 'minmax02134657' that is compiled without support for 'avx2'
int32_sort.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments avx
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx

Compiler output

Implementation: crypto_kem/ntrulpr4591761/avx
Compiler: gcc -O2 -fomit-frame-pointer
int32_sort.c: int32_sort.c: In function 'minmax8':
int32_sort.c: int32_sort.c:329:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:24:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) (x + 8),b);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:23:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) x,a);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
int32_sort.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: crypto_kem/ntrulpr4591761/avx
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
int32_sort.c: int32_sort.c: In function 'minmax8':
int32_sort.c: int32_sort.c:329:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:24:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) (x + 8),b);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:23:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) x,a);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
int32_sort.c: ...
int32_sort.c: int32_sort.c: In function 'minmax8':
int32_sort.c: int32_sort.c:329:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:24:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) (x + 8),b);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:23:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) x,a);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
int32_sort.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: crypto_kem/ntrulpr4591761/avx
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
int32_sort.c: ^
int32_sort.c: int32_sort.c:22:5: error: called from here
int32_sort.c: b = _mm256_unpackhi_epi64(g,h);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:906:1: error: inlining failed in call to always_inline '_mm256_unpacklo_epi64': target specific option mismatch
int32_sort.c: _mm256_unpacklo_epi64 (__m256i __A, __m256i __B)
int32_sort.c: ^
int32_sort.c: int32_sort.c:21:5: error: called from here
int32_sort.c: a = _mm256_unpacklo_epi64(g,h);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:363:1: error: inlining failed in call to always_inline '_mm256_max_epi32': target specific option mismatch
int32_sort.c: _mm256_max_epi32 (__m256i __A, __m256i __B)
int32_sort.c: ^
int32_sort.c: int32_sort.c:20:11: error: called from here
int32_sort.c: __m256i h = _mm256_max_epi32(c,d);
int32_sort.c: ^
int32_sort.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