Implementation notes: amd64, gcc16, crypto_aead/ppaev11

Computer: gcc16
Architecture: amd64
CPU ID: AuthenticAMD-00100f23-178bfbff
SUPERCOP version: 20171020
Operation: crypto_aead
Primitive: ppaev11

Test failure

Implementation: crypto_aead/ppaev11/ref
Compiler: cc
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 27, namely:
CompilerImplementations
cc ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops ref
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 -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -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 -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -O2 -fomit-frame-pointer ref

Test failure

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

Number of similar (compiler,implementation) pairs: 32, namely:
CompilerImplementations
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -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=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref

Test failure

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

Number of similar (compiler,implementation) pairs: 13, namely:
CompilerImplementations
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -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 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Test failure

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

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -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 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -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 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -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 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref

Test failure

Implementation: crypto_aead/ppaev11/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_aead_decrypt returns nonzero
error 111
crypto_aead_decrypt returns nonzero

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

Test failure

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

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

Test failure

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

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=barcelona -Os -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: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:36: warning: passing argument 4 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:39: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:40: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:50: warning: passing argument 4 of 'encppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:18: 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: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:75: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:76: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:79: warning: passing argument 4 of 'decppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:19: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'

Number of similar (compiler,implementation) pairs: 91, 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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:36: warning: passing argument 4 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:39: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:40: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:50: warning: passing argument 4 of 'encppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:18: 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: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:75: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:76: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:79: warning: passing argument 4 of 'decppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:19: 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: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:36: warning: passing argument 4 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:39: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:40: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:50: warning: passing argument 4 of 'encppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:18: 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: warning: passing argument 3 of 'gen_ivs' discards qualifiers from pointer target type
encrypt.c: encrypt.c:15: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:75: warning: passing argument 2 of 'gen_icv' discards qualifiers from pointer target type
encrypt.c: encrypt.c:16: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:76: warning: passing argument 2 of 'gtag_ad' discards qualifiers from pointer target type
encrypt.c: encrypt.c:17: note: expected 'unsigned char *' but argument is of type 'const unsigned char *'
encrypt.c: encrypt.c:79: warning: passing argument 4 of 'decppae' discards qualifiers from pointer target type
encrypt.c: encrypt.c:19: 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