Implementation notes: mipso32, gcc49, crypto_stream/chacha20

Computer: gcc49
Architecture: mipso32
CPU ID: unknown CPU ID
SUPERCOP version: 20130126
Operation: crypto_stream
Primitive: chacha20
TimeImplementationCompilerBenchmark dateSUPERCOP version
30238e/regsgcc -funroll-loops -O3 -fomit-frame-pointer2012041320120329
30240e/regsgcc -funroll-loops -mabi=32 -O3 -fomit-frame-pointer2012041320120329
30270e/refgcc -mabi=32 -O3 -fomit-frame-pointer2012041320120329
30426e/refgcc -O3 -fomit-frame-pointer2012041320120329
30830e/refgcc -funroll-loops -mabi=32 -O3 -fomit-frame-pointer2012041320120329
30876e/refgcc -funroll-loops -O3 -fomit-frame-pointer2012041320120329
31062e/regsgcc -mabi=32 -O3 -fomit-frame-pointer2012041320120329
31098e/regsgcc -O3 -fomit-frame-pointer2012041320120329
34944e/refgcc -funroll-loops -mabi=32 -O2 -fomit-frame-pointer2012041320120329
34950e/refgcc -funroll-loops -O2 -fomit-frame-pointer2012041320120329
35318e/regsgcc -mabi=32 -O2 -fomit-frame-pointer2012041320120329
35324e/regsgcc -O2 -fomit-frame-pointer2012041320120329
36544e/regsgcc -funroll-loops -O2 -fomit-frame-pointer2012041320120329
36544e/regsgcc -funroll-loops -mabi=32 -O2 -fomit-frame-pointer2012041320120329
37424e/mergedgcc -O3 -fomit-frame-pointer2012041320120329
37424e/mergedgcc -mabi=32 -O3 -fomit-frame-pointer2012041320120329
38964e/mergedgcc -mabi=32 -O2 -fomit-frame-pointer2012041320120329
39010e/mergedgcc -O2 -fomit-frame-pointer2012041320120329
39252e/mergedgcc -funroll-loops -O2 -fomit-frame-pointer2012041320120329
39276e/mergedgcc -funroll-loops -mabi=32 -O2 -fomit-frame-pointer2012041320120329
39292e/mergedgcc -funroll-loops -O3 -fomit-frame-pointer2012041320120329
39310e/mergedgcc -funroll-loops -Os -fomit-frame-pointer2012041320120329
39324e/mergedgcc -funroll-loops -mabi=32 -Os -fomit-frame-pointer2012041320120329
39372e/mergedgcc -funroll-loops -mabi=32 -O3 -fomit-frame-pointer2012041320120329
40046e/regsgcc -mabi=32 -Os -fomit-frame-pointer2012041320120329
40114e/regsgcc -Os -fomit-frame-pointer2012041320120329
40850e/regsgcc -funroll-loops -mabi=32 -Os -fomit-frame-pointer2012041320120329
40852e/regsgcc -funroll-loops -Os -fomit-frame-pointer2012041320120329
41514e/regsgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012041320120329
41802e/mergedgcc -mabi=32 -Os -fomit-frame-pointer2012041320120329
41902e/mergedgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012041320120329
41970e/mergedgcc -Os -fomit-frame-pointer2012041320120329
42348e/regsgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012041320120329
42882e/mergedgcc -fno-schedule-insns -Os -fomit-frame-pointer2012041320120329
43066e/refgcc -O2 -fomit-frame-pointer2012041320120329
43070e/refgcc -mabi=32 -O2 -fomit-frame-pointer2012041320120329
45210e/regsgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012041320120329
45796e/refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012041320120329
46724e/refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012041320120329
46740e/refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012041320120329
47156e/regsgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012041320120329
48642e/refgcc -funroll-loops -Os -fomit-frame-pointer2012041320120329
48644e/refgcc -funroll-loops -mabi=32 -Os -fomit-frame-pointer2012041320120329
48908e/refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012041320120329
48908e/refgcc -funroll-loops -mabi=32 -O -fomit-frame-pointer2012041320120329
48912e/refgcc -funroll-loops -O -fomit-frame-pointer2012041320120329
49088e/regsgcc -O -fomit-frame-pointer2012041320120329
49088e/regsgcc -fno-schedule-insns -O -fomit-frame-pointer2012041320120329
49088e/regsgcc -mabi=32 -O -fomit-frame-pointer2012041320120329
49108e/regsgcc -funroll-loops -mabi=32 -O -fomit-frame-pointer2012041320120329
49112e/regsgcc -funroll-loops -O -fomit-frame-pointer2012041320120329
49116e/regsgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012041320120329
49946e/refgcc -Os -fomit-frame-pointer2012041320120329
49946e/refgcc -mabi=32 -Os -fomit-frame-pointer2012041320120329
51796e/regsgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012041320120329
53926e/regsgcc -fno-schedule-insns -Os -fomit-frame-pointer2012041320120329
56416e/refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012041320120329
58616e/refgcc -fno-schedule-insns -O -fomit-frame-pointer2012041320120329
59088e/refgcc -mabi=32 -O -fomit-frame-pointer2012041320120329
59118e/refgcc -O -fomit-frame-pointer2012041320120329
61326e/refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012041320120329
61616e/refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012041320120329
65332e/mergedgcc -O -fomit-frame-pointer2012041320120329
65332e/mergedgcc -fno-schedule-insns -O -fomit-frame-pointer2012041320120329
65340e/mergedgcc -mabi=32 -O -fomit-frame-pointer2012041320120329
65418e/mergedgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012041320120329
65426e/mergedgcc -funroll-loops -O -fomit-frame-pointer2012041320120329
65426e/mergedgcc -funroll-loops -mabi=32 -O -fomit-frame-pointer2012041320120329
65490e/mergedgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012041320120329
66096e/mergedgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012041320120329
66178e/mergedgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012041320120329
66192e/mergedgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012041320120329
398976e/mergedgcc2012041320120329
398978e/mergedcc2012041320120329
398986e/mergedgcc -funroll-loops2012041320120329
453626e/regsgcc -funroll-loops2012041320120329
453652e/regscc2012041320120329
453658e/regsgcc2012041320120329
504930e/refgcc -funroll-loops2012041320120329
505224e/refcc2012041320120329
505574e/refgcc2012041320120329

