Implementation notes: amd64, skylake, crypto_aead/wheeshtv1mr5fr7t256

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: wheeshtv1mr5fr7t256
TimeImplementationCompilerBenchmark dateSUPERCOP version
58486refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
58494refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
58678refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
58682refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
58782refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
58854refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
58926refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
59076refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
59136refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
59144refgcc -m64 -O3 -fomit-frame-pointer2016121720161026
59266refgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
59272refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
59348refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
59378refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
59390refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
59492refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
59568refgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
59574refgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
59658refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
59672refgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
59686refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
59750refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
59756refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
59834refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
59838refgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
59844refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
59846refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
59956refgcc -m64 -O2 -fomit-frame-pointer2016121720161026
59958refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
60050refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
60120refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
60174refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
60204refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
60270refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
60278refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
60314refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
60394refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
60468refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
60512refgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
60658refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
60850refgcc -O2 -fomit-frame-pointer2016121720161026
60850refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
61090refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
61206refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
61296refgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
61302refgcc -O3 -fomit-frame-pointer2016121720161026
61326refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
61358refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
61478refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
61536refgcc -march=nocona -O -fomit-frame-pointer2016121720161026
61604refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
61624refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
61636refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
61748refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
61784refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
61846refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
61856refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
61876refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
61928refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
61952refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
61962refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
62036refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
62082refgcc -m64 -O -fomit-frame-pointer2016121720161026
62096refgcc -O -fomit-frame-pointer2016121720161026
62124refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
62134refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
62140refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
62270refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
62276refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
62296refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
62296refgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
62338refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
62356refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
62426refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
62430refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
62432refgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
62548refgcc -march=k8 -O -fomit-frame-pointer2016121720161026
62818refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
62996refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
63080refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
63196refgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
67248refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
67264refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
67268refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
67270refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
67298refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
67392refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
67404refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
67428refgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
67468refgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
67472refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
67518refgcc -Os -fomit-frame-pointer2016121720161026
67538refgcc -m64 -Os -fomit-frame-pointer2016121720161026
67788refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
67826refgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
67932refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
67970refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
68080refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
68182refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
68270refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
69052refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
70638refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
70698refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
70784refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
74620refgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
74732refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
75242refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
75300refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
378530refcc2016121720161026
381354refgcc2016121720161026
383626refgcc -funroll-loops2016121720161026

Compiler output

Implementation: crypto_aead/wheeshtv1mr5fr7t256/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:310:50: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
encrypt.c: aead_params.mode_bits = CRYPT_CIPHERTEXTBLOCK || CRYPT_HASNSEC || CRYPT_HASNPUB || CRYPT_LASTBLOCK;
encrypt.c: ^ ~~~~~~~~~~~~~
encrypt.c: encrypt.c:310:50: note: use '|' for a bitwise operation
encrypt.c: aead_params.mode_bits = CRYPT_CIPHERTEXTBLOCK || CRYPT_HASNSEC || CRYPT_HASNPUB || CRYPT_LASTBLOCK;
encrypt.c: ^~
encrypt.c: |
encrypt.c: encrypt.c:310:68: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
encrypt.c: aead_params.mode_bits = CRYPT_CIPHERTEXTBLOCK || CRYPT_HASNSEC || CRYPT_HASNPUB || CRYPT_LASTBLOCK;
encrypt.c: ^ ~~~~~~~~~~~~~
encrypt.c: encrypt.c:310:68: note: use '|' for a bitwise operation
encrypt.c: aead_params.mode_bits = CRYPT_CIPHERTEXTBLOCK || CRYPT_HASNSEC || CRYPT_HASNPUB || CRYPT_LASTBLOCK;
encrypt.c: ^~
encrypt.c: |
encrypt.c: encrypt.c:310:85: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
encrypt.c: aead_params.mode_bits = CRYPT_CIPHERTEXTBLOCK || CRYPT_HASNSEC || CRYPT_HASNPUB || CRYPT_LASTBLOCK;
encrypt.c: ^ ~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:310:85: note: use '|' for a bitwise operation
encrypt.c: aead_params.mode_bits = CRYPT_CIPHERTEXTBLOCK || CRYPT_HASNSEC || CRYPT_HASNPUB || CRYPT_LASTBLOCK;
encrypt.c: ^~
encrypt.c: |
encrypt.c: encrypt.c:350:50: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
encrypt.c: aead_params.mode_bits = CRYPT_CIPHERTEXTBLOCK || CRYPT_HASNSEC || CRYPT_HASNPUB;
encrypt.c: ^ ~~~~~~~~~~~~~
encrypt.c: encrypt.c:350:50: note: use '|' for a bitwise operation
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -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