Implementation notes: x86, floodyberry, crypto_stream/salsa20

Computer: floodyberry
Architecture: x86
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_stream
Primitive: salsa20
TimeImplementationCompilerBenchmark dateSUPERCOP version
6688e/x86-xmm5gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
6700e/x86-xmm5gcc -m32 -O3 -fomit-frame-pointer2014050820140505
6713x86_xmm5gcc -m32 -O2 -fomit-frame-pointer2014050820140505
6713x86_xmm5gcc -m32 -O3 -fomit-frame-pointer2014050820140505
6713x86_xmm5icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
6725x86_xmm5gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
6725x86_xmm5icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
6737x86_xmm5gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
6738e/x86-xmm5icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
6750x86_xmm5clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
6750e/x86-xmm5gcc -m32 -O2 -fomit-frame-pointer2014050820140505
6775e/x86-xmm5icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
6863e/x86-xmm5gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
7613e/x86-xmm4gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
7650e/x86-xmm4gcc -m32 -O2 -fomit-frame-pointer2014050820140505
7650e/x86-xmm4gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
7663e/x86-xmm4icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
7700e/x86-xmm4gcc -m32 -O3 -fomit-frame-pointer2014050820140505
7725e/x86-xmm4icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
9900e/x86-xmm2icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
9937e/x86-xmm2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
9963e/x86-xmm2icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
9987e/x86-xmm2gcc -m32 -O2 -fomit-frame-pointer2014050820140505
9987e/x86-xmm2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
9988e/x86-xmm2gcc -m32 -O3 -fomit-frame-pointer2014050820140505
10863e/x86-xmmgcc -m32 -O2 -fomit-frame-pointer2014050820140505
10887e/x86-xmmgcc -m32 -O3 -fomit-frame-pointer2014050820140505
10900e/x86-xmmicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
10913e/x86-xmmgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
10937e/x86-xmmgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
10950e/x86-xmmicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
14975e/x86-pmicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
14987e/x86-3clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
15000e/x86-2gcc -m32 -O3 -fomit-frame-pointer2014050820140505
15000e/x86-3gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
15013e/x86-pmgcc -m32 -O3 -fomit-frame-pointer2014050820140505
15025e/x86-pmgcc -m32 -O2 -fomit-frame-pointer2014050820140505
15025e/x86-athlongcc -m32 -O3 -fomit-frame-pointer2014050820140505
15025e/x86-2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
15025e/x86-pmgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
15037e/x86-pmicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
15038e/x86-athlongcc -m32 -O2 -fomit-frame-pointer2014050820140505
15050e/x86-pmgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
15063e/x86-3gcc -m32 -O3 -fomit-frame-pointer2014050820140505
15063e/x86-athlongcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
15063e/x86-athlonicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
15075e/x86-pmclang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
15075e/x86-2gcc -m32 -O2 -fomit-frame-pointer2014050820140505
15075e/x86-3icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
15087e/x86-2icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
15113e/x86-3gcc -m32 -O2 -fomit-frame-pointer2014050820140505
15113e/x86-2icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
15113e/x86-3icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
15125e/x86-2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
15125e/x86-3gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
15125e/x86-athlonicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
15137e/x86-athlongcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
15150e/x86-2clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
15188e/x86-athlonclang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
15225e/x86-mmxgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
15225e/x86-mmxgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
15238e/x86-mmxclang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
15238e/x86-mmxicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
15250e/x86-mmxgcc -m32 -O2 -fomit-frame-pointer2014050820140505
15262e/x86-mmxgcc -m32 -O3 -fomit-frame-pointer2014050820140505
15288e/x86-mmxicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
15437e/x86-1gcc -m32 -O3 -fomit-frame-pointer2014050820140505
15438e/x86-1icc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
15450e/x86-1icc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
15463e/x86-1gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
15487e/x86-1gcc -m32 -O2 -fomit-frame-pointer2014050820140505
15487e/x86-1gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
15488e/x86-1clang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
15550e/mergedclang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
18837e/regsclang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
19350e/refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
19625e/mergedgcc -m32 -O3 -fomit-frame-pointer2014050820140505
19700e/mergedgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
19712e/mergedgcc -m32 -O2 -fomit-frame-pointer2014050820140505
19763e/regsgcc -m32 -O3 -fomit-frame-pointer2014050820140505
19863e/regsgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
19925e/mergedgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
20462e/refgcc -m32 -O3 -fomit-frame-pointer2014050820140505
21725e/refclang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
22050e/regsgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
22725e/regsgcc -m32 -O2 -fomit-frame-pointer2014050820140505
23762refgcc -m32 -O3 -fomit-frame-pointer2014050820140505
24075refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2014050820140505
24187e/refgcc -m32 -O2 -fomit-frame-pointer2014050820140505
24262reficc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
24275e/refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
25750e/mergedicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
26700e/regsicc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
27562reficc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
27575refclang -O1 -march=native -m32 -fomit-frame-pointer2014050820140505
27900refgcc -m32 -O2 -fomit-frame-pointer2014050820140505
27962refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2014050820140505
28000e/reficc -m32 -O3 -static -xHost -fomit-frame-pointer2014050820140505
28212e/mergedicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
34337e/regsicc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505
34375e/reficc -m32 -O1 -static -xHost -fomit-frame-pointer2014050820140505

