Implementation notes: armeabi, sheeva, crypto_encrypt/mceliece

Computer: sheeva
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20120908
Operation: crypto_encrypt
Primitive: mceliece
TimeImplementationCompilerBenchmark dateSUPERCOP version
3500688refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012080220120709
3551190refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012080220120709
3591408refgcc -mcpu=arm9e -O3 -fomit-frame-pointer2012080220120709
3595692refgcc -mcpu=xscale -O3 -fomit-frame-pointer2012080220120709
3604398refgcc -mcpu=arm810 -O3 -fomit-frame-pointer2012080220120709
3606240refgcc -mcpu=arm940t -O3 -fomit-frame-pointer2012080220120709
3610212refgcc -mcpu=arm9 -O3 -fomit-frame-pointer2012080220120709
3613098refgcc -mcpu=ep9312 -O3 -fomit-frame-pointer2012080220120709
3613296refgcc -mcpu=arm1020t -O3 -fomit-frame-pointer2012080220120709
3616146refgcc -mcpu=arm8 -O3 -fomit-frame-pointer2012080220120709
3617862refgcc -mcpu=arm10tdmi -O3 -fomit-frame-pointer2012080220120709
3624126refgcc -mcpu=arm920t -O3 -fomit-frame-pointer2012080220120709
3624336refgcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2012080220120709
3624474refgcc -mcpu=arm9tdmi -O3 -fomit-frame-pointer2012080220120709
3627210refgcc -mcpu=arm920 -O3 -fomit-frame-pointer2012080220120709
3627414refgcc -mcpu=strongarm -O3 -fomit-frame-pointer2012080220120709
3631794refgcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2012080220120709
3631836refgcc -funroll-loops -O3 -fomit-frame-pointer2012080220120709
3690726refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012080220120709
3694110refgcc -mcpu=arm7tdmi -O3 -fomit-frame-pointer2012080220120709
3695622refgcc -O3 -fomit-frame-pointer2012080220120709
3784344refgcc -mcpu=iwmmxt -O2 -fomit-frame-pointer2012080220120709
3791586refgcc -mcpu=arm9e -O2 -fomit-frame-pointer2012080220120709
3792354refgcc -mcpu=arm1020t -O2 -fomit-frame-pointer2012080220120709
3792846refgcc -mcpu=arm810 -O2 -fomit-frame-pointer2012080220120709
3798030refgcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2012080220120709
3799584refgcc -mcpu=arm940t -O2 -fomit-frame-pointer2012080220120709
3801066refgcc -mcpu=arm920 -O2 -fomit-frame-pointer2012080220120709
3801318refgcc -mcpu=arm920t -O2 -fomit-frame-pointer2012080220120709
3803010refgcc -mcpu=xscale -O2 -fomit-frame-pointer2012080220120709
3803688refgcc -mcpu=arm8 -O2 -fomit-frame-pointer2012080220120709
3803730refgcc -mcpu=arm10tdmi -O2 -fomit-frame-pointer2012080220120709
3807354refgcc -mcpu=iwmmxt -Os -fomit-frame-pointer2012080220120709
3807594refgcc -mcpu=arm9 -O2 -fomit-frame-pointer2012080220120709
3811470refgcc -mcpu=xscale -Os -fomit-frame-pointer2012080220120709
3815628refgcc -mcpu=arm9tdmi -O2 -fomit-frame-pointer2012080220120709
3817818refgcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2012080220120709
3818430refgcc -mcpu=ep9312 -O2 -fomit-frame-pointer2012080220120709
3823368refgcc -funroll-loops -march=iwmmxt -Os -fomit-frame-pointer2012080220120709
3828222refgcc -mcpu=arm7tdmi -O2 -fomit-frame-pointer2012080220120709
3828930refgcc -mcpu=strongarm -O2 -fomit-frame-pointer2012080220120709
3837126refgcc -mcpu=arm920t -Os -fomit-frame-pointer2012080220120709
3839580refgcc -mcpu=ep9312 -Os -fomit-frame-pointer2012080220120709
3842058refgcc -O2 -fomit-frame-pointer2012080220120709
3842952refgcc -mcpu=arm9tdmi -Os -fomit-frame-pointer2012080220120709
3846564refgcc -mcpu=arm9 -Os -fomit-frame-pointer2012080220120709
3848142refgcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2012080220120709
3849978refgcc -mcpu=arm920 -Os -fomit-frame-pointer2012080220120709
3850278refgcc -mcpu=strongarm -Os -fomit-frame-pointer2012080220120709
3850530refgcc -mcpu=arm1020t -Os -fomit-frame-pointer2012080220120709
3851832refgcc -mcpu=arm810 -Os -fomit-frame-pointer2012080220120709
3855354refgcc -mcpu=arm10tdmi -Os -fomit-frame-pointer2012080220120709
3857076refgcc -funroll-loops -march=iwmmxt -O2 -fomit-frame-pointer2012080220120709
3857232refgcc -mcpu=arm940t -Os -fomit-frame-pointer2012080220120709
3858096refgcc -funroll-loops -fno-schedule-insns -march=iwmmxt -Os -fomit-frame-pointer2012080220120709
3859242refgcc -funroll-loops -fno-schedule-insns -march=iwmmxt -O2 -fomit-frame-pointer2012080220120709
3859512refgcc -mcpu=strongarm110 -Os -fomit-frame-pointer2012080220120709
3869082refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012080220120709
3869856refgcc -mcpu=arm9e -Os -fomit-frame-pointer2012080220120709
3882348refgcc -mcpu=arm7tdmi -Os -fomit-frame-pointer2012080220120709
3882534refgcc -funroll-loops -Os -fomit-frame-pointer2012080220120709
3885156refgcc -mcpu=arm8 -Os -fomit-frame-pointer2012080220120709
3888114refgcc -Os -fomit-frame-pointer2012080220120709
3894498refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012080220120709
3899598refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012080220120709
3900294refgcc -funroll-loops -O2 -fomit-frame-pointer2012080220120709
4108686refgcc -mcpu=arm810 -O -fomit-frame-pointer2012080220120709
4108734refgcc -mcpu=arm9 -O -fomit-frame-pointer2012080220120709
4108752refgcc -mcpu=arm9tdmi -O -fomit-frame-pointer2012080220120709
4108902refgcc -mcpu=iwmmxt -O -fomit-frame-pointer2012080220120709
4111134refgcc -mcpu=xscale -O -fomit-frame-pointer2012080220120709
4111812refgcc -mcpu=arm9e -O -fomit-frame-pointer2012080220120709
4115316refgcc -mcpu=strongarm110 -O -fomit-frame-pointer2012080220120709
4115958refgcc -mcpu=arm1020t -O -fomit-frame-pointer2012080220120709
4116858refgcc -mcpu=arm7tdmi -O -fomit-frame-pointer2012080220120709
4118976refgcc -mcpu=arm920 -O -fomit-frame-pointer2012080220120709
4119276refgcc -mcpu=strongarm -O -fomit-frame-pointer2012080220120709
4119888refgcc -mcpu=ep9312 -O -fomit-frame-pointer2012080220120709
4121778refgcc -mcpu=arm8 -O -fomit-frame-pointer2012080220120709
4122150refgcc -fno-schedule-insns -O -fomit-frame-pointer2012080220120709
4124424refgcc -mcpu=arm10tdmi -O -fomit-frame-pointer2012080220120709
4125846refgcc -mcpu=arm940t -O -fomit-frame-pointer2012080220120709
4131960refgcc -O -fomit-frame-pointer2012080220120709
4143426refgcc -mcpu=arm920t -O -fomit-frame-pointer2012080220120709
4144122refgcc -mcpu=strongarm1100 -O -fomit-frame-pointer2012080220120709
4364712refgcc -funroll-loops -O -fomit-frame-pointer2012080220120709
4375866refgcc -funroll-loops -fno-schedule-insns -march=iwmmxt -O -fomit-frame-pointer2012080220120709
4376208refgcc -funroll-loops -march=iwmmxt -O -fomit-frame-pointer2012080220120709
4401654refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012080220120709
13622826refcc2012080220120709
13671012refgcc -funroll-loops2012080220120709
13769226refgcc2012080220120709

