Implementation notes: x86, titan0, crypto_kem/ntskem13136

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_kem
Primitive: ntskem13136
TimeImplementationCompilerBenchmark dateSUPERCOP version
5724484optgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019072320190110
5726944optgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019072320190110
5735328optgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019072320190110
5755564optgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019072320190110
5877720optgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019072320190110
5881648optgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019072320190110
5885976optgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019072320190110
5890224optgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019072320190110
5918604optgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019072320190110
5929040optgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019072320190110
5937620optgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019072320190110
5956856optgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019072320190110
6001572optgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019072320190110
6004628optgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019072320190110
6045972optgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019072320190110
6047828optgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019072320190110
6077716optgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019072320190110
6101356optgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019072320190110
6101708optgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019072320190110
6198960optgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019072320190110
6215552optgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019072320190110
6231200optgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019072320190110
6243364optgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019072320190110
6260480optgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019072320190110
6289188optgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019072320190110
6302248optgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019072320190110
6314296optgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019072320190110
6364900optgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019072320190110
6512756optgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019072320190110
6528600optgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019072320190110
6596392optgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019072320190110
6602424optgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019072320190110
6612908optgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019072320190110
6731540optgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019072320190110
6809956optgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019072320190110
6985344optgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019072320190110
7023344optgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019072320190110
7035776optgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019072320190110
7040836optgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019072320190110
7062240optgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019072320190110
7235096optgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019072320190110
7277504optgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019072320190110
7481268optgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019072320190110
7499216optgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019072320190110
7515436optgcc -m32 -march=prescott -Os -fomit-frame-pointer2019072320190110
7529180optgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019072320190110
7551608optgcc -m32 -march=nocona -Os -fomit-frame-pointer2019072320190110
7555848optgcc -m32 -march=core2 -Os -fomit-frame-pointer2019072320190110
7560064optgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019072320190110
7686076optgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019072320190110
7707984optgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019072320190110
7730748optgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019072320190110
7793492optgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019072320190110
7852672optgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019072320190110
7876600optgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019072320190110
8237672optgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019072320190110
8999336optgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019072320190110
9080560optgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019072320190110
9096860optgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019072320190110
9110204optgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019072320190110
9123324optgcc -m32 -march=core2 -O -fomit-frame-pointer2019072320190110
9136512optgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019072320190110
9139784optgcc -m32 -O3 -fomit-frame-pointer2019072320190110
9150992optgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019072320190110
9165808optgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019072320190110
9166176optgcc -m32 -march=pentium -Os -fomit-frame-pointer2019072320190110
9177216optgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019072320190110
9184408optgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019072320190110
9196856optgcc -m32 -march=i486 -Os -fomit-frame-pointer2019072320190110
9210016optgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019072320190110
9216780optgcc -m32 -march=nocona -O -fomit-frame-pointer2019072320190110
9220012optgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019072320190110
9222000optgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019072320190110
9226368optgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019072320190110
9229024optgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019072320190110
9237396optgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019072320190110
9245380optgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019072320190110
9247844optgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019072320190110
9250888optgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019072320190110
9252496optgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019072320190110
9254388optgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019072320190110
9265660optgcc -m32 -march=i386 -Os -fomit-frame-pointer2019072320190110
9270504optgcc -m32 -march=corei7 -O -fomit-frame-pointer2019072320190110
9276620optgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019072320190110
9283948optgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019072320190110
9286648optgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019072320190110
9304820optgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019072320190110
9309904optgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019072320190110
9315992optgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019072320190110
9317668optgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019072320190110
9331468optgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019072320190110
9332128optgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019072320190110
9335880optgcc -funroll-loops -m32 -O -fomit-frame-pointer2019072320190110
9337324optgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019072320190110
9341816optgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019072320190110
9342596optgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019072320190110
9346024optgcc -m32 -march=athlon -Os -fomit-frame-pointer2019072320190110
9347188optgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019072320190110
9353152optgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019072320190110
9369104optgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019072320190110
9369852optgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019072320190110
9373260optgcc -m32 -march=k6 -Os -fomit-frame-pointer2019072320190110
9396312optgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019072320190110
9401148optgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019072320190110
9410408optgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019072320190110
9415100optgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019072320190110
9434060optgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019072320190110
9449364optgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019072320190110
9453804optgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019072320190110
9461284optgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019072320190110
9471432optgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019072320190110
9472544optgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019072320190110
9475240optgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019072320190110
9475640optgcc -m32 -march=prescott -O -fomit-frame-pointer2019072320190110
9478056optgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019072320190110
9486892optgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019072320190110
9488380optgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019072320190110
9509280optgcc -m32 -Os -fomit-frame-pointer2019072320190110
9517480optgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019072320190110
9517632optgcc -m32 -march=athlon -O -fomit-frame-pointer2019072320190110
9536316optgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019072320190110
9558236optgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019072320190110
9580456optgcc -m32 -march=k8 -O -fomit-frame-pointer2019072320190110
9592948optgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019072320190110
9608432optgcc -m32 -O2 -fomit-frame-pointer2019072320190110
9623184optgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019072320190110
9630276optgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019072320190110
9641276optgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019072320190110
9641360optgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019072320190110
9662060optgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019072320190110
9669324optgcc -m32 -march=barcelona -O -fomit-frame-pointer2019072320190110
9671264optgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019072320190110
9685472optgcc -m32 -march=k6 -O -fomit-frame-pointer2019072320190110
9696848optgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019072320190110
9700704optgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019072320190110
9720320optgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019072320190110
9723384optgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019072320190110
9729452optgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019072320190110
9734240optgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019072320190110
9739704optgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019072320190110
9777748optgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019072320190110
9802800optgcc -m32 -O -fomit-frame-pointer2019072320190110
9815400optgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019072320190110
9820852optgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019072320190110
9826608optgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019072320190110
9874036optgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019072320190110
9891568optgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019072320190110
9953412optgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019072320190110
9961968optgcc -m32 -march=i386 -O -fomit-frame-pointer2019072320190110
10058324optgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019072320190110
10082932optgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019072320190110
10093280optgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019072320190110
10093548optgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019072320190110
10179592optgcc -m32 -march=i486 -O -fomit-frame-pointer2019072320190110
10192220optgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019072320190110
10192652optgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019072320190110
10202832optgcc -m32 -march=pentium -O -fomit-frame-pointer2019072320190110
10209152optgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019072320190110
10246700optgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019072320190110
10269188optgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019072320190110
10297480optgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019072320190110
10306024optgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019072320190110
10346376optgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019072320190110
10351312optgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019072320190110
10376804optgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019072320190110
10391300optgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019072320190110
10395228optgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019072320190110
10410880optgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019072320190110
10435140optgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019072320190110
10471844optgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019072320190110
10574672optgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019072320190110
10637060optgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019072320190110
11785196optgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019072320190110
11851520optgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019072320190110
12269548optgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019072320190110
12365872optgcc -m32 -march=k8 -Os -fomit-frame-pointer2019072320190110

