Implementation notes: x86, titan0, crypto_aead/iscream12v2

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_aead
Primitive: iscream12v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
462072refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019070720190110
462160refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019070720190110
463620refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019070720190110
468380refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019070720190110
473796refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019070720190110
475440refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019070720190110
479204refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019070720190110
485892refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070720190110
486928refgcc -m32 -O3 -fomit-frame-pointer2019070720190110
487876refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019070720190110
488236refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070720190110
489512refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019070720190110
489676refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019070720190110
491840refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019070720190110
493428refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070720190110
495924refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070720190110
496648refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070720190110
497356refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070720190110
498916refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019070720190110
502876refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070720190110
503628refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070720190110
506176refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019070720190110
506892refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019070720190110
507976refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019070720190110
508968refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019070720190110
510980refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019070720190110
511988refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070720190110
512392refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070720190110
513596refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070720190110
515456refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070720190110
741696refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019070720190110
742484refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019070720190110
743368refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070720190110
743896refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019070720190110
744184refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019070720190110
744196refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019070720190110
745992refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019070720190110
746204refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019070720190110
746468refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019070720190110
746844refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019070720190110
751068refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019070720190110
757052refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019070720190110
786244refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019070720190110
786684refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019070720190110
802368refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070720190110
802448refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070720190110
802772refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070720190110
803360refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070720190110
810816refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070720190110
812224refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019070720190110
833916refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019070720190110
836428refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070720190110
859748refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019070720190110
860124refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019070720190110
861136refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019070720190110
861404refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019070720190110
867820refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019070720190110
875724refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019070720190110
876212refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019070720190110
876852refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019070720190110
877660refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019070720190110
879540refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019070720190110
879884refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070720190110
880932refgcc -m32 -march=prescott -O -fomit-frame-pointer2019070720190110
881984refgcc -m32 -march=nocona -O -fomit-frame-pointer2019070720190110
889316refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019070720190110
889968refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019070720190110
891600refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070720190110
893248refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070720190110
893656refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019070720190110
894284refgcc -m32 -march=core2 -O -fomit-frame-pointer2019070720190110
894288refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070720190110
895552refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019070720190110
896404refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019070720190110
896436refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019070720190110
896516refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019070720190110
897072refgcc -m32 -march=k8 -O -fomit-frame-pointer2019070720190110
897520refgcc -m32 -O -fomit-frame-pointer2019070720190110
897644refgcc -m32 -march=athlon -O -fomit-frame-pointer2019070720190110
898072refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019070720190110
898664refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019070720190110
898856refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070720190110
899072refgcc -m32 -O2 -fomit-frame-pointer2019070720190110
899564refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019070720190110
899652refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019070720190110
899720refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019070720190110
899776refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070720190110
899900refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070720190110
901136refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019070720190110
901596refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070720190110
901872refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019070720190110
901984refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019070720190110
902012refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019070720190110
902020refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070720190110
902036refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019070720190110
903180refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019070720190110
905776refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019070720190110
907124refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070720190110
909200refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019070720190110
910520refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070720190110
910808refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070720190110
914000refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070720190110
914456refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070720190110
916712refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019070720190110
917612refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070720190110
920360refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070720190110
927352refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019070720190110
941456refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019070720190110
948788refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019070720190110
949344refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019070720190110
949464refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019070720190110
952104refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019070720190110
983556refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019070720190110
984224refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070720190110
984276refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019070720190110
987068refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019070720190110
987156refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019070720190110
989564refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019070720190110
989632refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019070720190110
989820refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019070720190110
990568refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019070720190110
993724refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019070720190110
995084refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019070720190110
995096refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019070720190110
996088refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019070720190110
996524refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070720190110
996576refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070720190110
996692refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019070720190110
996984refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019070720190110
997060refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019070720190110
997308refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019070720190110
997360refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019070720190110
997408refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019070720190110
997632refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019070720190110
998260refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019070720190110
998548refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019070720190110
998600refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019070720190110
998616refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070720190110
999164refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019070720190110
999584refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019070720190110
1000652refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019070720190110
1001020refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019070720190110
1001052refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019070720190110
1001396refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019070720190110
1001560refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019070720190110
1001776refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019070720190110
1001844refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019070720190110
1002016refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019070720190110
1002468refgcc -m32 -march=k6 -O -fomit-frame-pointer2019070720190110
1002480refgcc -m32 -Os -fomit-frame-pointer2019070720190110
1002996refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019070720190110
1003848refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019070720190110
1004656refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019070720190110
1005600refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019070720190110
1006156refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019070720190110
1011440refgcc -m32 -march=i386 -O -fomit-frame-pointer2019070720190110
1018420refgcc -m32 -march=i486 -O -fomit-frame-pointer2019070720190110
1023684refgcc -m32 -march=pentium -O -fomit-frame-pointer2019070720190110
1026920refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070720190110
1036676refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070720190110
1037736refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019070720190110
1077288refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019070720190110
1077724refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019070720190110
1081800refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070720190110
1082292refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019070720190110
1082544refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070720190110
1177516refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070720190110
1178628refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019070720190110
1533944refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019070720190110
1538368refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070720190110
1540468refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019070720190110
1541440refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019070720190110
1555196refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019070720190110
1555532refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070720190110
1556096refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019070720190110
1560784refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019070720190110