Test failure

Implementation: crypto_encrypt/mceliece/ref
Compiler: gcc -mcpu=arm1136j-s -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -mcpu=arm1136j-s -O2 -fomit-frame-pointer ref
gcc -mcpu=arm1136j-s -O2 -fomit-frame-pointer -fno-schedule-insns ref
gcc -mcpu=arm1136j-s -O3 -fomit-frame-pointer ref
gcc -mcpu=arm1136j-s -O3 -fomit-frame-pointer -fno-schedule-insns ref
gcc -mcpu=arm1136j-s -O -fomit-frame-pointer ref
gcc -mcpu=arm1136j-s -O -fomit-frame-pointer -fno-schedule-insns ref
gcc -mcpu=arm1136j-s -Os -fomit-frame-pointer ref
gcc -mcpu=arm1136j-s -Os -fomit-frame-pointer -fno-schedule-insns ref
gcc -mcpu=arm1136jf-s -O2 -fomit-frame-pointer ref
gcc -mcpu=arm1136jf-s -O2 -fomit-frame-pointer -fno-schedule-insns ref
gcc -mcpu=arm1136jf-s -O3 -fomit-frame-pointer ref
gcc -mcpu=arm1136jf-s -O3 -fomit-frame-pointer -fno-schedule-insns ref
gcc -mcpu=arm1136jf-s -O -fomit-frame-pointer ref
gcc -mcpu=arm1136jf-s -O -fomit-frame-pointer -fno-schedule-insns ref
gcc -mcpu=arm1136jf-s -Os -fomit-frame-pointer ref
gcc -mcpu=arm1136jf-s -Os -fomit-frame-pointer -fno-schedule-insns ref
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer ref
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer ref
gcc -mcpu=cortex-r4 -Os -fomit-frame-pointer ref
gcc -mcpu=cortex-r4f -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/mceliece/ref
Compiler: clang -O3
misc.c: misc.c:6:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
misc.c: __inline int u8rnd() { char c; randombytes(&c,1); return 255 & (int) c; }
misc.c: ^~
misc.c: /home/krovetz/supercop-20120709/supercop-data/sheeva/armeabi/include/randombytes.h:4:40: note: passing argument to parameter here
misc.c: extern void randombytes(unsigned char *,unsigned long long);
misc.c: ^
misc.c: 1 warning generated.
try.c: crypto_encrypt_mceliece.a(keypair.o): In function `gop_supr':
try.c: keypair.c:(.text+0x...): undefined reference to `u8rnd'
try.c: keypair.c:(.text+0x...): undefined reference to `u8rnd'
try.c: keypair.c:(.text+0x...): undefined reference to `u8rnd'
try.c: keypair.c:(.text+0x...): undefined reference to `u8rnd'
try.c: crypto_encrypt_mceliece.a(keypair.o): In function `crypto_encrypt_mceliece_ref_keypair':
try.c: keypair.c:(.text+0x...): undefined reference to `u8rnd'
try.c: crypto_encrypt_mceliece.a(keypair.o):keypair.c:(.text+0x...): more undefined references to `u8rnd' follow
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 ref