Test failure

Implementation: crypto_kem/ntskem13136/ref
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
error 111
crypto_kem_dec returns nonzero

Number of similar (compiler,implementation) pairs: 172, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer ref
gcc -m32 -O2 -fomit-frame-pointer ref
gcc -m32 -O3 -fomit-frame-pointer ref
gcc -m32 -O -fomit-frame-pointer ref
gcc -m32 -Os -fomit-frame-pointer ref
gcc -m32 -march=athlon -O2 -fomit-frame-pointer ref
gcc -m32 -march=athlon -O3 -fomit-frame-pointer ref
gcc -m32 -march=athlon -O -fomit-frame-pointer ref
gcc -m32 -march=athlon -Os -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer ref
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m32 -march=core2 -O -fomit-frame-pointer ref
gcc -m32 -march=core2 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m32 -march=corei7 -O -fomit-frame-pointer ref
gcc -m32 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m32 -march=i386 -O2 -fomit-frame-pointer ref
gcc -m32 -march=i386 -O3 -fomit-frame-pointer ref
gcc -m32 -march=i386 -O -fomit-frame-pointer ref
gcc -m32 -march=i386 -Os -fomit-frame-pointer ref
gcc -m32 -march=i486 -O2 -fomit-frame-pointer ref
gcc -m32 -march=i486 -O3 -fomit-frame-pointer ref
gcc -m32 -march=i486 -O -fomit-frame-pointer ref
gcc -m32 -march=i486 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -O -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -O -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6 -O2 -fomit-frame-pointer ref
gcc -m32 -march=k6 -O3 -fomit-frame-pointer ref
gcc -m32 -march=k6 -O -fomit-frame-pointer ref
gcc -m32 -march=k6 -Os -fomit-frame-pointer ref
gcc -m32 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m32 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m32 -march=k8 -O -fomit-frame-pointer ref
gcc -m32 -march=k8 -Os -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m32 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m32 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m32 -march=nocona -O -fomit-frame-pointer ref
gcc -m32 -march=nocona -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium-m -O -fomit-frame-pointer ref
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer ref
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium2 -O -fomit-frame-pointer ref
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium3 -O -fomit-frame-pointer ref
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium4 -O -fomit-frame-pointer ref
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium -O -fomit-frame-pointer ref
gcc -m32 -march=pentium -Os -fomit-frame-pointer ref
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer ref
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer ref
gcc -m32 -march=prescott -O2 -fomit-frame-pointer ref
gcc -m32 -march=prescott -O3 -fomit-frame-pointer ref
gcc -m32 -march=prescott -O -fomit-frame-pointer ref
gcc -m32 -march=prescott -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_kem/ntskem13136/ref
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_kem_dec returns nonzero
error 111
crypto_kem_dec returns nonzero

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

