Implementation notes: x86, titan0, crypto_aead/scream10v2

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_aead
Primitive: scream10v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
373136refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019070820190110
377192refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
378388refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
378520refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
378784refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
379484refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
380492refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
381288refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
381452refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
386020refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
387428refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019070820190110
388244refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
389260refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
389920refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
392832refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
394364refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019070820190110
394732refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
394884refgcc -m32 -O3 -fomit-frame-pointer2019070820190110
401176refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070820190110
401196refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
402472refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070820190110
405972refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
406048refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
406484refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
409332refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
410012refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
410416refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
410772refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
411056refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
411564refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019070820190110
411844refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019070820190110
412792refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019070820190110
413124refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019070820190110
413652refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
414496refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019070820190110
419532refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019070820190110
421692refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
422144refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
422196refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
422660refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
430640refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
431312refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
431672refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
432336refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
432396refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
432552refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
432580refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
433052refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
433784refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
436020refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
445208refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
450188refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
531240refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070820190110
531408refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070820190110
533688refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
534136refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
535664refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
537072refgcc -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
537104refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
538476refgcc -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
538968refgcc -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
540680refgcc -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
541336refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019070820190110
541460refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019070820190110
541804refgcc -m32 -march=core2 -O -fomit-frame-pointer2019070820190110
542488refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019070820190110
542912refgcc -m32 -O -fomit-frame-pointer2019070820190110
543928refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019070820190110
544016refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
544132refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019070820190110
544180refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
544268refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
545136refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
547696refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019070820190110
548096refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019070820190110
548108refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019070820190110
548220refgcc -m32 -O2 -fomit-frame-pointer2019070820190110
548880refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019070820190110
549084refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019070820190110
549264refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019070820190110
549288refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070820190110
549408refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070820190110
573316refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
573568refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
573692refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
574912refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
596312refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
597412refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
598668refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
599784refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
600812refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
601532refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
602108refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
604536refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
605676refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
606092refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
606944refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
608840refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
609928refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
609932refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
610792refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
612600refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
614384refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
615560refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
615920refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
618332refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
619380refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
635804refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
636484refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
647268refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
647328refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
647424refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
650028refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
653924refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
654880refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
655320refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
656356refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
659628refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
660124refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
660356refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
660644refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
661760refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
670356refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
785216refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
787620refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
792128refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
794936refgcc -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
795200refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
795272refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
808132refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
809992refgcc -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
813240refgcc -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
815012refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
819808refgcc -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
823624refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
834408refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
835244refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
870572refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
872980refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
873292refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
910816refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
911676refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
913932refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
914980refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019070820190110
915380refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
915848refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
916216refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
916704refgcc -m32 -Os -fomit-frame-pointer2019070820190110
917288refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019070820190110
917688refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019070820190110
918048refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019070820190110
918416refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
918856refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019070820190110
919108refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110
919120refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
919156refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019070820190110
919964refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
920608refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
923960refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
926068refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
986252refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070820190110
987396refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070820190110
1010228refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
1012504refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
1017052refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
1017428refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
1019368refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
1020444refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
1020520refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
1020684refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
1022744refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
1023632refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019070820190110
1023748refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
1025792refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
1025936refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
1026004refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110

Test failure

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