Implementation notes: x86, titan0, crypto_aead/scream12v1

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_aead
Primitive: scream12v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
440988refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
442164refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019070820190110
444808refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
446216refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
446964refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
447204refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
450048refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
450244refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
450896refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
454460refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
455700refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
459236refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
459276refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019070820190110
460040refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
460768refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
460896refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
463400refgcc -m32 -O3 -fomit-frame-pointer2019070820190110
466752refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019070820190110
475352refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
479040refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
479844refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
479884refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
480652refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
481120refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
481884refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
482176refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
482216refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070820190110
483072refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070820190110
483232refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
483516refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
487916refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019070820190110
488228refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019070820190110
488508refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019070820190110
488532refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019070820190110
488796refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019070820190110
490980refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019070820190110
495288refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
495412refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
496576refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
498208refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
503656refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
503780refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
504364refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
507520refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
507940refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
509456refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
510760refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
513048refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
513304refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
515400refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
521832refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
525324refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
623828refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070820190110
625136refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
626892refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
627684refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070820190110
628772refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
629836refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
629928refgcc -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
632116refgcc -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
634780refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
635248refgcc -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
636104refgcc -m32 -march=core2 -O -fomit-frame-pointer2019070820190110
636284refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019070820190110
636288refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019070820190110
636480refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019070820190110
637084refgcc -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
638824refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
639140refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019070820190110
639320refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
640824refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
642232refgcc -m32 -O2 -fomit-frame-pointer2019070820190110
642768refgcc -m32 -O -fomit-frame-pointer2019070820190110
643292refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070820190110
643768refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019070820190110
644204refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019070820190110
644396refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019070820190110
644824refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019070820190110
644864refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019070820190110
646576refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019070820190110
646748refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070820190110
659000refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019070820190110
665816refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
672756refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
674308refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
674448refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
675404refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
676352refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
706684refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
708252refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
708376refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
715944refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
718168refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
718532refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
718724refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
719404refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
719840refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
720904refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
721344refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
723740refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
729280refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
732860refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
732968refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
733020refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
744476refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
744700refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
744764refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
749736refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
750904refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
758608refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
759508refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
760336refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
763288refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
769384refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
770496refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
770672refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
770856refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
779184refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
797396refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
797568refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
799056refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
799660refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
809772refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
829984refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
891304refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
893740refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
937824refgcc -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
939624refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
943212refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
953684refgcc -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
955844refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
956420refgcc -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
960068refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
961232refgcc -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
969240refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
989168refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
989908refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
1027452refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
1030488refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
1037356refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
1071836refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
1072016refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
1074836refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019070820190110
1075196refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
1075392refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
1076212refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019070820190110
1076532refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019070820190110
1076808refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019070820190110
1076836refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019070820190110
1077084refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
1078340refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
1078668refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
1079000refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110
1080308refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
1081060refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
1081496refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019070820190110
1083680refgcc -m32 -Os -fomit-frame-pointer2019070820190110
1085348refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
1085468refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
1087644refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
1159228refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070820190110
1169524refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070820190110
1195116refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
1198940refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
1200040refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
1200224refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
1201168refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
1201612refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
1203548refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
1204948refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
1205240refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
1206124refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
1206564refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019070820190110
1207120refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
1211416refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
1212544refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110

Test failure

Implementation: crypto_aead/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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/scream12v1/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