Implementation notes: amd64, bolero, crypto_sign/sphincsf256shake256

Computer: bolero
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_sign
Primitive: sphincsf256shake256
TimeImplementationCompilerBenchmark dateSUPERCOP version
766688908avx2clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018092020180818
766728692avx2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018092020180818
769002652avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018092020180818
769173220avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018092020180818
771089928avx2clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018092020180818
772514444avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018092020180818
772594848avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018092020180818
1044065404avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018092020180818
1073449440avx2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018092020180818
1073451620avx2gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018092020180818
1173716088avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018092020180818
1225487944avx2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018092020180818
1226026004avx2gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018092020180818
1231434928avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018092020180818
1237833684avx2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018092020180818
1259015192avx2gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018092020180818
1297931564refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018092020180818
1298349900refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018092020180818
1316022036refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018092020180818
1316434112refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018092020180818
1327449128refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018092020180818
1592125556refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018092020180818
1592285920refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018092020180818
1592370616refclang -O3 -fomit-frame-pointer -Qunused-arguments2018092020180818
1592400276refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018092020180818
1637614800refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018092020180818
1638145620refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018092020180818
1639464480refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018092020180818
1640257936refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018092020180818
1643522584refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018092020180818
1645160800refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018092020180818
1645176076refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018092020180818
1652406784refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018092020180818
1653726644refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018092020180818
1664817752refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018092020180818
1679667376refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018092020180818
1679728388refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018092020180818
1681207624refgcc -funroll-loops -O3 -fomit-frame-pointer2018092020180818
1683780600refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018092020180818
1683786744refgcc -m64 -O3 -fomit-frame-pointer2018092020180818
1683860976refgcc -O3 -fomit-frame-pointer2018092020180818
1686941772refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018092020180818
1689012100refgcc -march=barcelona -O3 -fomit-frame-pointer2018092020180818
1689203592refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018092020180818
1695913956refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018092020180818
1697399508refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018092020180818
1697571240refgcc -march=k8 -O3 -fomit-frame-pointer2018092020180818
1697959032refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018092020180818
1698491088refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018092020180818
1698542600refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018092020180818
1698873220refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018092020180818
1700086848refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018092020180818
1700209808refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018092020180818
1700742544refgcc -march=nocona -O3 -fomit-frame-pointer2018092020180818
1720042904refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018092020180818
1720056584refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018092020180818
1747966656refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018092020180818
1747992288refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018092020180818
1750030240refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018092020180818
1750383148refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018092020180818
1753633524refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018092020180818
1753690952refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018092020180818
1753928900refgcc -funroll-loops -O2 -fomit-frame-pointer2018092020180818
1778084280refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018092020180818
1778846256refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018092020180818
1784732408refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018092020180818
1784847416refgcc -funroll-loops -O -fomit-frame-pointer2018092020180818
1787076936refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018092020180818
1797959388refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018092020180818
1798084772refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018092020180818
1798806152refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018092020180818
1807971980refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018092020180818
1808301780refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018092020180818
1814394772refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018092020180818
1814963432refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018092020180818
1817510504refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018092020180818
1817652892refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018092020180818
1856225348refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018092020180818
1942416744refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018092020180818
1943906896refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018092020180818
1993901324refgcc -march=k8 -O2 -fomit-frame-pointer2018092020180818
2005762340refgcc -m64 -O2 -fomit-frame-pointer2018092020180818
2013370800refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018092020180818
2013456876refgcc -O2 -fomit-frame-pointer2018092020180818
2021684308refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018092020180818
2022749800refgcc -march=barcelona -O2 -fomit-frame-pointer2018092020180818
2038366072refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018092020180818
2038524652refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018092020180818
2038740624refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018092020180818
2039986704refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018092020180818
2045275564refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018092020180818
2049406668refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018092020180818
2061635576refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018092020180818
2061901340refgcc -march=nocona -O2 -fomit-frame-pointer2018092020180818
2071874760refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018092020180818
2128954292refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018092020180818
2129524008refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018092020180818
2129674888refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018092020180818
2130063536refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018092020180818
2130500492refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018092020180818
2130679268refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018092020180818
2130929388refgcc -march=k8 -Os -fomit-frame-pointer2018092020180818
2131740084refgcc -march=barcelona -Os -fomit-frame-pointer2018092020180818
2131962764refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018092020180818
2144703732refgcc -m64 -Os -fomit-frame-pointer2018092020180818
2144724096refgcc -Os -fomit-frame-pointer2018092020180818
2167281368refgcc -m64 -march=nocona -O -fomit-frame-pointer2018092020180818
2169183892refgcc -m64 -O -fomit-frame-pointer2018092020180818
2169649100refgcc -O -fomit-frame-pointer2018092020180818
2169723840refgcc -fno-schedule-insns -O -fomit-frame-pointer2018092020180818
2172355832refgcc -march=nocona -O -fomit-frame-pointer2018092020180818
2186083232refgcc -m64 -march=k8 -O -fomit-frame-pointer2018092020180818
2188488876refgcc -march=k8 -O -fomit-frame-pointer2018092020180818
2224888780refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018092020180818
2225336544refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018092020180818
2231174212refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018092020180818
2232477164refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018092020180818
2235001372refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018092020180818
2235513696refgcc -march=nocona -Os -fomit-frame-pointer2018092020180818
2251248480refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018092020180818
2251273460refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018092020180818
2251468256refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018092020180818
2252020568refgcc -funroll-loops -Os -fomit-frame-pointer2018092020180818
2252459828refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018092020180818
2254134664refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018092020180818
2254595948refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018092020180818
2264588344refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018092020180818
2264706884refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018092020180818
2264709248refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018092020180818
2264809988refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018092020180818
2264944152refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018092020180818
2265511984refgcc -m64 -march=core2 -O -fomit-frame-pointer2018092020180818
2265770784refgcc -march=barcelona -O -fomit-frame-pointer2018092020180818
2265841144refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018092020180818
6253239128refgcc -funroll-loops2018092020180818
6255404964refgcc2018092020180818
6282219284refcc2018092020180818