Compiler output

Implementation: crypto_stream/chacha20/amd64-ssse3
Compiler: cc
api.c: In file included from api.c:1:
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h:7:27: error: e/ecrypt-sync.h: No such file or directory
api.c: In file included from api.c:1:
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h: In function 'crypto_stream_chacha20_amd64_ssse3':
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h:82: error: 'ECRYPT_ctx' undeclared (first use in this function)
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h:82: error: (Each undeclared identifier is reported only once
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h:82: error: for each function it appears in.)
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h:82: error: expected ';' before 'ctx'
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h:85: error: 'ctx' undeclared (first use in this function)
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h: In function 'crypto_stream_chacha20_amd64_ssse3_xor':
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h:100: error: 'ECRYPT_ctx' undeclared (first use in this function)
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h:100: error: expected ';' before 'ctx'
api.c: /home/djb/supercop-20120329/supercop-data/gcc49/mipso32/include/estream-convert-api.h:102: error: 'ctx' undeclared (first use in this function)

Number of similar (compiler,implementation) pairs: 27, namely:
CompilerImplementations
cc amd64-ssse3
gcc amd64-ssse3
gcc -O2 -fomit-frame-pointer amd64-ssse3
gcc -O3 -fomit-frame-pointer amd64-ssse3
gcc -O -fomit-frame-pointer amd64-ssse3
gcc -Os -fomit-frame-pointer amd64-ssse3
gcc -fno-schedule-insns -O2 -fomit-frame-pointer amd64-ssse3
gcc -fno-schedule-insns -O3 -fomit-frame-pointer amd64-ssse3
gcc -fno-schedule-insns -O -fomit-frame-pointer amd64-ssse3
gcc -fno-schedule-insns -Os -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops amd64-ssse3
gcc -funroll-loops -O2 -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -O3 -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -O -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -Os -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -mabi=32 -O2 -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -mabi=32 -O3 -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -mabi=32 -O -fomit-frame-pointer amd64-ssse3
gcc -funroll-loops -mabi=32 -Os -fomit-frame-pointer amd64-ssse3
gcc -mabi=32 -O2 -fomit-frame-pointer amd64-ssse3
gcc -mabi=32 -O3 -fomit-frame-pointer amd64-ssse3
gcc -mabi=32 -O -fomit-frame-pointer amd64-ssse3
gcc -mabi=32 -Os -fomit-frame-pointer amd64-ssse3

Compiler output

Implementation: crypto_stream/chacha20/krovetz
Compiler: cc
stream.c: stream.c:80:2: error: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c: stream.c: In function 'crypto_stream_chacha20_krovetz_xor':
stream.c: stream.c:151: error: incompatible types when initializing type 'vec' using type 'int'
stream.c: stream.c:152: error: 'VBPI' undeclared (first use in this function)
stream.c: stream.c:152: error: (Each undeclared identifier is reported only once
stream.c: stream.c:152: error: for each function it appears in.)
stream.c: stream.c:152: error: 'GPR_TOO' undeclared (first use in this function)
stream.c: stream.c:155: error: 'ONE' undeclared (first use in this function)
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:177: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:177: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:177: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: ...

Number of similar (compiler,implementation) pairs: 27, namely:
CompilerImplementations
cc krovetz
gcc krovetz
gcc -O2 -fomit-frame-pointer krovetz
gcc -O3 -fomit-frame-pointer krovetz
gcc -O -fomit-frame-pointer krovetz
gcc -Os -fomit-frame-pointer krovetz
gcc -fno-schedule-insns -O2 -fomit-frame-pointer krovetz
gcc -fno-schedule-insns -O3 -fomit-frame-pointer krovetz
gcc -fno-schedule-insns -O -fomit-frame-pointer krovetz
gcc -fno-schedule-insns -Os -fomit-frame-pointer krovetz
gcc -funroll-loops krovetz
gcc -funroll-loops -O2 -fomit-frame-pointer krovetz
gcc -funroll-loops -O3 -fomit-frame-pointer krovetz
gcc -funroll-loops -O -fomit-frame-pointer krovetz
gcc -funroll-loops -Os -fomit-frame-pointer krovetz
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer krovetz
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer krovetz
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer krovetz
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer krovetz
gcc -funroll-loops -mabi=32 -O2 -fomit-frame-pointer krovetz
gcc -funroll-loops -mabi=32 -O3 -fomit-frame-pointer krovetz
gcc -funroll-loops -mabi=32 -O -fomit-frame-pointer krovetz
gcc -funroll-loops -mabi=32 -Os -fomit-frame-pointer krovetz
gcc -mabi=32 -O2 -fomit-frame-pointer krovetz
gcc -mabi=32 -O3 -fomit-frame-pointer krovetz
gcc -mabi=32 -O -fomit-frame-pointer krovetz
gcc -mabi=32 -Os -fomit-frame-pointer krovetz