Implementation notes: x86, hydra8, crypto_kem/sntrup4591761

Computer: hydra8
Architecture: x86
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_kem
Primitive: sntrup4591761
TimeImplementationCompilerBenchmark dateSUPERCOP version
41809808refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2017121920171218
41810688refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017121920171218
41816268refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2017121920171218
41819576refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2017121920171218
41821208refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017121920171218
41823236refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2017121920171218
41828512refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2017121920171218
41848968refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017121920171218
41853272refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017121920171218
41855836refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017121920171218
41857092refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017121920171218
41857504refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2017121920171218
41881148refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017121920171218
41881900refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017121920171218
41885088refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2017121920171218
41885264refgcc -m32 -O3 -fomit-frame-pointer2017121920171218
41893136refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2017121920171218
41894132refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017121920171218
41894992refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017121920171218
41907200refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017121920171218
41908240refgcc -m32 -O2 -fomit-frame-pointer2017121920171218
41908296refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017121920171218
41908724refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017121920171218
41911108refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017121920171218
41953208refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2017121920171218
41955064refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017121920171218
41959264refgcc -m32 -march=core2 -O -fomit-frame-pointer2017121920171218
41959880refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017121920171218
41961368refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017121920171218
41963140refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017121920171218
41964784refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017121920171218
41967516refgcc -m32 -O -fomit-frame-pointer2017121920171218
41986900refgcc -m32 -march=corei7 -O -fomit-frame-pointer2017121920171218
41993696refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2017121920171218
41994916refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017121920171218
41995260refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017121920171218
41997080refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2017121920171218
42021252refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2017121920171218
42031612refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017121920171218
42049784refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017121920171218
43302188refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017121920171218
43304084refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017121920171218
44045952refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2017121920171218
44047460refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017121920171218
44061520refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2017121920171218
44083432refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017121920171218
44134852refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017121920171218
44134928refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2017121920171218
44135656refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017121920171218
44146644refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017121920171218
44148468refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017121920171218
44149488refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2017121920171218
44179596refgcc -m32 -march=barcelona -O -fomit-frame-pointer2017121920171218
44182484refgcc -m32 -march=k8 -O -fomit-frame-pointer2017121920171218
44209368refgcc -funroll-loops -m32 -O -fomit-frame-pointer2017121920171218
44240948refgcc -m32 -march=athlon -O -fomit-frame-pointer2017121920171218
44243864refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2017121920171218
44247404refgcc -m32 -march=k6 -O -fomit-frame-pointer2017121920171218
44247692refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2017121920171218
44251236refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017121920171218
44265692refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017121920171218
44272772refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2017121920171218
44276996refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017121920171218
44278264refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017121920171218
44280960refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017121920171218
44294136refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017121920171218
44297116refgcc -m32 -march=athlon -Os -fomit-frame-pointer2017121920171218
44300996refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017121920171218
44301004refgcc -m32 -march=k8 -Os -fomit-frame-pointer2017121920171218
44303700refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017121920171218
44303928refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017121920171218
44304380refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017121920171218
44305424refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017121920171218
44307704refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017121920171218
44311272refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017121920171218
44311724refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017121920171218
44311792refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017121920171218
44312028refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017121920171218
44315920refgcc -m32 -march=k6 -Os -fomit-frame-pointer2017121920171218
44320868refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017121920171218
44321316refgcc -m32 -march=i386 -Os -fomit-frame-pointer2017121920171218
44321796refgcc -m32 -march=nocona -Os -fomit-frame-pointer2017121920171218
44322124refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017121920171218
44323336refgcc -m32 -march=prescott -Os -fomit-frame-pointer2017121920171218
44323972refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017121920171218
44324028refgcc -m32 -march=i486 -Os -fomit-frame-pointer2017121920171218
44326428refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2017121920171218
44327728refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2017121920171218
44329956refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017121920171218
44330688refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017121920171218
44338576refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017121920171218
44347664refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017121920171218
44349880refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017121920171218
44350368refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017121920171218
44352740refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017121920171218
44375068refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017121920171218
44381316refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017121920171218
44399048refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2017121920171218
44406184refgcc -m32 -march=core2 -Os -fomit-frame-pointer2017121920171218
44441092refgcc -m32 -march=pentium -Os -fomit-frame-pointer2017121920171218
44447312refgcc -m32 -Os -fomit-frame-pointer2017121920171218
44464452refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2017121920171218
44499588refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2017121920171218
44563644refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2017121920171218
45004176refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017121920171218
45007904refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017121920171218
45048504refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017121920171218
45071628refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017121920171218
45078764refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017121920171218
45114352refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017121920171218
45175592refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017121920171218
45414676refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017121920171218
45414976refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017121920171218
45418296refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017121920171218
45426492refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017121920171218
45426680refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017121920171218
45468548refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017121920171218
45878828refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017121920171218
45907988refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017121920171218
45916040refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017121920171218
45927812refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017121920171218
45952300refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017121920171218
46378548refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017121920171218
46391140refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2017121920171218
46392588refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2017121920171218
46393692refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017121920171218
46398588refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017121920171218
46399100refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017121920171218
46417792refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017121920171218
46498548refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017121920171218
62571600refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2017121920171218
62604604refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2017121920171218
62605792refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2017121920171218
62607596refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2017121920171218
62834500refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2017121920171218
62836356refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017121920171218
62836524refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2017121920171218
63050192refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017121920171218
63086228refgcc -m32 -march=nocona -O -fomit-frame-pointer2017121920171218
63088052refgcc -m32 -march=prescott -O -fomit-frame-pointer2017121920171218
63637432refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017121920171218
63640152refgcc -m32 -march=pentium -O -fomit-frame-pointer2017121920171218
66842332refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017121920171218
66850116refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017121920171218
66853528refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017121920171218
66895540refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017121920171218
66952708refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017121920171218
66975408refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017121920171218
66986972refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017121920171218
66991064refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017121920171218
67272516refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017121920171218
67316100refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017121920171218
67419872refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017121920171218
67479736refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017121920171218
76450616refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2017121920171218
76451672refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2017121920171218
76453708refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2017121920171218
76454668refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2017121920171218
77507708refgcc -m32 -march=i486 -O -fomit-frame-pointer2017121920171218
77565400refgcc -m32 -march=i386 -O -fomit-frame-pointer2017121920171218
78760568refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2017121920171218
78870704refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017121920171218
78889484refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017121920171218
79280752refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017121920171218
79364596refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017121920171218
79401192refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017121920171218
79838036refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017121920171218
79845500refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017121920171218
79928212refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017121920171218
80182056refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017121920171218
80775880refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017121920171218
80829456refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017121920171218

