Implementation notes: x86, titan0, crypto_aead/scream10v3

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_aead
Primitive: scream10v3
TimeImplementationCompilerBenchmark dateSUPERCOP version
400900refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019070820190110
404176refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
404336refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
405928refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
408840refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
410284refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
414808refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
415120refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
420480refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019070820190110
423460refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
424888refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
425652refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
425856refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
426416refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
426564refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
426968refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
427552refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
427908refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
428092refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
430424refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
434692refgcc -m32 -O3 -fomit-frame-pointer2019070820190110
436880refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019070820190110
438688refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
441248refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
442040refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
442128refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
443732refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019070820190110
443924refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
443948refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
444096refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019070820190110
444132refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019070820190110
444328refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019070820190110
444344refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019070820190110
444464refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019070820190110
444744refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
444764refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
445676refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
445924refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
446188refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
446240refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
446700refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070820190110
448816refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070820190110
449504refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
450640refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
451100refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
451744refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
453408refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
456300refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
458244refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
470192refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
473988refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
504124refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
551416refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
553428refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
553612refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
553640refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
561004refgcc -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
561148refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
563292refgcc -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
565320refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019070820190110
565344refgcc -m32 -march=core2 -O -fomit-frame-pointer2019070820190110
565472refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019070820190110
565896refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019070820190110
566256refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070820190110
566288refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019070820190110
566892refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019070820190110
567300refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070820190110
567728refgcc -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
568236refgcc -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
568868refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
569632refgcc -m32 -O -fomit-frame-pointer2019070820190110
576260refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019070820190110
576796refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019070820190110
577084refgcc -m32 -O2 -fomit-frame-pointer2019070820190110
577364refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019070820190110
577544refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
577820refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070820190110
577820refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
580468refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019070820190110
581852refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070820190110
582728refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019070820190110
592576refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
593184refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
594296refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
596052refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
599852refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
600428refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
601520refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
601968refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
608344refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019070820190110
708596refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
709312refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
711220refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
740536refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
740576refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
741036refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
743044refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
743856refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
749068refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
750340refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
753512refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
788784refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
805368refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
812488refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
812940refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
814312refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
814480refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
814604refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
814700refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
816084refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
816600refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
817088refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
817856refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
819092refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
822628refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
824140refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
830192refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
838708refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
863124refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
865508refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
867676refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
873188refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
876992refgcc -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
878404refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
879648refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
884672refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
890632refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
891756refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
892364refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
895100refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
895112refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
903336refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
903672refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
906888refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
907128refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
942732refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
945460refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
946288refgcc -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
947276refgcc -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
955636refgcc -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
1001728refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
1002332refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
1006744refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
1018304refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
1019392refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
1019712refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
1021328refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
1022404refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110
1053632refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
1056512refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
1057816refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070820190110
1059280refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
1060796refgcc -m32 -Os -fomit-frame-pointer2019070820190110
1063024refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019070820190110
1063760refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
1064164refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019070820190110
1064312refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019070820190110
1064516refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019070820190110
1065064refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
1065964refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
1066344refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070820190110
1067604refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
1067776refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019070820190110
1067800refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019070820190110
1069712refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
1249044refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
1256988refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
1262760refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110
1264464refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
1266192refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
1267484refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
1273768refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
1306588refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019070820190110
1308800refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
1309868refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
1310420refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110

Test failure

Implementation: crypto_aead/scream10v3/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/scream10v3/sse
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:16:32: warning: implicit declaration of function '__builtin_ia32_psrldi128'; did you mean '__builtin_ia32_bsrsi'? [-Wimplicit-function-declaration]
scream.c: #define shift_right(x) ((v16qi)__builtin_ia32_psrldi128((v4si)x, 4))
scream.c: ^
scream.c: scream.c:199:10: note: in expansion of macro 'shift_right'
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~~~~~~~~~~
scream.c: scream.c:199:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~
scream.c: scream.c:200:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t1 = shift_right(in[2]) & V(0xf);
scream.c: ^~
scream.c: scream.c:202:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_pause'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_pause
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ...

