Implementation notes: x86, titan0, crypto_aead/scream12v2

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_aead
Primitive: scream12v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
440372refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
441344refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019070820190110
444432refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
445440refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
447200refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
447328refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
447496refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
450348refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
450516refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
454652refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
456544refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
457100refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
457168refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
458836refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019070820190110
461160refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
461216refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
467932refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019070820190110
469392refgcc -m32 -O3 -fomit-frame-pointer2019070820190110
474140refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
479812refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
480092refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
480812refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
481276refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070820190110
481500refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
481616refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
482284refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
482432refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070820190110
483984refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
484404refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
484424refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
488204refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019070820190110
488516refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019070820190110
488620refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019070820190110
488836refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019070820190110
488884refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019070820190110
490200refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019070820190110
496196refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
498032refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
498148refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
498424refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
504016refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
504492refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
505688refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
505964refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
509072refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
509136refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
509224refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
509764refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
509812refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
514540refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
520436refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
521676refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
625408refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
626864refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
626948refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070820190110
627264refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070820190110
628800refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
630436refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
631528refgcc -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
633884refgcc -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
634316refgcc -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
635124refgcc -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
636972refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019070820190110
637008refgcc -m32 -march=core2 -O -fomit-frame-pointer2019070820190110
637096refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019070820190110
637392refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
637492refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
637600refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019070820190110
639440refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019070820190110
639444refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019070820190110
639548refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
639556refgcc -m32 -O -fomit-frame-pointer2019070820190110
642236refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
643496refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019070820190110
643880refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019070820190110
644164refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019070820190110
644460refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019070820190110
644460refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019070820190110
644704refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019070820190110
644964refgcc -m32 -O2 -fomit-frame-pointer2019070820190110
646332refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070820190110
646676refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070820190110
666204refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
672764refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
673792refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
675196refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
675220refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
675292refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
707164refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
707192refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
707288refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
708268refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
718352refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
718464refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
719044refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
719172refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
720320refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
721468refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
722120refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
723836refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
724432refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
733448refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
734116refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
737596refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
743592refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
744044refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
747924refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
749852refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
752612refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
759836refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
761720refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
762240refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
765844refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
767756refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
769264refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
769280refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
771084refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
778364refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
798460refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
798632refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
799852refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
800592refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
809752refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
829608refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
888192refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
890492refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
936352refgcc -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
937160refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
939224refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
956656refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
957020refgcc -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
959024refgcc -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
962632refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
965540refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
967488refgcc -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
984752refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
985768refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
1031296refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
1031408refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
1032920refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
1072028refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
1073688refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
1074900refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
1074960refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
1075340refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019070820190110
1075748refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
1076220refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019070820190110
1076820refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019070820190110
1077280refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110
1077760refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019070820190110
1078480refgcc -m32 -Os -fomit-frame-pointer2019070820190110
1078516refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
1079760refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019070820190110
1079880refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019070820190110
1080360refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
1080796refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
1081872refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
1083348refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
1083916refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
1083936refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
1157668refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070820190110
1160396refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070820190110
1192100refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
1192944refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
1200516refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
1200840refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
1201160refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
1202184refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
1202336refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019070820190110
1202528refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
1203664refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
1204992refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
1206472refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
1207176refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
1210132refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
1211040refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110

Test failure

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

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

Compiler output

Implementation: crypto_aead/scream12v2/sse
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:16:32: warning: implicit declaration of function '__builtin_ia32_psrldi128'; did you mean '__builtin_ia32_bsrsi'? [-Wimplicit-function-declaration]
scream.c: #define shift_right(x) ((v16qi)__builtin_ia32_psrldi128((v4si)x, 4))
scream.c: ^
scream.c: scream.c:182:10: note: in expansion of macro 'shift_right'
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~~~~~~~~~~
scream.c: scream.c:182:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~
scream.c: scream.c:183:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t1 = shift_right(in[2]) & V(0xf);
scream.c: ^~
scream.c: scream.c:185:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_pause'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_pause
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ...

Number of similar (compiler,implementation) pairs: 40, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer sse
gcc -m32 -O2 -fomit-frame-pointer sse
gcc -m32 -O3 -fomit-frame-pointer sse
gcc -m32 -O -fomit-frame-pointer sse
gcc -m32 -Os -fomit-frame-pointer sse
gcc -m32 -march=i386 -O2 -fomit-frame-pointer sse
gcc -m32 -march=i386 -O3 -fomit-frame-pointer sse
gcc -m32 -march=i386 -O -fomit-frame-pointer sse
gcc -m32 -march=i386 -Os -fomit-frame-pointer sse
gcc -m32 -march=i486 -O2 -fomit-frame-pointer sse
gcc -m32 -march=i486 -O3 -fomit-frame-pointer sse
gcc -m32 -march=i486 -O -fomit-frame-pointer sse
gcc -m32 -march=i486 -Os -fomit-frame-pointer sse
gcc -m32 -march=pentium -O2 -fomit-frame-pointer sse
gcc -m32 -march=pentium -O3 -fomit-frame-pointer sse
gcc -m32 -march=pentium -O -fomit-frame-pointer sse
gcc -m32 -march=pentium -Os -fomit-frame-pointer sse
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer sse
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer sse
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer sse
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream12v2/sse
Compiler: gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:16:32: warning: implicit declaration of function '__builtin_ia32_psrldi128'; did you mean '__builtin_ia32_psrldi'? [-Wimplicit-function-declaration]
scream.c: #define shift_right(x) ((v16qi)__builtin_ia32_psrldi128((v4si)x, 4))
scream.c: ^
scream.c: scream.c:182:10: note: in expansion of macro 'shift_right'
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~~~~~~~~~~
scream.c: scream.c:182:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~
scream.c: scream.c:183:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t1 = shift_right(in[2]) & V(0xf);
scream.c: ^~
scream.c: scream.c:185:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_pshufw'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_pshufw
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ...

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

Compiler output

Implementation: crypto_aead/scream12v2/sse
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb128
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:198:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:199:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:203:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ...

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

Compiler output

Implementation: crypto_aead/scream12v2/sse
Compiler: gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:16:32: warning: implicit declaration of function '__builtin_ia32_psrldi128'; did you mean '__builtin_ia32_psrldi'? [-Wimplicit-function-declaration]
scream.c: #define shift_right(x) ((v16qi)__builtin_ia32_psrldi128((v4si)x, 4))
scream.c: ^
scream.c: scream.c:182:10: note: in expansion of macro 'shift_right'
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~~~~~~~~~~
scream.c: scream.c:182:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~
scream.c: scream.c:183:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t1 = shift_right(in[2]) & V(0xf);
scream.c: ^~
scream.c: scream.c:185:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ...

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

Compiler output

Implementation: crypto_aead/scream12v2/sse
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb128
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:198:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:199:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:203:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ...
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb128
scream.c: scream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:186:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:191:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:198:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:199:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:203:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ...

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