Compiler output

Implementation: crypto_kem/ntskem13136/sse2
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h:47:9: error: unknown type name '__m128i'
bitslice_bma_128.c: typedef __m128i vector;
bitslice_bma_128.c: ^~~~~~~
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:98:11: error: unknown type name '__m128i'
bitslice_bma_128.c: const __m128i a_hi = _mm_unpackhi_epi64(a, a);
bitslice_bma_128.c: ^~~~~~~
bitslice_bma_128.c: bits.h:98:26: warning: implicit declaration of function '_mm_unpackhi_epi64' [-Wimplicit-function-declaration]
bitslice_bma_128.c: const __m128i a_hi = _mm_unpackhi_epi64(a, a);
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: bits.h:99:21: warning: implicit declaration of function '_mm_cvtsi128_si64' [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:93:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
bitslice_bma_128.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
bitslice_bma_128.c: from bitslice_bma_128.h:18,
bitslice_bma_128.c: from bitslice_bma_128.c:18:
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h: At top level:
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:986:1: error: conflicting types for '_mm_unpackhi_epi64'
bitslice_bma_128.c: _mm_unpackhi_epi64 (__m128i __A, __m128i __B)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: ...

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

Compiler output

Implementation: crypto_kem/ntskem13136/avx2
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
bitslice_bma_128.c: bitslice_bma_128.c: In function 'vMUX':
bitslice_bma_128.c: bitslice_bma_128.c:44:1: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
bitslice_bma_128.c: {
bitslice_bma_128.c: ^
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bitslice_bma_128.c: In function 'vector_popcount_128':
bitslice_bma_128.c: bitslice_bma_128.c:53:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:97:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
bitslice_bma_128.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
bitslice_bma_128.c: from bitslice_bma_128.h:18,
bitslice_bma_128.c: from bitslice_bma_128.c:18:
bitslice_bma_128.c: bitslice_bma_128.c: In function 'vMUX':
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1291:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
bitslice_bma_128.c: _mm_xor_si128 (__m128i __A, __m128i __B)
bitslice_bma_128.c: ^~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:45:12: note: called from here
bitslice_bma_128.c: return _mm_xor_si128(b,
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: _mm_and_si128(_mm_set1_epi64x(-ctl),
bitslice_bma_128.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: ...

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

Compiler output

Implementation: crypto_kem/ntskem13136/avx2
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:124:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:97:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:26,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bit_reverse':
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: return _mm_shuffle_epi8(x, _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15));
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:26,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: ...

Number of similar (compiler,implementation) pairs: 44, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -m32 -march=prescott -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_kem/ntskem13136/sse2
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:99:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:93:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:28,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bit_reverse':
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: return _mm_shuffle_epi8(x, _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15));
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:28,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: ...

Number of similar (compiler,implementation) pairs: 44, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer sse2
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer sse2
gcc -m32 -march=k8 -O2 -fomit-frame-pointer sse2
gcc -m32 -march=k8 -O3 -fomit-frame-pointer sse2
gcc -m32 -march=k8 -O -fomit-frame-pointer sse2
gcc -m32 -march=k8 -Os -fomit-frame-pointer sse2
gcc -m32 -march=nocona -O2 -fomit-frame-pointer sse2
gcc -m32 -march=nocona -O3 -fomit-frame-pointer sse2
gcc -m32 -march=nocona -O -fomit-frame-pointer sse2
gcc -m32 -march=nocona -Os -fomit-frame-pointer sse2
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer sse2
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer sse2
gcc -m32 -march=pentium-m -O -fomit-frame-pointer sse2
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer sse2
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer sse2
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer sse2
gcc -m32 -march=pentium4 -O -fomit-frame-pointer sse2
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer sse2
gcc -m32 -march=prescott -O2 -fomit-frame-pointer sse2
gcc -m32 -march=prescott -O3 -fomit-frame-pointer sse2
gcc -m32 -march=prescott -O -fomit-frame-pointer sse2
gcc -m32 -march=prescott -Os -fomit-frame-pointer sse2

Compiler output

Implementation: crypto_kem/ntskem13136/avx2
Compiler: gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bitslice_bma_128.c: In function 'vector_popcount_128':
bitslice_bma_128.c: bitslice_bma_128.c:53:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:97:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
bitslice_bma_128.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
bitslice_bma_128.c: from bitslice_bma_128.h:18,
bitslice_bma_128.c: from bitslice_bma_128.c:18:
bitslice_bma_128.c: bitslice_bma_128.c: In function 'vMUX':
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/emmintrin.h:1291:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
bitslice_bma_128.c: _mm_xor_si128 (__m128i __A, __m128i __B)
bitslice_bma_128.c: ^~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:45:12: note: called from here
bitslice_bma_128.c: return _mm_xor_si128(b,
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: _mm_and_si128(_mm_set1_epi64x(-ctl),
bitslice_bma_128.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: _mm_xor_si128(a, b)));
bitslice_bma_128.c: ~~~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:1252:0,
bitslice_bma_128.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:29,
bitslice_bma_128.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_kem/ntskem13136/avx2
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:124:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:97:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:26,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bit_reverse':
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: return _mm_shuffle_epi8(x, _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15));
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:26,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: ...
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:124:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:97:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:26,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bit_reverse':
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: return _mm_shuffle_epi8(x, _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15));
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:26,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: ...

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

