Implementation notes: amd64, jos, crypto_aead/ppaev11

Computer: jos
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: ppaev11
TimeImplementationCompilerBenchmark dateSUPERCOP version
153828503refgcc2014091120140907
153867532refcc2014091120140907
153880245refgcc -funroll-loops2014091120140907

Test failure

Implementation: crypto_aead/ppaev11/ref
Compiler: gcc -O2 -fomit-frame-pointer
error 111
crypto_aead_encrypt writes after output

Number of similar (compiler,implementation) pairs: 55, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_aead/ppaev11/ref
Compiler: gcc -O -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 22, namely:
CompilerImplementations
gcc -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref

Test failure

Implementation: crypto_aead/ppaev11/ref
Compiler: gcc -funroll-loops -O2 -fomit-frame-pointer
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref

Test failure

Implementation: crypto_aead/ppaev11/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_aead_encrypt writes after output
error 111
crypto_aead_encrypt writes after output

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_aead/ppaev11/ref
Compiler: gcc -m64 -march=barcelona -O -fomit-frame-pointer
error 111
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/ppaev11/ref
Compiler: cc
encrypt.c: encrypt.c: In function 'crypto_aead_ppaev11_ref_encrypt':
encrypt.c: encrypt.c:36:4: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:36:4: warning: passing argument 4 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:39:4: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:40:4: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:50:7: warning: passing argument 4 of 'encppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:18:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c: In function 'crypto_aead_ppaev11_ref_decrypt':
encrypt.c: encrypt.c:72:7: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:75:4: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:76:4: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:79:7: warning: passing argument 4 of 'decppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:19:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/ppaev11/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'crypto_aead_ppaev11_ref_encrypt':
encrypt.c: encrypt.c:36:4: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:36:4: warning: passing argument 4 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:39:4: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:40:4: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:50:7: warning: passing argument 4 of 'encppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:18:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c: In function 'crypto_aead_ppaev11_ref_decrypt':
encrypt.c: encrypt.c:72:7: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:75:4: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:76:4: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:79:7: warning: passing argument 4 of 'decppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:19:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c: In function 'crypto_aead_ppaev11_ref_encrypt':
encrypt.c: encrypt.c:36:4: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:36:4: warning: passing argument 4 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:39:4: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:40:4: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:50:7: warning: passing argument 4 of 'encppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:18:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c: In function 'crypto_aead_ppaev11_ref_decrypt':
encrypt.c: encrypt.c:72:7: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:75:4: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:76:4: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:79:7: warning: passing argument 4 of 'decppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:19:13: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref