Implementation notes: amd64, skylake, crypto_aead/wheeshtv1mr3fr1t256

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: wheeshtv1mr3fr1t256
TimeImplementationCompilerBenchmark dateSUPERCOP version
21312refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
21314refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
21384refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
21394refgcc -m64 -O3 -fomit-frame-pointer2016121720161026
21396refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
21410refgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
21410refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
21412refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
21412refgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
21432refgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
21440refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
21468refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
21538refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
21550refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
21566refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
21596refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
21598refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
21616refgcc -O3 -fomit-frame-pointer2016121720161026
21632refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
21662refgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
21668refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
21712refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
21854refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
21888refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
21906refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
21920refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
22124refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
23062refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
23088refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
23120refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
23148refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
23160refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
23168refgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
23184refgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
23192refgcc -O2 -fomit-frame-pointer2016121720161026
23198refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
23202refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
23204refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
23206refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
23220refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
23234refgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
23274refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
23284refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
23300refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
23306refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
23314refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
23348refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
23368refgcc -O -fomit-frame-pointer2016121720161026
23378refgcc -march=nocona -O -fomit-frame-pointer2016121720161026
23386refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
23388refgcc -m64 -O -fomit-frame-pointer2016121720161026
23388refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
23400refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
23406refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
23410refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
23422refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
23472refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
23486refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
23492refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
23498refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
23568refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
23638refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
23650refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
23680refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
23698refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
23716refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
23742refgcc -m64 -O2 -fomit-frame-pointer2016121720161026
23768refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
23780refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
23784refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
23824refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
23828refgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
23832refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
23842refgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
23908refgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
23924refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
23926refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
23936refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
23940refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
23970refgcc -march=k8 -O -fomit-frame-pointer2016121720161026
24010refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
32604refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
32622refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
32650refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
32794refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
32800refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
32810refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
32912refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
32928refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
32944refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
32950refgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
33026refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
33054refgcc -Os -fomit-frame-pointer2016121720161026
33074refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
33150refgcc -m64 -Os -fomit-frame-pointer2016121720161026
33196refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
33266refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
33274refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
33292refgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
33348refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
33360refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
33426refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
33548refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
33654refgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
34082refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
34248refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
34426refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
35252refgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
138814refgcc -funroll-loops2016121720161026
139022refcc2016121720161026
140774refgcc2016121720161026

Compiler output

Implementation: crypto_aead/wheeshtv1mr3fr1t256/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:311: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:311: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:311: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:311: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:311: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:311: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:351: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:351: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