Compiler output

Implementation: crypto_kem/ntskem13136/sse2
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:99:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:93:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:28,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bit_reverse':
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: return _mm_shuffle_epi8(x, _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15));
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:28,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: ...
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:99:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:93:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:28,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bit_reverse':
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: return _mm_shuffle_epi8(x, _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15));
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:35:0,
bitslice_bma_128.c: from bits.h:28,
bitslice_bma_128.c: from bitslice_bma_128.c:17:
bitslice_bma_128.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
bitslice_bma_128.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~
bitslice_bma_128.c: bitslice_bma_128.c:92:12: note: called from here
bitslice_bma_128.c: ...

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

Compiler output

Implementation: crypto_kem/ntskem13136/avx2
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:124:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:97:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bitslice_bma':
bitslice_bma_128.c: bitslice_bma_128.c:323:1: warning: unsupported size for integer register
bitslice_bma_128.c: }
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c:323:1: warning: unsupported size for integer register
bitslice_bma_128.c: bitslice_bma_128.c: Assembler messages:
bitslice_bma_128.c: bitslice_bma_128.c:301: Error: invalid instruction suffix for `bsr'

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_kem/ntskem13136/sse2
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:99:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:93:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bitslice_bma':
bitslice_bma_128.c: bitslice_bma_128.c:323:1: warning: unsupported size for integer register
bitslice_bma_128.c: }
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c:323:1: warning: unsupported size for integer register
bitslice_bma_128.c: bitslice_bma_128.c: Assembler messages:
bitslice_bma_128.c: bitslice_bma_128.c:301: Error: invalid instruction suffix for `bsr'

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer sse2
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer sse2
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer sse2
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer sse2
gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer sse2
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer sse2
gcc -m32 -march=core2 -O2 -fomit-frame-pointer sse2
gcc -m32 -march=core2 -O3 -fomit-frame-pointer sse2
gcc -m32 -march=core2 -O -fomit-frame-pointer sse2
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer sse2
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer sse2
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer sse2
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer sse2
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer sse2
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer sse2
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer sse2
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer sse2
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer sse2
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer sse2
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer sse2
gcc -m32 -march=corei7 -O -fomit-frame-pointer sse2
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer sse2
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer sse2
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer sse2

