Implementation notes: x86, h2atom, crypto_aead/twine80n6t4clocv2

Computer: h2atom
Architecture: x86
CPU ID: GenuineIntel-000106ca-bfe9fbff
SUPERCOP version: 20161009
Operation: crypto_aead
Primitive: twine80n6t4clocv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
553270vpermgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2016120720161009
557630vpermgcc -m32 -march=core2 -Os -fomit-frame-pointer2016120720161009
560270vpermgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2016120720161009
563080vpermgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2016120720161009
584400vpermgcc -m32 -march=core2 -O2 -fomit-frame-pointer2016120720161009
607570vpermgcc -m32 -march=core2 -O3 -fomit-frame-pointer2016120720161009
611990vpermgcc -m32 -march=core2 -O -fomit-frame-pointer2016120720161009
618190vpermgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2016120720161009
3966640refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2016120720161009
3966660refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016120720161009
4117560refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2016120720161009
4146090refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2016120720161009
4146260refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2016120720161009
4146320refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2016120720161009
4184540refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2016120720161009
4242830refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016120720161009
4242950refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2016120720161009
4260560refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2016120720161009
4260760refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2016120720161009
4260760refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2016120720161009
4332480refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2016120720161009
4332700refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2016120720161009
4355080refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2016120720161009
4359900refgcc -m32 -O3 -fomit-frame-pointer2016120720161009
4377170refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2016120720161009
4377860refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2016120720161009
4378120refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2016120720161009
4378130refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2016120720161009
4380130refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2016120720161009
4381460refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2016120720161009
4381990refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2016120720161009
4396940refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2016120720161009
4420660refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2016120720161009
4421200refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2016120720161009
4425170refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016120720161009
4426770refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2016120720161009
4438640refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2016120720161009
4449350refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2016120720161009
4453980refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2016120720161009
4465960refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2016120720161009
4467680refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2016120720161009
4474220refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2016120720161009
4474250refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2016120720161009
4476500refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2016120720161009
4477050refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2016120720161009
4478970refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2016120720161009
4503600refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2016120720161009
4503700refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2016120720161009
4507920refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2016120720161009
4511430refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2016120720161009
4513280refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2016120720161009
4558410refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2016120720161009
4563530refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016120720161009
4565820refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2016120720161009
4565890refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2016120720161009
4567280refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2016120720161009
4602120refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2016120720161009
4602420refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2016120720161009
4606270refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016120720161009
4627030refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016120720161009
4627040refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2016120720161009
4627490refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2016120720161009
4671260refgcc -m32 -O2 -fomit-frame-pointer2016120720161009
4722930refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2016120720161009
4726130refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2016120720161009
4727670refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2016120720161009
4745870refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2016120720161009
4785110refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2016120720161009
4786290refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2016120720161009
4791910refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016120720161009
4792130refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2016120720161009
4815370refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2016120720161009
4815880refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2016120720161009
4850740refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2016120720161009
4850750refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016120720161009
4851240refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2016120720161009
4851240refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016120720161009
4858430refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2016120720161009
4867260refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2016120720161009
4924730refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2016120720161009
4962230refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2016120720161009
4962660refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2016120720161009
4962940refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2016120720161009
4963940refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2016120720161009
4964280refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2016120720161009
5006260refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2016120720161009
5007570refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2016120720161009
5007690refgcc -m32 -march=k6 -Os -fomit-frame-pointer2016120720161009
5008160refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2016120720161009
5020040refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2016120720161009
5020230refgcc -m32 -march=core2 -Os -fomit-frame-pointer2016120720161009
5020540refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2016120720161009
5020670refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016120720161009
5020740refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2016120720161009
5021850refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2016120720161009
5021950refgcc -m32 -march=athlon -Os -fomit-frame-pointer2016120720161009
5035410refgcc -m32 -Os -fomit-frame-pointer2016120720161009
5037920refgcc -m32 -march=k8 -Os -fomit-frame-pointer2016120720161009
5046210refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016120720161009
5046530refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2016120720161009
5124930refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2016120720161009
5125260refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2016120720161009
5168720refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2016120720161009
5192730refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2016120720161009
5200060refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016120720161009
5204830refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2016120720161009
5213390refgcc -m32 -march=pentium -Os -fomit-frame-pointer2016120720161009
5267220refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2016120720161009
5276850refgcc -m32 -march=k6 -O -fomit-frame-pointer2016120720161009
5276930refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2016120720161009
5277190refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2016120720161009
5283110refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2016120720161009
5283510refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2016120720161009
5283580refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2016120720161009
5286700refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2016120720161009
5297190refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2016120720161009
5307800refgcc -m32 -march=i386 -O -fomit-frame-pointer2016120720161009
5309010refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2016120720161009
5312230refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2016120720161009
5318430refgcc -m32 -march=k8 -O -fomit-frame-pointer2016120720161009
5318740refgcc -m32 -march=athlon -O -fomit-frame-pointer2016120720161009
5320620refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2016120720161009
5320690refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2016120720161009
5326170refgcc -m32 -march=barcelona -O -fomit-frame-pointer2016120720161009
5326530refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2016120720161009
5327160refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2016120720161009
5329550refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2016120720161009
5329570refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2016120720161009
5331100refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2016120720161009
5333740refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2016120720161009
5334150refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2016120720161009
5336540refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2016120720161009
5337450refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2016120720161009
5337670refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2016120720161009
5338010refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2016120720161009
5341250refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2016120720161009
5344380refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2016120720161009
5344570refgcc -m32 -march=i386 -Os -fomit-frame-pointer2016120720161009
5344650refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2016120720161009
5344760refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2016120720161009
5344860refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2016120720161009
5344910refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2016120720161009
5344960refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2016120720161009
5344990refgcc -m32 -march=prescott -Os -fomit-frame-pointer2016120720161009
5345000refgcc -m32 -march=nocona -Os -fomit-frame-pointer2016120720161009
5346040refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2016120720161009
5351350refgcc -m32 -march=prescott -O -fomit-frame-pointer2016120720161009
5351950refgcc -m32 -march=nocona -O -fomit-frame-pointer2016120720161009
5352790refgcc -m32 -march=i486 -Os -fomit-frame-pointer2016120720161009
5358690refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2016120720161009
5358870refgcc -m32 -march=core2 -O -fomit-frame-pointer2016120720161009
5359350refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2016120720161009
5360100refgcc -m32 -O -fomit-frame-pointer2016120720161009
5360170refgcc -m32 -march=corei7 -O -fomit-frame-pointer2016120720161009
5360850refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2016120720161009
5362750refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2016120720161009
5363100refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2016120720161009
5371600refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2016120720161009
5371800refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2016120720161009
5373800refgcc -funroll-loops -m32 -O -fomit-frame-pointer2016120720161009
5374980refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2016120720161009
5551250refgcc -m32 -march=i486 -O -fomit-frame-pointer2016120720161009
5562080refgcc -m32 -march=pentium -O -fomit-frame-pointer2016120720161009
5562260refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2016120720161009
5595970refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2016120720161009
5605790refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2016120720161009
5624360refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2016120720161009
5627150refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2016120720161009
5728820refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2016120720161009

