Implementation notes: amd64, hydra1, crypto_aead/pi16cipher096v1

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: pi16cipher096v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
279878optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
279941optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
279942optimized_nonSSEgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102020161009
280366optimized_nonSSEgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102020161009
281287optimized_nonSSEgcc -funroll-loops -O3 -fomit-frame-pointer2016102020161009
281306optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
281386optimized_nonSSEgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102020161009
284096optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
284184optimized_nonSSEgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102020161009
285149optimized_nonSSEgcc -funroll-loops -O2 -fomit-frame-pointer2016102020161009
285434optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
285450optimized_nonSSEgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102020161009
285750optimized_nonSSEgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102020161009
285782optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
288256optimized_nonSSEgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
288373optimized_nonSSEgcc -march=k8 -O3 -fomit-frame-pointer2016102020161009
288633optimized_nonSSEgcc -march=barcelona -O3 -fomit-frame-pointer2016102020161009
288671optimized_nonSSEgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102020161009
288792optimized_nonSSEgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
289530optimized_nonSSEgcc -m64 -O3 -fomit-frame-pointer2016102020161009
289535optimized_nonSSEgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
289607optimized_nonSSEgcc -O3 -fomit-frame-pointer2016102020161009
295291optimized_nonSSEgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102020161009
299509optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
299512optimized_nonSSEgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102020161009
301875optimized_nonSSEgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
301897optimized_nonSSEgcc -march=nocona -O3 -fomit-frame-pointer2016102020161009
310925optimized_nonSSEgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102020161009
311085optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
342074optimized_nonSSEgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102020161009
342087optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
342640optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
342697optimized_nonSSEgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102020161009
343593optimized_nonSSEgcc -funroll-loops -O -fomit-frame-pointer2016102020161009
343686optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
343690optimized_nonSSEgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102020161009
344594optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
344729optimized_nonSSEgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102020161009
440802refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016102020161009
440832refgcc -funroll-loops -O3 -fomit-frame-pointer2016102020161009
440832refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
444749refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016102020161009
444850refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
446740refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016102020161009
446773refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
449165refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016102020161009
457695refgcc -O3 -fomit-frame-pointer2016102020161009
457797refgcc -m64 -O3 -fomit-frame-pointer2016102020161009
457944refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016102020161009
461095refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016102020161009
461188refgcc -march=k8 -O3 -fomit-frame-pointer2016102020161009
461424refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016102020161009
461520refgcc -march=barcelona -O3 -fomit-frame-pointer2016102020161009
461547refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016102020161009
495208refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
496038refgcc -march=nocona -O3 -fomit-frame-pointer2016102020161009
502736refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016102020161009
502741refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016102020161009
524242refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
525873refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016102020161009
526843refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016102020161009
527124refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
527220refgcc -funroll-loops -O -fomit-frame-pointer2016102020161009
527755refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016102020161009
527901refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
528642refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
529046refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016102020161009
545354refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
545424refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016102020161009
548347refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
548806refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016102020161009
549883refgcc -funroll-loops -O2 -fomit-frame-pointer2016102020161009
550024refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016102020161009
553557refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
588360optimized_nonSSEgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
588461optimized_nonSSEgcc -m64 -O2 -fomit-frame-pointer2016102020161009
588999optimized_nonSSEgcc -O2 -fomit-frame-pointer2016102020161009
590051refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016102020161009
590827refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
612362optimized_nonSSEgcc -march=k8 -O2 -fomit-frame-pointer2016102020161009
612365optimized_nonSSEgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
618573optimized_nonSSEgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102020161009
618875optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102020161009
618877optimized_nonSSEgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102020161009
621056refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102020161009
622981optimized_nonSSEgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102020161009
636400optimized_nonSSEgcc -march=barcelona -O2 -fomit-frame-pointer2016102020161009
636405optimized_nonSSEgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016102020161009
636800optimized_nonSSEgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102020161009
637341optimized_nonSSEgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
652511refgcc -O2 -fomit-frame-pointer2016102020161009
654451refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016102020161009
654805refgcc -m64 -O2 -fomit-frame-pointer2016102020161009
661848optimized_nonSSEgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
662248refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016102020161009
663053optimized_nonSSEgcc -march=nocona -O2 -fomit-frame-pointer2016102020161009
666312refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016102020161009
666869refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016102020161009
671142refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016102020161009
671240refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016102020161009
672229refgcc -march=barcelona -O2 -fomit-frame-pointer2016102020161009
673357refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016102020161009
674802refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016102020161009
679570refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016102020161009
679645refgcc -march=k8 -O2 -fomit-frame-pointer2016102020161009
680907refgcc -march=nocona -O2 -fomit-frame-pointer2016102020161009
707547optimized_nonSSEgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
707879optimized_nonSSEgcc -Os -fomit-frame-pointer2016102020161009
709072optimized_nonSSEgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
709736optimized_nonSSEgcc -march=k8 -Os -fomit-frame-pointer2016102020161009
709745optimized_nonSSEgcc -m64 -Os -fomit-frame-pointer2016102020161009
713144optimized_nonSSEgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102020161009
713419optimized_nonSSEgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102020161009
713595optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102020161009
715578optimized_nonSSEgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102020161009
716813optimized_nonSSEgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102020161009
717032optimized_nonSSEgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102020161009
717096optimized_nonSSEgcc -march=barcelona -Os -fomit-frame-pointer2016102020161009
717120optimized_nonSSEgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
728429optimized_nonSSEgcc -march=nocona -Os -fomit-frame-pointer2016102020161009
729093optimized_nonSSEgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
730753optimized_nonSSEgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102020161009
733080optimized_nonSSEgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
740541optimized_nonSSEgcc -march=nocona -O -fomit-frame-pointer2016102020161009
740544optimized_nonSSEgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
740608optimized_nonSSEgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102020161009
740614optimized_nonSSEgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102020161009
742215optimized_nonSSEgcc -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
742277optimized_nonSSEgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
742631optimized_nonSSEgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102020161009
742642optimized_nonSSEgcc -funroll-loops -Os -fomit-frame-pointer2016102020161009
742853optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
742869optimized_nonSSEgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102020161009
743504optimized_nonSSEgcc -m64 -march=core2 -O -fomit-frame-pointer2016102020161009
743596optimized_nonSSEgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102020161009
743608optimized_nonSSEgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102020161009
743992optimized_nonSSEgcc -O -fomit-frame-pointer2016102020161009
744610optimized_nonSSEgcc -m64 -O -fomit-frame-pointer2016102020161009
744619optimized_nonSSEgcc -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
749486refgcc -m64 -march=nocona -O -fomit-frame-pointer2016102020161009
752096refgcc -march=nocona -O -fomit-frame-pointer2016102020161009
753277refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016102020161009
753371refgcc -m64 -march=core2 -O -fomit-frame-pointer2016102020161009
753934refgcc -march=nocona -Os -fomit-frame-pointer2016102020161009
754509refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016102020161009
755928optimized_nonSSEgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102020161009
755944optimized_nonSSEgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
755945optimized_nonSSEgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102020161009
755955optimized_nonSSEgcc -march=k8 -O -fomit-frame-pointer2016102020161009
756046optimized_nonSSEgcc -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
756264optimized_nonSSEgcc -march=barcelona -O -fomit-frame-pointer2016102020161009
758388refgcc -m64 -march=k8 -O -fomit-frame-pointer2016102020161009
758666refgcc -fno-schedule-insns -O -fomit-frame-pointer2016102020161009
759461refgcc -m64 -O -fomit-frame-pointer2016102020161009
759621refgcc -march=k8 -O -fomit-frame-pointer2016102020161009
761149refgcc -O -fomit-frame-pointer2016102020161009
762144refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016102020161009
762512refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016102020161009
762896refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016102020161009
762907refgcc -march=barcelona -O -fomit-frame-pointer2016102020161009
762915refgcc -funroll-loops -Os -fomit-frame-pointer2016102020161009
763381refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
763619refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
763637refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016102020161009
764408refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
765149refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016102020161009
769408refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
769889refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016102020161009
770782refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016102020161009
771339refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016102020161009
776302refgcc -Os -fomit-frame-pointer2016102020161009
776320refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016102020161009
776496refgcc -march=barcelona -Os -fomit-frame-pointer2016102020161009
776509refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016102020161009
776606refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016102020161009
776728refgcc -march=k8 -Os -fomit-frame-pointer2016102020161009
776730refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016102020161009
777317refgcc -m64 -Os -fomit-frame-pointer2016102020161009
777352refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016102020161009
780158refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016102020161009
783896refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016102020161009
783917refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016102020161009
783936refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016102020161009
790208refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016102020161009
3466126optimized_nonSSEgcc2016102020161009
3476734optimized_nonSSEcc2016102020161009
3488842optimized_nonSSEgcc -funroll-loops2016102020161009
4064505refgcc2016102020161009
4066522refgcc -funroll-loops2016102020161009
4085373refcc2016102020161009

Test failure

Implementation: crypto_aead/pi16cipher096v1/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/pi16cipher096v1/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/pi16cipher096v1/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/pi16cipher096v1/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