Compiler output

Implementation: crypto_sign/sphincsf256shake256/avx2
Compiler: cc
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c: In function 'KeccakP1600times4_AddLanesAll':
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:135:40: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
KeccakP-1600-times4-SIMD256.c: #define Xor_In4( argIndex ) lanes0 = LOAD256u( curData0[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 0 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:143:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+3], lanes3 )
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 12 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ...

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc avx2
gcc avx2
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 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/sphincsf256shake256/avx2
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'sse4.2'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 0 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:135:42: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: #define Xor_In4( argIndex ) lanes0 = LOAD256u( curData0[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:44:37: note: expanded from macro 'LOAD256u'
KeccakP-1600-times4-SIMD256.c: #define LOAD256u(a) _mm256_loadu_si256((const V256 *)&(a))
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'sse4.2'
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:136:42: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: lanes1 = LOAD256u( curData1[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:44:37: note: expanded from macro 'LOAD256u'
KeccakP-1600-times4-SIMD256.c: #define LOAD256u(a) _mm256_loadu_si256((const V256 *)&(a))
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'sse4.2'
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:137:42: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: lanes2 = LOAD256u( curData2[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:44:37: note: expanded from macro 'LOAD256u'
KeccakP-1600-times4-SIMD256.c: #define LOAD256u(a) _mm256_loadu_si256((const V256 *)&(a))
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'sse4.2'
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:138:42: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.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/sphincsf256shake256/avx2
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'avx2'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 0 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:140:33: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+0], lanes0 ),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: note: expanded from macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'avx2'
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:141:33: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+1], lanes1 ),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: note: expanded from macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'avx2'
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:142:33: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+2], lanes2 ),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: note: expanded from macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'KeccakP1600times4_AddLanesAll' that is compiled without support for 'avx2'
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:143:33: note: expanded from macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.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/sphincsf256shake256/avx2
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c: In function 'KeccakP1600times4_AddLanesAll':
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:135:40: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
KeccakP-1600-times4-SIMD256.c: #define Xor_In4( argIndex ) lanes0 = LOAD256u( curData0[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 0 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:143:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+3], lanes3 )
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 12 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ...
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c: In function 'KeccakP1600times4_AddLanesAll':
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:135:40: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
KeccakP-1600-times4-SIMD256.c: #define Xor_In4( argIndex ) lanes0 = LOAD256u( curData0[argIndex]),\
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:146:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 0 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:143:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+3], lanes3 )
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 12 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.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/sphincsf256shake256/avx2
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c: In function 'KeccakP1600times4_AddLanesAll':
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:143:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+3], lanes3 )
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:149:9: note: in expansion of macro 'Xor_In4'
KeccakP-1600-times4-SIMD256.c: Xor_In4( 12 );
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
KeccakP-1600-times4-SIMD256.c: from KeccakP-1600-times4-SIMD256.c:21:
KeccakP-1600-times4-SIMD256.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
KeccakP-1600-times4-SIMD256.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:55:41: error: called from here
KeccakP-1600-times4-SIMD256.c: #define XOReq256(a, b) a = _mm256_xor_si256(a, b)
KeccakP-1600-times4-SIMD256.c: ^
KeccakP-1600-times4-SIMD256.c: KeccakP-1600-times4-SIMD256.c:142:33: note: in expansion of macro 'XOReq256'
KeccakP-1600-times4-SIMD256.c: XOReq256( stateAsLanes[argIndex+2], lanes2 ),\
KeccakP-1600-times4-SIMD256.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