Compiler output

Implementation: crypto_kem/ntskem13136/avx2
Compiler: gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:124:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:97:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bitslice_bma':
bitslice_bma_128.c: bitslice_bma_128.c:323:1: warning: unsupported size for integer register
bitslice_bma_128.c: }
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c: Assembler messages:
bitslice_bma_128.c: bitslice_bma_128.c:301: Error: invalid instruction suffix for `bsr'

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_kem/ntskem13136/sse2
Compiler: gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:99:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:93:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bitslice_bma':
bitslice_bma_128.c: bitslice_bma_128.c:323:1: warning: unsupported size for integer register
bitslice_bma_128.c: }
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c: Assembler messages:
bitslice_bma_128.c: bitslice_bma_128.c:301: Error: invalid instruction suffix for `bsr'

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer sse2
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer sse2
gcc -m32 -march=core2 -Os -fomit-frame-pointer sse2
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer sse2
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer sse2
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer sse2
gcc -m32 -march=corei7 -Os -fomit-frame-pointer sse2
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer sse2

Compiler output

Implementation: crypto_kem/ntskem13136/avx2
Compiler: gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:118:22: warning: implicit declaration of function '_mm256_extract_epi64'; did you mean '_mm256_extract_epi8'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return (int32_t)(_mm256_extract_epi64(popcnt, 3) +
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: _mm256_extract_epi8
bitslice_bma_128.c: bitslice_bma_128.c: In function 'vector_popcount_128':
bitslice_bma_128.c: bitslice_bma_128.c:53:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:97:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bitslice_bma':
bitslice_bma_128.c: bitslice_bma_128.c:323:1: warning: unsupported size for integer register
bitslice_bma_128.c: }
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c:323:1: warning: unsupported size for integer register
bitslice_bma_128.c: bitslice_bma_128.c: Assembler messages:
bitslice_bma_128.c: bitslice_bma_128.c:301: Error: invalid instruction suffix for `bsr'

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer avx2
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer avx2
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer avx2
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_kem/ntskem13136/avx2
Compiler: gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer
bitslice_bma_128.c: In file included from bitslice_bma_128.c:17:0:
bitslice_bma_128.c: bits.h: In function 'vector_popcount':
bitslice_bma_128.c: bits.h:118:22: warning: implicit declaration of function '_mm256_extract_epi64'; did you mean '_mm256_extract_epi8'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return (int32_t)(_mm256_extract_epi64(popcnt, 3) +
bitslice_bma_128.c: ^~~~~~~~~~~~~~~~~~~~
bitslice_bma_128.c: _mm256_extract_epi8
bitslice_bma_128.c: bitslice_bma_128.c: In function 'vector_popcount_128':
bitslice_bma_128.c: bitslice_bma_128.c:53:21: warning: implicit declaration of function '_mm_cvtsi128_si64'; did you mean '_mm_cvtsi128_si32'? [-Wimplicit-function-declaration]
bitslice_bma_128.c: return popcount(_mm_cvtsi128_si64(a_hi)) + popcount(_mm_cvtsi128_si64(a));
bitslice_bma_128.c: ^
bitslice_bma_128.c: bits.h:97:42: note: in definition of macro 'popcount'
bitslice_bma_128.c: #define popcount(x) __builtin_popcountll(x)
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c: In function 'bitslice_bma':
bitslice_bma_128.c: bitslice_bma_128.c:323:1: warning: unsupported size for integer register
bitslice_bma_128.c: }
bitslice_bma_128.c: ^
bitslice_bma_128.c: bitslice_bma_128.c: Assembler messages:
bitslice_bma_128.c: bitslice_bma_128.c:301: Error: invalid instruction suffix for `bsr'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer avx2