Test failure

Implementation: crypto_aead/iscream12v2/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/iscream12v2/sse
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:16:32: warning: implicit declaration of function '__builtin_ia32_psrldi128'; did you mean '__builtin_ia32_bsrsi'? [-Wimplicit-function-declaration]
iscream.c: #define shift_right(x) ((v16qi)__builtin_ia32_psrldi128((v4si)x, 4))
iscream.c: ^
iscream.c: iscream.c:181:10: note: in expansion of macro 'shift_right'
iscream.c: t0 = shift_right(in[0]) & V(0xf);
iscream.c: ^~~~~~~~~~~
iscream.c: iscream.c:181:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
iscream.c: t0 = shift_right(in[0]) & V(0xf);
iscream.c: ^~
iscream.c: iscream.c:182:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
iscream.c: t1 = shift_right(in[2]) & V(0xf);
iscream.c: ^~
iscream.c: iscream.c:184:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_pause'? [-Wimplicit-function-declaration]
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
iscream.c: __builtin_ia32_pause
iscream.c: iscream.c:184:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:189:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.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/iscream12v2/sse
Compiler: gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:16:32: warning: implicit declaration of function '__builtin_ia32_psrldi128'; did you mean '__builtin_ia32_psrldi'? [-Wimplicit-function-declaration]
iscream.c: #define shift_right(x) ((v16qi)__builtin_ia32_psrldi128((v4si)x, 4))
iscream.c: ^
iscream.c: iscream.c:181:10: note: in expansion of macro 'shift_right'
iscream.c: t0 = shift_right(in[0]) & V(0xf);
iscream.c: ^~~~~~~~~~~
iscream.c: iscream.c:181:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
iscream.c: t0 = shift_right(in[0]) & V(0xf);
iscream.c: ^~
iscream.c: iscream.c:182:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
iscream.c: t1 = shift_right(in[2]) & V(0xf);
iscream.c: ^~
iscream.c: iscream.c:184:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_pshufw'? [-Wimplicit-function-declaration]
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
iscream.c: __builtin_ia32_pshufw
iscream.c: iscream.c:184:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:189:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.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/iscream12v2/sse
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:184:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
iscream.c: __builtin_ia32_psubb128
iscream.c: iscream.c:184:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:189:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: D = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:197:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^~
iscream.c: iscream.c:198:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^~
iscream.c: iscream.c:202:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.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/iscream12v2/sse
Compiler: gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:16:32: warning: implicit declaration of function '__builtin_ia32_psrldi128'; did you mean '__builtin_ia32_psrldi'? [-Wimplicit-function-declaration]
iscream.c: #define shift_right(x) ((v16qi)__builtin_ia32_psrldi128((v4si)x, 4))
iscream.c: ^
iscream.c: iscream.c:181:10: note: in expansion of macro 'shift_right'
iscream.c: t0 = shift_right(in[0]) & V(0xf);
iscream.c: ^~~~~~~~~~~
iscream.c: iscream.c:181:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
iscream.c: t0 = shift_right(in[0]) & V(0xf);
iscream.c: ^~
iscream.c: iscream.c:182:5: error: can't convert a value of type 'int' to vector type '__vector(16) char' which has different size
iscream.c: t1 = shift_right(in[2]) & V(0xf);
iscream.c: ^~
iscream.c: iscream.c:184:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb'? [-Wimplicit-function-declaration]
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
iscream.c: __builtin_ia32_psubb
iscream.c: iscream.c:184:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:189:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.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/iscream12v2/sse
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:184:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
iscream.c: __builtin_ia32_psubb128
iscream.c: iscream.c:184:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:189:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: D = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:197:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^~
iscream.c: iscream.c:198:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^~
iscream.c: iscream.c:202:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ...
iscream.c: iscream.c: In function 'LBox16P':
iscream.c: iscream.c:184:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
iscream.c: __builtin_ia32_psubb128
iscream.c: iscream.c:184:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: A = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:185:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: C = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:189:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: B = __builtin_ia32_pshufb128(table, t0);
iscream.c: ^
iscream.c: iscream.c:190:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
iscream.c: D = __builtin_ia32_pshufb128(table, t1);
iscream.c: ^
iscream.c: iscream.c:197:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.c: ^~
iscream.c: iscream.c:198:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
iscream.c: ^~
iscream.c: iscream.c:202:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
iscream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
iscream.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