Implementation notes: x86, h9trinity, crypto_kem/sntrup4591761

Computer: h9trinity
Architecture: x86
CPU ID: AuthenticAMD-00610f01-178bfbff
SUPERCOP version: 20171218
Operation: crypto_kem
Primitive: sntrup4591761
TimeImplementationCompilerBenchmark dateSUPERCOP version
52097891refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018010620171218
52100441refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018010620171218
52162409refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018010620171218
52162662refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018010620171218
52575476refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018010620171218
52635924refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018010620171218
52638443refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018010620171218
52639767refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018010620171218
52679585refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018010620171218
52694020refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018010620171218
52753157refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018010620171218
52991178refgcc -m32 -march=core2 -O -fomit-frame-pointer2018010620171218
52993311refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018010620171218
53005816refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018010620171218
53148579refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018010620171218
53150263refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018010620171218
53282375refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018010620171218
53298693refgcc -m32 -O -fomit-frame-pointer2018010620171218
53322955refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018010620171218
53346051refgcc -m32 -O3 -fomit-frame-pointer2018010620171218
53365672refgcc -m32 -O2 -fomit-frame-pointer2018010620171218
53463839refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018010620171218
53472855refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018010620171218
53481234refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018010620171218
53481448refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018010620171218
53489132refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018010620171218
53491363refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018010620171218
53555882refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018010620171218
53556972refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018010620171218
53560566refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018010620171218
53696606refgcc -m32 -march=athlon -O -fomit-frame-pointer2018010620171218
53944724refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018010620171218
53988723refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018010620171218
54050770refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018010620171218
54069526refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018010620171218
54172250refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018010620171218
54173935refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018010620171218
54183210refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018010620171218
54187937refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018010620171218
54196166refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018010620171218
54389831refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018010620171218
54423154refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018010620171218
54447268refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018010620171218
54470918refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018010620171218
54481217refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018010620171218
54495845refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018010620171218
54540469refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018010620171218
54540900refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018010620171218
54542147refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018010620171218
54620102refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018010620171218
54620775refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018010620171218
54622095refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018010620171218
54623057refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018010620171218
54646989refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018010620171218
54692923refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018010620171218
54694628refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018010620171218
54696655refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018010620171218
54923869refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018010620171218
54973017refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018010620171218
55007730refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018010620171218
55130127refgcc -m32 -march=k8 -O -fomit-frame-pointer2018010620171218
55331680refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018010620171218
55332827refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018010620171218
55336175refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018010620171218
55337735refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018010620171218
55343032refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018010620171218
55344085refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018010620171218
55346715refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018010620171218
55350582refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018010620171218
55361461refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018010620171218
55370851refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018010620171218
55394503refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018010620171218
55394712refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018010620171218
55404660refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018010620171218
55421160refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018010620171218
55717156refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018010620171218
55717329refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018010620171218
55718190refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018010620171218
55742867refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018010620171218
55743027refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018010620171218
55760586refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018010620171218
55785271refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018010620171218
55794092refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018010620171218
55835776refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018010620171218
55842296refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018010620171218
55865376refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018010620171218
55898997refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018010620171218
55899091refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018010620171218
55899665refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018010620171218
55958945refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018010620171218
55965004refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018010620171218
56018685refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018010620171218
56019508refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018010620171218
56115723refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018010620171218
56116486refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018010620171218
56117912refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018010620171218
56127101refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018010620171218
56128770refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018010620171218
56130035refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018010620171218
56362195refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018010620171218
56363521refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018010620171218
56407155refgcc -m32 -march=k6 -O -fomit-frame-pointer2018010620171218
56408196refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018010620171218
56412763refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018010620171218
56445153refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018010620171218
56448894refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018010620171218
56508500refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018010620171218
56509903refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018010620171218
56581659refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018010620171218
56581724refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018010620171218
56625837refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018010620171218
56650738refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018010620171218
56918740refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018010620171218
56924010refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018010620171218
56948066refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018010620171218
56951344refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018010620171218
56954047refgcc -m32 -Os -fomit-frame-pointer2018010620171218
57157871refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018010620171218
57161006refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018010620171218
57225777refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018010620171218
57226585refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018010620171218
57309869refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018010620171218
57310439refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018010620171218
57311861refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018010620171218
57311904refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018010620171218
57386775refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018010620171218
57446182refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018010620171218
57471233refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018010620171218
57899091refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018010620171218
57949020refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018010620171218
90838971refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018010620171218
92830871refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018010620171218
94861147refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018010620171218
94922766refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018010620171218
94928071refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018010620171218
94937913refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018010620171218
94981378refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018010620171218
94992698refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018010620171218
95006065refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018010620171218
95040873refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018010620171218
95142314refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018010620171218
95693958refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018010620171218
96159600refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018010620171218
96230770refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018010620171218
97206022refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018010620171218
97215586refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018010620171218
97512381refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018010620171218
97513019refgcc -m32 -march=i486 -O -fomit-frame-pointer2018010620171218
97566892refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018010620171218
97594001refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018010620171218
97759645refgcc -m32 -march=i386 -O -fomit-frame-pointer2018010620171218
97868349refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018010620171218
98321237refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018010620171218
98351484refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018010620171218
98565773refgcc -m32 -march=nocona -O -fomit-frame-pointer2018010620171218
98621692refgcc -m32 -march=prescott -O -fomit-frame-pointer2018010620171218
98758765refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018010620171218
98777991refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018010620171218
100910568refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018010620171218
100989136refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018010620171218
101788168refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018010620171218
101913549refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018010620171218
102559336refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018010620171218
102581629refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018010620171218
102691799refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018010620171218
102725767refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018010620171218
102894887refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018010620171218
102930837refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018010620171218
104997509refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018010620171218
105213762refgcc -m32 -march=pentium -O -fomit-frame-pointer2018010620171218
106195740refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018010620171218
106214212refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018010620171218

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