Test failure

Implementation: crypto_stream/salsa20/e/x86-xmm
Compiler: clang -O1 -march=native -m32 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
clang -O1 -march=native -m32 -fomit-frame-pointer e/x86-xmm e/x86-xmm2 e/x86-xmm4 e/x86-xmm5
clang -O3 -march=native -m32 -fomit-frame-pointer e/merged e/ref e/regs e/x86-1 e/x86-2 e/x86-3 e/x86-athlon e/x86-mmx e/x86-pm e/x86-xmm e/x86-xmm2 e/x86-xmm4 e/x86-xmm5 ref x86_xmm5

Compiler output

Implementation: crypto_stream/salsa20/e/x86-1
Compiler: clang -O1 -march=native -m32 -fomit-frame-pointer
salsa20.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
salsa20.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
salsa20.s: clang: warning: argument unused during compilation: '-I .'
salsa20.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/x86/include'

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
clang -O1 -march=native -m32 -fomit-frame-pointer e/x86-1 e/x86-2 e/x86-3 e/x86-athlon e/x86-mmx e/x86-pm e/x86-xmm e/x86-xmm2 e/x86-xmm4 e/x86-xmm5
clang -O3 -march=native -m32 -fomit-frame-pointer e/x86-1 e/x86-2 e/x86-3 e/x86-athlon e/x86-mmx e/x86-pm e/x86-xmm e/x86-xmm2 e/x86-xmm4 e/x86-xmm5

Compiler output

Implementation: crypto_stream/salsa20/x86_xmm5
Compiler: clang -O1 -march=native -m32 -fomit-frame-pointer
stream.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
stream.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
stream.s: clang: warning: argument unused during compilation: '-I .'
stream.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/x86/include'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m32 -fomit-frame-pointer x86_xmm5
clang -O3 -march=native -m32 -fomit-frame-pointer x86_xmm5

Compiler output

Implementation: crypto_stream/salsa20/e/merged
Compiler: icc -m32 -O1 -static -xHost -fomit-frame-pointer
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/ipp/../compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/ipp/../compiler/lib/intel64/libirc.a while searching for irc
try.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
measure.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc
measure.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/ipp/../compiler/lib/intel64/libirc.a while searching for irc
measure.c: ld: warning: skipping incompatible /opt/intel/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirc.a while searching for irc

Number of similar (compiler,implementation) pairs: 30, namely:
CompilerImplementations
icc -m32 -O1 -static -xHost -fomit-frame-pointer e/merged e/ref e/regs e/x86-1 e/x86-2 e/x86-3 e/x86-athlon e/x86-mmx e/x86-pm e/x86-xmm e/x86-xmm2 e/x86-xmm4 e/x86-xmm5 ref x86_xmm5
icc -m32 -O3 -static -xHost -fomit-frame-pointer e/merged e/ref e/regs e/x86-1 e/x86-2 e/x86-3 e/x86-athlon e/x86-mmx e/x86-pm e/x86-xmm e/x86-xmm2 e/x86-xmm4 e/x86-xmm5 ref x86_xmm5