Implementation notes: amd64, waldorf, crypto_aead/pi64cipher256v1

Computer: waldorf
Architecture: amd64
CPU ID: GenuineIntel-000106e5-bfebfbff
SUPERCOP version: 20160715
Operation: crypto_aead
Primitive: pi64cipher256v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
156492optimized_SSEclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
157508optimized_SSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
161336optimized_SSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
161612optimized_SSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
161848optimized_SSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
194128optimized_nonSSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
236248optimized_nonSSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
238188optimized_nonSSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
249996optimized_nonSSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
335900refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
353880refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
371088refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
372496refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715

Test failure

Implementation: crypto_aead/pi64cipher256v1/optimized_AVX
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
error 111

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_AVX optimized_AVX2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv optimized_AVX optimized_AVX2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv optimized_AVX optimized_AVX2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv optimized_AVX optimized_AVX2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv optimized_AVX optimized_AVX2

Test failure

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi64cipher256v1/ref
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:231:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:333:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:478:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:346:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:448:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:593:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE