Implementation notes: x86, titan0, crypto_aead/scream12v3

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_aead
Primitive: scream12v3
TimeImplementationCompilerBenchmark dateSUPERCOP version
479808refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
480140refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019070820190110
481976refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
483152refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
484496refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
484804refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
490120refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
491224refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
493048refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019070820190110
498644refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
498964refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
499484refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
501216refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
502208refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
502880refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
503096refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
503488refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
504188refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
504408refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
504440refgcc -m32 -O3 -fomit-frame-pointer2019070820190110
507696refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
508464refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019070820190110
514304refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
515432refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
517124refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
521340refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
522084refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070820190110
522972refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
523068refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
523264refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070820190110
523768refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019070820190110
523864refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
523940refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
524220refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
525068refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019070820190110
525244refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
525472refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019070820190110
526340refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
526532refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019070820190110
527220refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019070820190110
527832refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019070820190110
528188refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
529396refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
531308refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
531672refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
532108refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
532792refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
533340refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
538708refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
539600refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
549272refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
554040refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
647772refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
648900refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
649388refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
651980refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
659652refgcc -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
660132refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
661288refgcc -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
665536refgcc -m32 -march=core2 -O -fomit-frame-pointer2019070820190110
665972refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019070820190110
666056refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019070820190110
666156refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019070820190110
666248refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019070820190110
666880refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070820190110
666896refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019070820190110
668420refgcc -m32 -O -fomit-frame-pointer2019070820190110
668844refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
669192refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070820190110
669836refgcc -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
671108refgcc -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
678304refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
678636refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
679504refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019070820190110
679792refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070820190110
680392refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019070820190110
682572refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019070820190110
683152refgcc -m32 -O2 -fomit-frame-pointer2019070820190110
683548refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019070820190110
684524refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019070820190110
684996refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070820190110
685428refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019070820190110
698748refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
699952refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
700328refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
703336refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
706416refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
707496refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
707936refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
708620refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
871972refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
872444refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
873224refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
873316refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
877304refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
882216refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
882924refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
928424refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
931428refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
934580refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
934728refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
938524refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
938756refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
953264refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
954276refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
954568refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
964236refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
964672refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
965716refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
977768refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
983440refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
1016172refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
1016252refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
1016708refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
1025012refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
1025420refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
1026024refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
1034388refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
1034464refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
1035724refgcc -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
1037100refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
1038260refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
1039676refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
1043956refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
1051444refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
1053268refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
1053504refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
1054012refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
1066624refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
1070472refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
1070820refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
1071148refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
1072416refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
1075204refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
1079212refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
1098072refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
1118936refgcc -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
1119108refgcc -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
1124832refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
1133760refgcc -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
1185852refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
1186836refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
1188428refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
1205860refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
1209128refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
1209760refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
1210488refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110
1213168refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
1249084refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
1250204refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
1251612refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070820190110
1255804refgcc -m32 -Os -fomit-frame-pointer2019070820190110
1257548refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
1257644refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
1259136refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
1260036refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070820190110
1260820refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
1260852refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
1261152refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019070820190110
1263768refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019070820190110
1263884refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019070820190110
1264288refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019070820190110
1265108refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
1265388refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019070820190110
1265772refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019070820190110
1485632refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
1491008refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
1502220refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
1502356refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
1502368refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110
1507912refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
1509008refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
1554056refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019070820190110
1555128refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
1556316refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
1558576refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110

Test failure

Implementation: crypto_aead/scream12v3/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/scream12v3/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:199:10: note: in expansion of macro 'shift_right'
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~~~~~~~~~~
scream.c: scream.c:199: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:200: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:202: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:202: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:203: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:207: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/scream12v3/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:199:10: note: in expansion of macro 'shift_right'
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~~~~~~~~~~
scream.c: scream.c:199: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:200: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:202: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:202: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:203: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:207: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/scream12v3/sse
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:202: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:202: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:203: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:207: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:208: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:215: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:216: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:220: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/scream12v3/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:199:10: note: in expansion of macro 'shift_right'
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~~~~~~~~~~
scream.c: scream.c:199: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:200: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:202: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:202: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:203: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:207: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/scream12v3/sse
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:202: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:202: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:203: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:207: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:208: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:215: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:216: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:220: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:202: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:202: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:203: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:207: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:208: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:215: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:216: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:220: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