Implementation notes: x86, titan0, crypto_aead/scream10v1

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_aead
Primitive: scream10v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
374608refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019070820190110
377672refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
378352refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
379144refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
380164refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
380508refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
381548refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
381672refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
382036refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
386920refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
388348refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019070820190110
389404refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
391848refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
391932refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
393108refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
393372refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019070820190110
393404refgcc -m32 -O3 -fomit-frame-pointer2019070820190110
393476refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
400684refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070820190110
402104refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
402396refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070820190110
405248refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
405568refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
406204refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
410112refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
410472refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
410708refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
410832refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
410848refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
410984refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
411632refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019070820190110
412092refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019070820190110
412276refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019070820190110
413292refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019070820190110
417592refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019070820190110
420584refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019070820190110
420644refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
420960refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
421196refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
421512refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
431844refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
432072refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
433648refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
434808refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
435348refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
435416refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
436064refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
436136refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
437956refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
439244refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
445740refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
449448refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
531692refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070820190110
531884refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070820190110
533224refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
534108refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
535756refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
536208refgcc -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
537596refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
537716refgcc -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
540412refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019070820190110
540792refgcc -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
540800refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019070820190110
542220refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019070820190110
542272refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
542760refgcc -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
542812refgcc -m32 -march=core2 -O -fomit-frame-pointer2019070820190110
543616refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019070820190110
544152refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
544284refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
544596refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
545952refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019070820190110
546128refgcc -m32 -O -fomit-frame-pointer2019070820190110
547964refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070820190110
548444refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019070820190110
548772refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070820190110
549156refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019070820190110
549480refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019070820190110
549668refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019070820190110
549708refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019070820190110
550104refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019070820190110
553148refgcc -m32 -O2 -fomit-frame-pointer2019070820190110
571656refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
571944refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
572152refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
577096refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
595552refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
597084refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
599772refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
601556refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
602244refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
602312refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
603152refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
604068refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
605556refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
605712refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
607752refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
608376refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
608464refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
612596refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
612628refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
612856refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
612880refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
616036refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
617148refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
618844refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
622420refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
630928refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
631852refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
644292refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
645696refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
646864refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
650356refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
654144refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
654808refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
654844refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
655000refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
659436refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
660156refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
660652refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
663784refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
664080refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
670228refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
777908refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
778848refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
788104refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
793012refgcc -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
793368refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
793560refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
808308refgcc -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
808940refgcc -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
809576refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
814480refgcc -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
815380refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
820384refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
836200refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
843516refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
869876refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
870552refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
871092refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
908996refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
911896refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
915364refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
915864refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019070820190110
916892refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019070820190110
917268refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
917668refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
918268refgcc -m32 -Os -fomit-frame-pointer2019070820190110
918360refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
919068refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
919136refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019070820190110
920116refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019070820190110
920300refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
920652refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019070820190110
920932refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019070820190110
921136refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
922292refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
923144refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
923160refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110
924368refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
987056refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070820190110
990804refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070820190110
1014084refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
1016420refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
1017488refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
1019248refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
1020156refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
1021096refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
1021856refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019070820190110
1022152refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
1022804refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
1023844refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
1024068refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
1025784refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
1025872refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
1028636refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110

Test failure

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