Implementation notes: amd64, skylake, crypto_aead/wheeshtv1mr3fr1t128

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: wheeshtv1mr3fr1t128
TimeImplementationCompilerBenchmark dateSUPERCOP version
21268refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
21356refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
21382refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
21392refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
21392refgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
21398refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
21398refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
21410refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
21418refgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
21438refgcc -O3 -fomit-frame-pointer2016121720161026
21438refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
21488refgcc -m64 -O3 -fomit-frame-pointer2016121720161026
21492refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
21496refgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
21496refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
21510refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
21526refgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
21596refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
21608refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
21636refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
21714refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
21810refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
21872refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
21878refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
21944refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
22020refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
22454refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
23062refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
23080refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
23100refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
23102refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
23120refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
23142refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
23146refgcc -m64 -O2 -fomit-frame-pointer2016121720161026
23156refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
23174refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
23212refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
23216refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
23220refgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
23226refgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
23236refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
23240refgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
23244refgcc -O2 -fomit-frame-pointer2016121720161026
23270refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
23304refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
23314refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
23344refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
23354refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
23370refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
23386refgcc -O -fomit-frame-pointer2016121720161026
23390refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
23394refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
23400refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
23414refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
23418refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
23418refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
23424refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
23450refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
23466refgcc -m64 -O -fomit-frame-pointer2016121720161026
23542refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
23564refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
23622refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
23640refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
23650refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
23656refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
23678refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
23688refgcc -march=k8 -O -fomit-frame-pointer2016121720161026
23704refgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
23720refgcc -march=nocona -O -fomit-frame-pointer2016121720161026
23724refgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
23732refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
23758refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
23790refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
23792refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
23792refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
23824refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
23942refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
24092refgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
24124refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
24284refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
24502refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
32604refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
32612refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
32762refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
32794refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
32810refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
32832refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
32852refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
32896refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
32920refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
32942refgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
32956refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
33138refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
33140refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
33140refgcc -m64 -Os -fomit-frame-pointer2016121720161026
33186refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
33244refgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
33260refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
33306refgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
33306refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
33312refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
33394refgcc -Os -fomit-frame-pointer2016121720161026
33708refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
34032refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
34048refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
34392refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
34396refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
34822refgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
138866refgcc -funroll-loops2016121720161026
139056refcc2016121720161026
141496refgcc2016121720161026

Compiler output

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