Implementation notes: amd64, rumba5, crypto_sign/sphincsf128sha256

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_sign
Primitive: sphincsf128sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
114418048refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
114461632refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
114482880refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
114593504refclang -O3 -fomit-frame-pointer -Qunused-arguments2018090320180818
114817696refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018090320180818
114917376refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018090320180818
115379264refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090320180818
115535328refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090320180818
115788640refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018090320180818
115830816refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
120650848refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018090320180818
121078784refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018090320180818
121245408refgcc -funroll-loops -O3 -fomit-frame-pointer2018090320180818
121757664refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018090320180818
122127936refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018090320180818
122355552refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018090320180818
122463776refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018090320180818
123564832refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018090320180818
123855328refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018090320180818
124365760refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018090320180818
124484704refgcc -funroll-loops -O2 -fomit-frame-pointer2018090320180818
124610304refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018090320180818
124644384refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018090320180818
124722016refgcc -march=nocona -O3 -fomit-frame-pointer2018090320180818
124723136refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018090320180818
124736576refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018090320180818
124789472refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018090320180818
124818080refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018090320180818
124827712refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018090320180818
124841088refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018090320180818
124862848refgcc -march=k8 -O3 -fomit-frame-pointer2018090320180818
124874944refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018090320180818
124888992refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018090320180818
124925408refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018090320180818
125067840refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018090320180818
125195488refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018090320180818
125222080refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018090320180818
125222816refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018090320180818
125612032refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018090320180818
125960000refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018090320180818
126055712refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018090320180818
126084992refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018090320180818
126101600refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018090320180818
126144672refgcc -m64 -march=k8 -O -fomit-frame-pointer2018090320180818
126208000refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018090320180818
126290880refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018090320180818
126310496refgcc -m64 -march=nocona -O -fomit-frame-pointer2018090320180818
126385312refgcc -m64 -O3 -fomit-frame-pointer2018090320180818
126428000refgcc -march=k8 -O -fomit-frame-pointer2018090320180818
126505344refgcc -march=nocona -O -fomit-frame-pointer2018090320180818
126540896refgcc -march=barcelona -O3 -fomit-frame-pointer2018090320180818
126700544refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018090320180818
126768736refgcc -O3 -fomit-frame-pointer2018090320180818
126966784refgcc -march=barcelona -O2 -fomit-frame-pointer2018090320180818
126992704refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018090320180818
127655904refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018090320180818
127728608refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018090320180818
128622688refgcc -march=barcelona -O -fomit-frame-pointer2018090320180818
128768288refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018090320180818
128788032refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018090320180818
129550528refgcc -fno-schedule-insns -O -fomit-frame-pointer2018090320180818
129697728refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018090320180818
129822496refgcc -m64 -O -fomit-frame-pointer2018090320180818
130022176refgcc -O -fomit-frame-pointer2018090320180818
130076128refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018090320180818
130113856refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018090320180818
130179296refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018090320180818
130179936refgcc -funroll-loops -O -fomit-frame-pointer2018090320180818
130359392refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018090320180818
130447776refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018090320180818
130567520refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018090320180818
130596352refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018090320180818
130620480refgcc -m64 -march=core2 -O -fomit-frame-pointer2018090320180818
130658880refgcc -march=nocona -O2 -fomit-frame-pointer2018090320180818
130764896refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018090320180818
130937152refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018090320180818
131022048refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018090320180818
131034144refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018090320180818
131060160refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018090320180818
131087072refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018090320180818
131206304refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018090320180818
131414848refgcc -O2 -fomit-frame-pointer2018090320180818
131677792refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018090320180818
131940672refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018090320180818
132147872refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018090320180818
132181248refgcc -march=k8 -O2 -fomit-frame-pointer2018090320180818
132250720refgcc -m64 -O2 -fomit-frame-pointer2018090320180818
132323776refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018090320180818
132556576refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018090320180818
132973376refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018090320180818
139611008refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018090320180818
141914432refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018090320180818
142598592refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018090320180818
143503776refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018090320180818
143549504refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018090320180818
143925504refgcc -march=nocona -Os -fomit-frame-pointer2018090320180818
144214560refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018090320180818
144763520refgcc -Os -fomit-frame-pointer2018090320180818
144801728refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018090320180818
144806144refgcc -march=k8 -Os -fomit-frame-pointer2018090320180818
144807072refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018090320180818
144829504refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018090320180818
144942432refgcc -m64 -Os -fomit-frame-pointer2018090320180818
145010912refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018090320180818
145020512refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018090320180818
145117824refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018090320180818
145510912refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018090320180818
145560672refgcc -march=barcelona -Os -fomit-frame-pointer2018090320180818
147383072refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018090320180818
147620544refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018090320180818
147705280refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018090320180818
147789280refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018090320180818
147827328refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018090320180818
147925376refgcc -funroll-loops -Os -fomit-frame-pointer2018090320180818
148380288refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018090320180818
148743616refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018090320180818
148901184refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018090320180818
162598208refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018090320180818
191228032refgcc -funroll-loops2018090320180818
191793408refcc2018090320180818
191869536refgcc2018090320180818
197967136avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018090320180818
198185760avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018090320180818
198283008avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018090320180818
198400416avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018090320180818
232228832avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018090320180818
236667040avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018090320180818
236961888avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018090320180818
237175616avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018090320180818
237725376avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018090320180818
240962784avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018090320180818
241527040avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018090320180818
242743968avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018090320180818
250847200avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018090320180818
263181184avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018090320180818
264589728avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018090320180818
264936512avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018090320180818

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: cc
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:10:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.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
sha256avx.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
sha256avx.c: ^
sha256avx.c: sha256avx.c:25:15: error: called from here
sha256avx.c: tmp1[7] = _mm256_unpackhi_epi64(tmp0[5], tmp0[7]);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.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
sha256avx.c: _mm256_unpacklo_epi64 (__m256i __A, __m256i __B)
sha256avx.c: ^
sha256avx.c: sha256avx.c:24:15: error: called from here
sha256avx.c: tmp1[6] = _mm256_unpacklo_epi64(tmp0[5], tmp0[7]);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: ...

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

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
sha256avx.c: sha256avx.c:10:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:11:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[1] = _mm256_unpackhi_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:12:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[2] = _mm256_unpacklo_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:13:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[3] = _mm256_unpackhi_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:14:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[4] = _mm256_unpacklo_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:15:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[5] = _mm256_unpackhi_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:16:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[6] = _mm256_unpacklo_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:17:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: tmp0[7] = _mm256_unpackhi_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:18:15: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'sse4.2', but would be inlined into function 'transpose' that is compiled without support for 'sse4.2'
sha256avx.c: ...

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

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
sha256avx.c: sha256avx.c:10:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:11:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[1] = _mm256_unpackhi_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:12:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[2] = _mm256_unpacklo_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:13:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[3] = _mm256_unpackhi_epi32(s[2], s[3]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:14:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[4] = _mm256_unpacklo_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:15:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[5] = _mm256_unpackhi_epi32(s[4], s[5]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:16:15: error: always_inline function '_mm256_unpacklo_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[6] = _mm256_unpacklo_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:17:15: error: always_inline function '_mm256_unpackhi_epi32' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: tmp0[7] = _mm256_unpackhi_epi32(s[6], s[7]);
sha256avx.c: ^
sha256avx.c: sha256avx.c:18:15: error: always_inline function '_mm256_unpacklo_epi64' requires target feature 'avx2', but would be inlined into function 'transpose' that is compiled without support for 'avx2'
sha256avx.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: gcc -O2 -fomit-frame-pointer
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:10:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^
sha256avx.c: sha256avx.c:33:12: error: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^
sha256avx.c: sha256avx.c:32:12: error: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: ...

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

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:10:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^
sha256avx.c: sha256avx.c:33:12: error: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^
sha256avx.c: sha256avx.c:32:12: error: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: ...
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: sha256avx.c:10:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
sha256avx.c: tmp0[0] = _mm256_unpacklo_epi32(s[0], s[1]);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^
sha256avx.c: sha256avx.c:33:12: error: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^
sha256avx.c: sha256avx.c:32:12: error: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: ...

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

Compiler output

Implementation: crypto_sign/sphincsf128sha256/avx2
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: sha256avx.c: In function 'transpose':
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^
sha256avx.c: sha256avx.c:33:12: error: called from here
sha256avx.c: s[7] = _mm256_permute2x128_si256(tmp1[3], tmp1[7], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^
sha256avx.c: sha256avx.c:32:12: error: called from here
sha256avx.c: s[6] = _mm256_permute2x128_si256(tmp1[2], tmp1[6], 0x31);
sha256avx.c: ^
sha256avx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
sha256avx.c: from sha256avx.h:3,
sha256avx.c: from sha256avx.c:4:
sha256avx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:1081:1: error: inlining failed in call to always_inline '_mm256_permute2x128_si256': target specific option mismatch
sha256avx.c: _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
sha256avx.c: ^
sha256avx.c: ...

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