Compiler output

Implementation: crypto_encrypt/mceliece/ref
Compiler: clang -O3 -mavx
decrypt.c: clang: warning: argument unused during compilation: '-mavx'
encrypt.c: clang: warning: argument unused during compilation: '-mavx'
gf.c: clang: warning: argument unused during compilation: '-mavx'
keypair.c: clang: warning: argument unused during compilation: '-mavx'
mat.c: clang: warning: argument unused during compilation: '-mavx'
misc.c: clang: warning: argument unused during compilation: '-mavx'
misc.c: misc.c:6:44: warning: passing 'char *' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
misc.c: __inline int u8rnd() { char c; randombytes(&c,1); return 255 & (int) c; }
misc.c: ^~
misc.c: /home/krovetz/supercop-20120709/supercop-data/sheeva/armeabi/include/randombytes.h:4:40: note: passing argument to parameter here
misc.c: extern void randombytes(unsigned char *,unsigned long long);
misc.c: ^
misc.c: 1 warning generated.
poly.c: clang: warning: argument unused during compilation: '-mavx'
useshort.c: clang: warning: argument unused during compilation: '-mavx'
try.c: crypto_encrypt_mceliece.a(keypair.o): In function `gop_supr':
try.c: keypair.c:(.text+0x...): undefined reference to `u8rnd'
try.c: keypair.c:(.text+0x...): undefined reference to `u8rnd'
try.c: keypair.c:(.text+0x...): undefined reference to `u8rnd'
try.c: keypair.c:(.text+0x...): undefined reference to `u8rnd'
try.c: crypto_encrypt_mceliece.a(keypair.o): In function `crypto_encrypt_mceliece_ref_keypair':
try.c: keypair.c:(.text+0x...): undefined reference to `u8rnd'
try.c: crypto_encrypt_mceliece.a(keypair.o):keypair.c:(.text+0x...): more undefined references to `u8rnd' follow
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -mavx ref