Test failure

Implementation: crypto_kem/sntrup4591761/ref
Compiler: gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -funroll-loops -m32 -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: int32_sort.c: In function 'minmax4':
int32_sort.c: int32_sort.c:361:11: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
int32_sort.c: __m128i a = _mm_loadu_si128((__m128i *) 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: ...

Number of similar (compiler,implementation) pairs: 88, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer avx
gcc -m32 -O2 -fomit-frame-pointer avx
gcc -m32 -O3 -fomit-frame-pointer avx
gcc -m32 -O -fomit-frame-pointer avx
gcc -m32 -Os -fomit-frame-pointer avx
gcc -m32 -march=athlon -O2 -fomit-frame-pointer avx
gcc -m32 -march=athlon -O3 -fomit-frame-pointer avx
gcc -m32 -march=athlon -O -fomit-frame-pointer avx
gcc -m32 -march=athlon -Os -fomit-frame-pointer avx
gcc -m32 -march=i386 -O2 -fomit-frame-pointer avx
gcc -m32 -march=i386 -O3 -fomit-frame-pointer avx
gcc -m32 -march=i386 -O -fomit-frame-pointer avx
gcc -m32 -march=i386 -Os -fomit-frame-pointer avx
gcc -m32 -march=i486 -O2 -fomit-frame-pointer avx
gcc -m32 -march=i486 -O3 -fomit-frame-pointer avx
gcc -m32 -march=i486 -O -fomit-frame-pointer avx
gcc -m32 -march=i486 -Os -fomit-frame-pointer avx
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer avx
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer avx
gcc -m32 -march=k6-2 -O -fomit-frame-pointer avx
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer avx
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer avx
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer avx
gcc -m32 -march=k6-3 -O -fomit-frame-pointer avx
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer avx
gcc -m32 -march=k6 -O2 -fomit-frame-pointer avx
gcc -m32 -march=k6 -O3 -fomit-frame-pointer avx
gcc -m32 -march=k6 -O -fomit-frame-pointer avx
gcc -m32 -march=k6 -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer avx
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium2 -O -fomit-frame-pointer avx
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium -O -fomit-frame-pointer avx
gcc -m32 -march=pentium -Os -fomit-frame-pointer avx
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer avx
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer avx

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -funroll-loops -m32 -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: ...

Number of similar (compiler,implementation) pairs: 68, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer avx
gcc -m32 -march=core2 -O2 -fomit-frame-pointer avx
gcc -m32 -march=core2 -O3 -fomit-frame-pointer avx
gcc -m32 -march=core2 -O -fomit-frame-pointer avx
gcc -m32 -march=core2 -Os -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer avx
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer avx
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer avx
gcc -m32 -march=corei7 -O -fomit-frame-pointer avx
gcc -m32 -march=corei7 -Os -fomit-frame-pointer avx
gcc -m32 -march=k8 -O2 -fomit-frame-pointer avx
gcc -m32 -march=k8 -O3 -fomit-frame-pointer avx
gcc -m32 -march=k8 -O -fomit-frame-pointer avx
gcc -m32 -march=k8 -Os -fomit-frame-pointer avx
gcc -m32 -march=nocona -O2 -fomit-frame-pointer avx
gcc -m32 -march=nocona -O3 -fomit-frame-pointer avx
gcc -m32 -march=nocona -O -fomit-frame-pointer avx
gcc -m32 -march=nocona -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium-m -O -fomit-frame-pointer avx
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium3 -O -fomit-frame-pointer avx
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium4 -O -fomit-frame-pointer avx
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer avx
gcc -m32 -march=prescott -O2 -fomit-frame-pointer avx
gcc -m32 -march=prescott -O3 -fomit-frame-pointer avx
gcc -m32 -march=prescott -O -fomit-frame-pointer avx
gcc -m32 -march=prescott -Os -fomit-frame-pointer avx

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -m32 -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 -m32 -march=barcelona -O2 -fomit-frame-pointer avx
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer avx
gcc -m32 -march=barcelona -O -fomit-frame-pointer avx
gcc -m32 -march=barcelona -Os -fomit-frame-pointer avx

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -m32 -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: 12, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer avx
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer avx
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer avx
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer avx
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer avx
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer avx
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer avx
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer avx
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer avx
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer avx
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer avx
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer avx

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'mult24x8_float':
mult.c: mult.c:49:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:149:3: note: in expansion of macro 'MULSTEP_fromzero'
mult.c: MULSTEP_fromzero(0,h0,h1,h2,h3,h4)
mult.c: ^
mult.c: mult.c:36:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:151:5: note: in expansion of macro 'MULSTEP_noload'
mult.c: MULSTEP_noload(j + 1,h1,h2,h3,h4,h0)
mult.c: ^
mult.c: mult.c:36:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:152:5: note: in expansion of macro 'MULSTEP_noload'
mult.c: MULSTEP_noload(j + 2,h2,h3,h4,h0,h1)
mult.c: ^
mult.c: mult.c:36:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:153:5: note: in expansion of macro 'MULSTEP_noload'
mult.c: MULSTEP_noload(j + 3,h3,h4,h0,h1,h2)
mult.c: ^
mult.c: ...

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