Implementation notes: amd64, skylake, crypto_aead/wheeshtv1mr3fr3t256

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: wheeshtv1mr3fr3t256
TimeImplementationCompilerBenchmark dateSUPERCOP version
28812refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
28840refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
28866refgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
28886refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
28894refgcc -m64 -O3 -fomit-frame-pointer2016121720161026
28926refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
28950refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
28952refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
28982refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
29010refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
29018refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
29052refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
29076refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
29092refgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
29100refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
29106refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
29124refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
29162refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
29164refgcc -O3 -fomit-frame-pointer2016121720161026
29166refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
29218refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
29258refgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
29314refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
29328refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
29360refgcc -O2 -fomit-frame-pointer2016121720161026
29364refgcc -m64 -O2 -fomit-frame-pointer2016121720161026
29372refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
29386refgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
29428refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
29450refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
29498refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
29512refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
29550refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
29594refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
29604refgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
29610refgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
29632refgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
29636refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
29642refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
29670refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
29686refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
29688refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
29716refgcc -O -fomit-frame-pointer2016121720161026
29730refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
29738refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
29752refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
29770refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
29826refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
29840refgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
29858refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
29872refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
29884refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
29892refgcc -m64 -O -fomit-frame-pointer2016121720161026
29958refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
29958refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
29960refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
29960refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
29964refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
29978refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
30034refgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
30034refgcc -march=nocona -O -fomit-frame-pointer2016121720161026
30042refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
30056refgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
30102refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
30120refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
30136refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
30142refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
30144refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
30152refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
30158refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
30172refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
30182refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
30202refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
30202refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
30286refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
30336refgcc -march=k8 -O -fomit-frame-pointer2016121720161026
30354refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
30426refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
30450refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
30580refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
30948refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
38650refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
38716refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
38724refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
38764refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
38796refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
38886refgcc -Os -fomit-frame-pointer2016121720161026
38946refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
38954refgcc -m64 -Os -fomit-frame-pointer2016121720161026
39010refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
39014refgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
39046refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
39058refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
39124refgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
39204refgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
39444refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
39486refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
39618refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
39632refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
39652refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
39706refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
39732refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
39736refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
40006refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
41028refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
41458refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
41572refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
42330refgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
185722refgcc -funroll-loops2016121720161026
185900refgcc2016121720161026
186560refcc2016121720161026

Compiler output

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