Implementation notes: x86, kizomba, crypto_aead/scream12v1

Computer: kizomba
Architecture: x86
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_aead
Primitive: scream12v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
387018refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082520180818
390942refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018082520180818
391277refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018082520180818
392212refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018082520180818
393705refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018082520180818
393891refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018082520180818
395125refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018082520180818
398837refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018082520180818
399367refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018082520180818
402972refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018082520180818
404944refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018082520180818
407181refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018082520180818
408092refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018082520180818
409186refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018082520180818
409561refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018082520180818
410754refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018082520180818
412877refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018082520180818
414598refgcc -m32 -O3 -fomit-frame-pointer2018082520180818
419207refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018082520180818
420218refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018082520180818
420351refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018082520180818
420905refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018082520180818
424750refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082520180818
425051refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082520180818
426527refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082520180818
426712refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082520180818
428492refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018082520180818
429177refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018082520180818
429415refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018082520180818
431394refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018082520180818
436839refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018082520180818
437256refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018082520180818
437496refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018082520180818
437857refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082520180818
438109refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082520180818
438580refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018082520180818
460663refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018082520180818
460858refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082520180818
461413refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082520180818
462107refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018082520180818
462195refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082520180818
463435refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018082520180818
464291refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082520180818
468051refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082520180818
469332refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018082520180818
470996refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082520180818
472044refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082520180818
474490refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082520180818
481726refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082520180818
485936refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082520180818
491752refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082520180818
497629refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082520180818
556815refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082520180818
560123refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018082520180818
560451refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018082520180818
561704refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082520180818
561784refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018082520180818
562181refgcc -m32 -march=prescott -O -fomit-frame-pointer2018082520180818
563671refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018082520180818
563675refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082520180818
563827refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082520180818
564044refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082520180818
564655refgcc -m32 -march=nocona -O -fomit-frame-pointer2018082520180818
564701refgcc -m32 -O2 -fomit-frame-pointer2018082520180818
564793refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018082520180818
565339refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018082520180818
566026refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018082520180818
566222refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018082520180818
567641refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018082520180818
567866refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018082520180818
570801refgcc -m32 -march=athlon -O -fomit-frame-pointer2018082520180818
571466refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082520180818
572303refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018082520180818
572405refgcc -m32 -march=core2 -O -fomit-frame-pointer2018082520180818
573006refgcc -m32 -march=k8 -O -fomit-frame-pointer2018082520180818
574198refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018082520180818
574216refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018082520180818
574479refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018082520180818
575432refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018082520180818
575526refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082520180818
577569refgcc -m32 -O -fomit-frame-pointer2018082520180818
581085refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082520180818
622198refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082520180818
622223refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082520180818
622943refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082520180818
623445refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082520180818
644133refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018082520180818
646760refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018082520180818
648932refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018082520180818
651930refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018082520180818
662377refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018082520180818
671381refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018082520180818
694426refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018082520180818
695294refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018082520180818
695625refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018082520180818
695903refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018082520180818
697079refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018082520180818
697135refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018082520180818
697248refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018082520180818
697424refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018082520180818
697526refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082520180818
698039refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018082520180818
698526refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018082520180818
700202refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082520180818
702455refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082520180818
705210refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082520180818
705944refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018082520180818
706615refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082520180818
713266refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082520180818
713978refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082520180818
714553refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018082520180818
716137refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018082520180818
724315refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018082520180818
727544refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082520180818
727873refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082520180818
727976refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018082520180818
748194refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018082520180818
769641refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018082520180818
791714refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018082520180818
793044refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018082520180818
794254refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018082520180818
798595refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018082520180818
805780refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018082520180818
809407refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018082520180818
872902refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018082520180818
873445refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018082520180818
873893refgcc -m32 -march=k6 -O -fomit-frame-pointer2018082520180818
880200refgcc -m32 -march=i486 -O -fomit-frame-pointer2018082520180818
881704refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018082520180818
886063refgcc -m32 -march=pentium -O -fomit-frame-pointer2018082520180818
886091refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082520180818
887363refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082520180818
889961refgcc -m32 -march=i386 -O -fomit-frame-pointer2018082520180818
906160refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018082520180818
916212refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018082520180818
929186refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018082520180818
929867refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082520180818
964278refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082520180818
964495refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082520180818
967806refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018082520180818
998927refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018082520180818
1003902refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018082520180818
1004492refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018082520180818
1004919refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018082520180818
1005089refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018082520180818
1006375refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018082520180818
1006423refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018082520180818
1006974refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018082520180818
1007175refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018082520180818
1007228refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018082520180818
1009746refgcc -m32 -Os -fomit-frame-pointer2018082520180818
1010111refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018082520180818
1010343refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018082520180818
1012998refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082520180818
1014004refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018082520180818
1014919refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018082520180818
1015290refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018082520180818
1015992refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018082520180818
1016893refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018082520180818
1022437refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018082520180818
1060633refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018082520180818
1076897refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018082520180818
1131045refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018082520180818
1135667refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018082520180818
1135861refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018082520180818
1140020refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018082520180818
1144173refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018082520180818
1153135refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018082520180818
1154670refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018082520180818
1155157refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018082520180818
1161960refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018082520180818
1162548refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018082520180818
1162847refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018082520180818
1165173refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018082520180818
1166893refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018082520180818
1177006refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018082520180818

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