Number of similar (compiler,implementation) pairs: 40, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer sse
gcc -m32 -O2 -fomit-frame-pointer sse
gcc -m32 -O3 -fomit-frame-pointer sse
gcc -m32 -O -fomit-frame-pointer sse
gcc -m32 -Os -fomit-frame-pointer sse
gcc -m32 -march=i386 -O2 -fomit-frame-pointer sse
gcc -m32 -march=i386 -O3 -fomit-frame-pointer sse
gcc -m32 -march=i386 -O -fomit-frame-pointer sse
gcc -m32 -march=i386 -Os -fomit-frame-pointer sse
gcc -m32 -march=i486 -O2 -fomit-frame-pointer sse
gcc -m32 -march=i486 -O3 -fomit-frame-pointer sse
gcc -m32 -march=i486 -O -fomit-frame-pointer sse
gcc -m32 -march=i486 -Os -fomit-frame-pointer sse
gcc -m32 -march=pentium -O2 -fomit-frame-pointer sse
gcc -m32 -march=pentium -O3 -fomit-frame-pointer sse
gcc -m32 -march=pentium -O -fomit-frame-pointer sse
gcc -m32 -march=pentium -Os -fomit-frame-pointer sse
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer sse
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer sse
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer sse
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v3/sse
Compiler: gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:16:32: warning: implicit declaration of function '__builtin_ia32_psrldi128'; did you mean '__builtin_ia32_psrldi'? [-Wimplicit-function-declaration]
scream.c: #define shift_right(x) ((v16qi)__builtin_ia32_psrldi128((v4si)x, 4))
scream.c: ^
scream.c: scream.c:199:10: note: in expansion of macro 'shift_right'
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~~~~~~~~~~
scream.c: scream.c:199:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~
scream.c: scream.c:200:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t1 = shift_right(in[2]) & V(0xf);
scream.c: ^~
scream.c: scream.c:202:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_pshufw'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_pshufw
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer sse
gcc -m32 -march=athlon -O2 -fomit-frame-pointer sse
gcc -m32 -march=athlon -O3 -fomit-frame-pointer sse
gcc -m32 -march=athlon -O -fomit-frame-pointer sse
gcc -m32 -march=athlon -Os -fomit-frame-pointer sse
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer sse
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer sse
gcc -m32 -march=pentium3 -O -fomit-frame-pointer sse
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v3/sse
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:202:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb128
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:208:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:215:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:220:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ...

Number of similar (compiler,implementation) pairs: 44, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer sse
gcc -m32 -march=k8 -O2 -fomit-frame-pointer sse
gcc -m32 -march=k8 -O3 -fomit-frame-pointer sse
gcc -m32 -march=k8 -O -fomit-frame-pointer sse
gcc -m32 -march=k8 -Os -fomit-frame-pointer sse
gcc -m32 -march=nocona -O2 -fomit-frame-pointer sse
gcc -m32 -march=nocona -O3 -fomit-frame-pointer sse
gcc -m32 -march=nocona -O -fomit-frame-pointer sse
gcc -m32 -march=nocona -Os -fomit-frame-pointer sse
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer sse
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer sse
gcc -m32 -march=pentium-m -O -fomit-frame-pointer sse
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer sse
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer sse
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer sse
gcc -m32 -march=pentium4 -O -fomit-frame-pointer sse
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer sse
gcc -m32 -march=prescott -O2 -fomit-frame-pointer sse
gcc -m32 -march=prescott -O3 -fomit-frame-pointer sse
gcc -m32 -march=prescott -O -fomit-frame-pointer sse
gcc -m32 -march=prescott -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v3/sse
Compiler: gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:16:32: warning: implicit declaration of function '__builtin_ia32_psrldi128'; did you mean '__builtin_ia32_psrldi'? [-Wimplicit-function-declaration]
scream.c: #define shift_right(x) ((v16qi)__builtin_ia32_psrldi128((v4si)x, 4))
scream.c: ^
scream.c: scream.c:199:10: note: in expansion of macro 'shift_right'
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~~~~~~~~~~
scream.c: scream.c:199:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t0 = shift_right(in[0]) & V(0xf);
scream.c: ^~
scream.c: scream.c:200:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
scream.c: t1 = shift_right(in[2]) & V(0xf);
scream.c: ^~
scream.c: scream.c:202:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ...

Number of similar (compiler,implementation) pairs: 40, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer sse
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer sse
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer sse
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer sse
gcc -m32 -march=k6-2 -O -fomit-frame-pointer sse
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer sse
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer sse
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer sse
gcc -m32 -march=k6-3 -O -fomit-frame-pointer sse
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer sse
gcc -m32 -march=k6 -O2 -fomit-frame-pointer sse
gcc -m32 -march=k6 -O3 -fomit-frame-pointer sse
gcc -m32 -march=k6 -O -fomit-frame-pointer sse
gcc -m32 -march=k6 -Os -fomit-frame-pointer sse
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer sse
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer sse
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer sse
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer sse
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer sse
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer sse
gcc -m32 -march=pentium2 -O -fomit-frame-pointer sse
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer sse

Compiler output

Implementation: crypto_aead/scream10v3/sse
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:202:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb128
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:208:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:215:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:220:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ...
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:202:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb128
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:208:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:215:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:220:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer sse
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer sse
gcc -m32 -march=barcelona -O -fomit-frame-pointer sse
gcc -m32 -march=barcelona -Os -fomit-frame-pointer sse