Implementation notes: amd64, hydra1, crypto_aead/pi16cipher128v1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: pi16cipher128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
280283optimized_nonSSEgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102020161009
280488optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
280802optimized_nonSSEgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102020161009
281040optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
281138optimized_nonSSEgcc -funroll-loops -O3 -fomit-frame-pointer2016102020161009
281449optimized_nonSSEgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102020161009
281686optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
283979optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
283983optimized_nonSSEgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102020161009
285749optimized_nonSSEgcc -funroll-loops -O2 -fomit-frame-pointer2016102020161009
285959optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
286046optimized_nonSSEgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102020161009
286301optimized_nonSSEgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102020161009
286589optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
288194optimized_nonSSEgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
288452optimized_nonSSEgcc -march=k8 -O3 -fomit-frame-pointer2016102020161009
288960optimized_nonSSEgcc -march=barcelona -O3 -fomit-frame-pointer2016102020161009
288962optimized_nonSSEgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
289008optimized_nonSSEgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102020161009
289742optimized_nonSSEgcc -O3 -fomit-frame-pointer2016102020161009
289839optimized_nonSSEgcc -m64 -O3 -fomit-frame-pointer2016102020161009
289909optimized_nonSSEgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
294928optimized_nonSSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102020161009
299016optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
299139optimized_nonSSEgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102020161009
301041optimized_nonSSEgcc -march=nocona -O3 -fomit-frame-pointer2016102020161009
301163optimized_nonSSEgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
311638optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
311853optimized_nonSSEgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102020161009
342989optimized_nonSSEgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102020161009
343005optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
343246optimized_nonSSEgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102020161009
343442optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
343455optimized_nonSSEgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102020161009
343564optimized_nonSSEgcc -funroll-loops -O -fomit-frame-pointer2016102020161009
343569optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
344250optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
344413optimized_nonSSEgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102020161009
440213refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
440213refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102020161009
440224refgcc -funroll-loops -O3 -fomit-frame-pointer2016102020161009
444573refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102020161009
444661refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
447565refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102020161009
447696refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
449264refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102020161009
457768refgcc -O3 -fomit-frame-pointer2016102020161009
458087refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
458253refgcc -m64 -O3 -fomit-frame-pointer2016102020161009
460791refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
460791refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102020161009
460796refgcc -march=barcelona -O3 -fomit-frame-pointer2016102020161009
460810refgcc -march=k8 -O3 -fomit-frame-pointer2016102020161009
461016refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
493968refgcc -march=nocona -O3 -fomit-frame-pointer2016102020161009
494675refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
504355refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
504981refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102020161009
523229refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
523485refgcc -funroll-loops -O -fomit-frame-pointer2016102020161009
523938refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
524042refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102020161009
524604refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
524661refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102020161009
524794refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
525109refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102020161009
525696refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102020161009
546278refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102020161009
547248refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
548210refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
548360refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102020161009
548462refgcc -funroll-loops -O2 -fomit-frame-pointer2016102020161009
551520refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
551715refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102020161009
588680optimized_nonSSEgcc -O2 -fomit-frame-pointer2016102020161009
590962optimized_nonSSEgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
590963optimized_nonSSEgcc -m64 -O2 -fomit-frame-pointer2016102020161009
593448refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
593643refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102020161009
612310optimized_nonSSEgcc -march=k8 -O2 -fomit-frame-pointer2016102020161009
612406optimized_nonSSEgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
618454optimized_nonSSEgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102020161009
618478optimized_nonSSEgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102020161009
618584optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102020161009
621083refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102020161009
622893optimized_nonSSEgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102020161009
636406optimized_nonSSEgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
636512optimized_nonSSEgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102020161009
636518optimized_nonSSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102020161009
636720optimized_nonSSEgcc -march=barcelona -O2 -fomit-frame-pointer2016102020161009
652735refgcc -O2 -fomit-frame-pointer2016102020161009
652838refgcc -m64 -O2 -fomit-frame-pointer2016102020161009
655210refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
661818optimized_nonSSEgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
661989optimized_nonSSEgcc -march=nocona -O2 -fomit-frame-pointer2016102020161009
662680refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102020161009
666205refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102020161009
666213refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102020161009
666741refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102020161009
672357refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102020161009
673488refgcc -march=barcelona -O2 -fomit-frame-pointer2016102020161009
675187refgcc -march=nocona -O2 -fomit-frame-pointer2016102020161009
676315refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
677453refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
677528refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
683810refgcc -march=k8 -O2 -fomit-frame-pointer2016102020161009
704209optimized_nonSSEgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102020161009
704315optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102020161009
705517optimized_nonSSEgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102020161009
706843optimized_nonSSEgcc -march=barcelona -Os -fomit-frame-pointer2016102020161009
708684optimized_nonSSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102020161009
712912optimized_nonSSEgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
712947optimized_nonSSEgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
712960optimized_nonSSEgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102020161009
713154optimized_nonSSEgcc -march=k8 -Os -fomit-frame-pointer2016102020161009
713287optimized_nonSSEgcc -Os -fomit-frame-pointer2016102020161009
717616optimized_nonSSEgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102020161009
719688optimized_nonSSEgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
720227optimized_nonSSEgcc -m64 -Os -fomit-frame-pointer2016102020161009
723690optimized_nonSSEgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
723696optimized_nonSSEgcc -march=nocona -Os -fomit-frame-pointer2016102020161009
728003optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
730659optimized_nonSSEgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102020161009
738234optimized_nonSSEgcc -O -fomit-frame-pointer2016102020161009
738342optimized_nonSSEgcc -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
738499optimized_nonSSEgcc -m64 -O -fomit-frame-pointer2016102020161009
740528optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
740613optimized_nonSSEgcc -march=nocona -O -fomit-frame-pointer2016102020161009
742183optimized_nonSSEgcc -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
742751optimized_nonSSEgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102020161009
742942optimized_nonSSEgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102020161009
743485optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102020161009
743486optimized_nonSSEgcc -m64 -march=core2 -O -fomit-frame-pointer2016102020161009
743528optimized_nonSSEgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102020161009
743721optimized_nonSSEgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102020161009
749211optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
749231optimized_nonSSEgcc -funroll-loops -Os -fomit-frame-pointer2016102020161009
749288optimized_nonSSEgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102020161009
749354optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
749923refgcc -march=nocona -O -fomit-frame-pointer2016102020161009
752173refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
755971optimized_nonSSEgcc -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
755982optimized_nonSSEgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
755982optimized_nonSSEgcc -march=barcelona -O -fomit-frame-pointer2016102020161009
755984optimized_nonSSEgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102020161009
755989optimized_nonSSEgcc -march=k8 -O -fomit-frame-pointer2016102020161009
756051refgcc -march=k8 -O -fomit-frame-pointer2016102020161009
757183refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102020161009
757552refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102020161009
757989refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
758094optimized_nonSSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102020161009
758987refgcc -m64 -march=core2 -O -fomit-frame-pointer2016102020161009
759586refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
759605refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102020161009
760791refgcc -O -fomit-frame-pointer2016102020161009
761597refgcc -march=nocona -Os -fomit-frame-pointer2016102020161009
762156refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
762267refgcc -march=barcelona -O -fomit-frame-pointer2016102020161009
762368refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102020161009
762403refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
762677refgcc -m64 -O -fomit-frame-pointer2016102020161009
764187refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102020161009
765431refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
766558refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102020161009
769565refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102020161009
770960refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
771242refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102020161009
771333refgcc -funroll-loops -Os -fomit-frame-pointer2016102020161009
773027refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102020161009
773547refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
774621refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
774679refgcc -m64 -Os -fomit-frame-pointer2016102020161009
774781refgcc -march=k8 -Os -fomit-frame-pointer2016102020161009
774816refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
774832refgcc -Os -fomit-frame-pointer2016102020161009
777848refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102020161009
777866refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
777912refgcc -march=barcelona -Os -fomit-frame-pointer2016102020161009
777965refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102020161009
778686refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
783352refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102020161009
783624refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102020161009
785230refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102020161009
798098refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102020161009
3480035optimized_nonSSEgcc -funroll-loops2016102020161009
3485145optimized_nonSSEgcc2016102020161009
3491371optimized_nonSSEcc2016102020161009
4000461refgcc -funroll-loops2016102020161009
4014360refcc2016102020161009
4048871refgcc2016102020161009

Test failure

Implementation: crypto_aead/pi16cipher128v1/optimized_nonSSE
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments optimized_nonSSE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE ref

Test failure

Implementation: crypto_aead/pi16cipher128v1/optimized_nonSSE
Compiler: gcc -m64 -march=core2 -O3 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: crypto_aead/pi16cipher128v1/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:248:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:374: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:536: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: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_aead/pi16cipher128v1/optimized_nonSSE
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:362:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:488: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:650: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: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments optimized_nonSSE
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments optimized_nonSSE