Test failure

Implementation: crypto_aead/twine80n6t4clocv2/ref
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: twine.h:57:25: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
encrypt.c: #define XOR(x,y) _mm_xor_si128((x),(y)) /* exclusive-OR of 128-bit words x and y */
encrypt.c: ^
encrypt.c: twine.h:80:24: note: in expansion of macro 'XOR'
encrypt.c: #define SHUFFLE4(x) XOR( \
encrypt.c: ^
encrypt.c: twine.h:76:26: note: in expansion of macro 'SHUFFLE4'
encrypt.c: #define LOADS(p) SHUFFLE4(LOAD64(p)) /* load 64-bit word from memory address p, and shuffle it */
encrypt.c: ^
encrypt.c: twine.h:227:15: note: in expansion of macro 'LOADS'
encrypt.c: word state = LOADS(text);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:1249:0,
encrypt.c: from twine.h:4,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:1286:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
encrypt.c: _mm_xor_si128 (__m128i __A, __m128i __B)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:177:8: error: called from here
encrypt.c: right = XOR(right, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: error: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: error: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:1249:0,
encrypt.c: from twine.h:4,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:1286:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
encrypt.c: _mm_xor_si128 (__m128i __A, __m128i __B)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:177:8: error: called from here
encrypt.c: right = XOR(right, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:1249:0,
encrypt.c: from twine.h:4,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:1268:1: error: inlining failed in call to always_inline '_mm_and_si128': target specific option mismatch
encrypt.c: _mm_and_si128 (__m128i __A, __m128i __B)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:176:7: error: called from here
encrypt.c: _tmp = MASK4L(_tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/twine80n6t4clocv2/vperm
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: error: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: error: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: ...
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: error: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: error: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: ...

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