Implementation notes: x86, kizomba, crypto_aead/scream12v3

Computer: kizomba
Architecture: x86
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_aead
Primitive: scream12v3
TimeImplementationCompilerBenchmark dateSUPERCOP version
414135refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018082520180818
415208refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018082520180818
420095refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018082520180818
420846refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018082520180818
420917refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018082520180818
421593refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018082520180818
424750refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018082520180818
429601refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018082520180818
429879refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018082520180818
431584refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018082520180818
433579refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018082520180818
434895refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018082520180818
438299refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082520180818
441170refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018082520180818
441953refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018082520180818
444831refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018082520180818
446161refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018082520180818
447829refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018082520180818
449301refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018082520180818
450405refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018082520180818
452109refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018082520180818
453359refgcc -m32 -O3 -fomit-frame-pointer2018082520180818
456438refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018082520180818
458456refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082520180818
459393refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018082520180818
459770refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082520180818
460167refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018082520180818
460633refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018082520180818
465819refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082520180818
466258refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018082520180818
466425refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018082520180818
467496refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018082520180818
470440refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018082520180818
472996refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082520180818
473303refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018082520180818
474180refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018082520180818
474645refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018082520180818
474954refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082520180818
475706refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082520180818
477101refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018082520180818
478771refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082520180818
480890refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082520180818
482409refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082520180818
484338refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082520180818
494361refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082520180818
496018refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082520180818
496920refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082520180818
506040refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082520180818
506968refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082520180818
509973refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082520180818
515296refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082520180818
524201refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082520180818
571776refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082520180818
580569refgcc -m32 -march=athlon -O -fomit-frame-pointer2018082520180818
581024refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018082520180818
581254refgcc -m32 -march=k8 -O -fomit-frame-pointer2018082520180818
584816refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018082520180818
585084refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018082520180818
585325refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018082520180818
585542refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018082520180818
585694refgcc -m32 -march=core2 -O -fomit-frame-pointer2018082520180818
585718refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018082520180818
586192refgcc -m32 -march=nocona -O -fomit-frame-pointer2018082520180818
586619refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018082520180818
587046refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018082520180818
587454refgcc -m32 -march=prescott -O -fomit-frame-pointer2018082520180818
587873refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082520180818
588522refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018082520180818
590934refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082520180818
591940refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018082520180818
591974refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018082520180818
592042refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082520180818
592143refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018082520180818
592290refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082520180818
592500refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082520180818
593526refgcc -m32 -O -fomit-frame-pointer2018082520180818
594230refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082520180818
594447refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018082520180818
595522refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082520180818
597389refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018082520180818
597539refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018082520180818
598825refgcc -m32 -O2 -fomit-frame-pointer2018082520180818
626466refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018082520180818
626698refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018082520180818
628167refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018082520180818
633635refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082520180818
633917refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082520180818
634651refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082520180818
634968refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082520180818
639615refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018082520180818
735984refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018082520180818
738357refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018082520180818
739901refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018082520180818
740691refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018082520180818
740700refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018082520180818
740974refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018082520180818
741115refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018082520180818
741653refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018082520180818
906423refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082520180818
906748refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082520180818
909385refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018082520180818
914313refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018082520180818
915577refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018082520180818
938472refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082520180818
938571refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018082520180818
945254refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018082520180818
953696refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018082520180818
954725refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018082520180818
961292refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018082520180818
963189refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018082520180818
965212refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018082520180818
985216refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018082520180818
985367refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018082520180818
986014refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018082520180818
986703refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082520180818
991093refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082520180818
992675refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082520180818
993113refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082520180818
993984refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018082520180818
994141refgcc -m32 -march=k6 -O -fomit-frame-pointer2018082520180818
1003275refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018082520180818
1005931refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018082520180818
1007351refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082520180818
1009875refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018082520180818
1015756refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082520180818
1015853refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082520180818
1015955refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018082520180818
1018117refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018082520180818
1021248refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082520180818
1024298refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018082520180818
1042670refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018082520180818
1046125refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018082520180818
1054234refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018082520180818
1054377refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082520180818
1057094refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082520180818
1069135refgcc -m32 -march=i486 -O -fomit-frame-pointer2018082520180818
1070462refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082520180818
1071490refgcc -m32 -march=pentium -O -fomit-frame-pointer2018082520180818
1072993refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018082520180818
1085847refgcc -m32 -march=i386 -O -fomit-frame-pointer2018082520180818
1125863refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018082520180818
1127778refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018082520180818
1129463refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018082520180818
1140088refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018082520180818
1144496refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018082520180818
1144643refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018082520180818
1145714refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018082520180818
1146581refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018082520180818
1165639refgcc -m32 -Os -fomit-frame-pointer2018082520180818
1167954refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018082520180818
1168917refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018082520180818
1169067refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018082520180818
1169077refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018082520180818
1169611refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082520180818
1170516refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018082520180818
1172147refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018082520180818
1173675refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018082520180818
1174070refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018082520180818
1174462refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018082520180818
1174577refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018082520180818
1178538refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018082520180818
1183150refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018082520180818
1194262refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018082520180818
1196929refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018082520180818
1200262refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018082520180818
1437678refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018082520180818
1444324refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018082520180818
1454971refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018082520180818
1456629refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018082520180818
1457298refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018082520180818
1459708refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018082520180818
1470307refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018082520180818
1492699refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018082520180818
1493117refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018082520180818
1494083refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018082520180818
1499361refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018082520180818

Test failure

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