Implementation notes: amd64, cryptothinkx, crypto_encrypt/4hfe

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_encrypt
Primitive: 4hfe

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
ecf1b1956bb9d3d475c88ddda2ca402680c50027f9c1dcae4b4a483a8909bd7d
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
c82741d61c438c571ed3953ae938502eecdc77697b96cce2609005d42063bfba
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
20f615154788c138641d82a91ea29f37dec4e6d9e0c598b80baabe605c27ebb9
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++
bf5825c376f1185d6b8ab87b11a4aff359ea8997f400d0f3b2881bbcbd5e65d5
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -O3 -fomit-frame-pointer
104a81c53890c7191d0ef28f9cbe96c10ee1b14146daf03174837382fa877b26
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -O -fomit-frame-pointer
d32133fbf39cad37ad6132525d5fc82818c4841d7e4a99c2e70b94a310818fd8
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -fno-schedule-insns -O -fomit-frame-pointer
d82de8d32cb7a8c49447a7a3e11fa1ef7dfc4c0cda91a5d338699dfb4a103351
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -fno-schedule-insns -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer
063a6274cf07b0ba11071df8a2522c0e52618e88450b16e0de61f55de3df25ad
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -O3 -fomit-frame-pointer
eaf550e7c2d828f429ad8277728aca53419ca0458f0c31a5214ec2aee2215c16
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -O -fomit-frame-pointer
77b5d62b62d81dcc15140efa9631b95bdee91f6e80ddbd51e83bffcfe33c620b
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=barcelona -O3 -fomit-frame-pointer
f2f3cca1bcee09bd4f0900a3430cf9228449618caee6b47d0bc563c26cedb0d4 41b6a9c90420bd537418a7f743d74dceee8eb351165ed1983055c388291a4f61
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=barcelona -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=barcelona -O -fomit-frame-pointer
35a7c2d81d12ab23c6d5d8603ba2cab945cb7db4929870df2414241970049dba ec2ee9af1648f54930c9a575c7bda07a0650a7eb08b6b7a3b5fd2499aca1277a
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=barcelona -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer
fc00d5e5dcf7db46b83ce7e359475ec3cfaf4a88fbdc33f8935458802c4c1fef
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core-avx2 -O3 -fomit-frame-pointer
191a378d9985987d60fbe0c8f2ebe475d15a5f127fe020b1ca2b45c24daba976
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core-avx2 -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core-avx2 -O -fomit-frame-pointer
75e54bf7505fbdf74a77fad6e91a89b39909396fc843d93f33dc8ee4cab7c52d
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core2 -O3 -fomit-frame-pointer
62857be0501fa2bccb35b43653041d7be0dee97fa27902a49dfe9a7bb14524c2
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core2 -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core2 -O -fomit-frame-pointer
3c35f8a71ea89a9071b1a3ce659f6945f1f24d9e229eb37c2f9016cc3bb974bf
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core2 -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer
a679840681db57484282d8b17c6f78686a12c6036837510b1d705c68fc9f8377
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer
c1ee27caa754596714f4b5be9093600f8fd726fc207b8bf7621a391d80eab546
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer
b62409822e38d9bfdc85a327b0162408d817719fa221e3a202c9cef0cebacc89
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer
a8976f2a5a0f1da1e54d3fa76ea6b9d816693bf1177ce3e2f56b068d40786934
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=corei7-avx -O -fomit-frame-pointer
846f70f42415b48bb24950627b3d1ab06fc87e06f8318d362c3cf4dd889b72fd
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=corei7-avx -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=corei7 -O -fomit-frame-pointer
75a7eafa4a728d42883166956dbe8e82ea5fba0e2545733f8f88891160d965d7
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=corei7 -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=k8 -O3 -fomit-frame-pointer
17515c4539cb03567c8d3ce4e6c5bccdca6934805402abfb37f8380a28f0f1fa
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=k8 -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=k8 -O -fomit-frame-pointer
99bffcd9232ac01fb5679e8fc9196807c548c98d938da9e11745b613820b51a0
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=k8 -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
a49a2ee67a07eb7a31f8ebf3239799894650c50442e2d5c33262b3f337c2f5b0
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer
5ae54e3491e6463396c07bfbb7b71c2f3b7dd4b9bb5927bbfd5f72e928cb0c95
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=nocona -O3 -fomit-frame-pointer
f7500eabbb7643dee8453c7556a7d13808f8eef3b7ce11d69f489fec0703d9f8
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=nocona -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=nocona -O -fomit-frame-pointer
5bd5501d336a1668a1c0e5e394e6cc10c121458c9162efe3e88e29333d42aa13
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=nocona -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -march=barcelona -O3 -fomit-frame-pointer
11d05b55e3dcbfb38c90daf9a4684c29e8c21e6f6aca5a8695e45c95fdfe2f75
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=barcelona -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -march=k8 -O3 -fomit-frame-pointer
df65ee4575de29634ee67e278a17894e74f8c4bf0e460ca18616bffdf17163e1
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=k8 -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
de660ac76fa304c24215b3101fdc2c20f1045e8b21ccc4da00db93a391512ec6
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
1645fa608d6a069431a8f46b126a87e28c4642d0184ac9cadbb54b993690c248
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -march=nocona -O -fomit-frame-pointer
23db93b5a9371b949e57936455b71669023370c9ede3cfaa992469729e4ca3c6
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=nocona -O -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
error 111
crypto_encrypt_open does not match m

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer -Qunused-arguments ref
g++ -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer ref
g++ -march=k8 -O -fomit-frame-pointer ref
g++ -march=nocona -O3 -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -O2 -fomit-frame-pointer
error 111
crypto_encrypt_open returns nonzero

Number of similar (compiler,implementation) pairs: 36, namely:
CompilerImplementations
g++ -O2 -fomit-frame-pointer ref
g++ -Os -fomit-frame-pointer ref
g++ -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -m64 -O2 -fomit-frame-pointer ref
g++ -m64 -Os -fomit-frame-pointer ref
g++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
g++ -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
g++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
g++ -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer ref
g++ -m64 -march=corei7 -Os -fomit-frame-pointer ref
g++ -m64 -march=k8 -O2 -fomit-frame-pointer ref
g++ -m64 -march=k8 -Os -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
g++ -m64 -march=nocona -O2 -fomit-frame-pointer ref
g++ -m64 -march=nocona -Os -fomit-frame-pointer ref
g++ -march=barcelona -O2 -fomit-frame-pointer ref
g++ -march=barcelona -O -fomit-frame-pointer ref
g++ -march=barcelona -Os -fomit-frame-pointer ref
g++ -march=k8 -O2 -fomit-frame-pointer ref
g++ -march=k8 -Os -fomit-frame-pointer ref
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
g++ -march=nocona -O2 -fomit-frame-pointer ref
g++ -march=nocona -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_encrypt_open returns nonzero
error 111
crypto_encrypt_open returns nonzero

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=barcelona -O2 -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=barcelona -Os -fomit-frame-pointer
error 111
crypto_encrypt_open does not match m
error 111
crypto_encrypt_open returns nonzero

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=barcelona -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core-avx-i -O -fomit-frame-pointer
error 111
crypto_encrypt_open is nondeterministic

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core-avx-i -O -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: ./tower.h:364:9: error: argument to '__builtin_ia32_palignr128' must be a constant integer
HFE-test.cpp: return _mm_alignr_epi8(a1, a0, i*2);
HFE-test.cpp: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
HFE-test.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/tmmintrin.h:69:12: note: expanded from macro '_mm_alignr_epi8'
HFE-test.cpp: (__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: ./tower.h:364:9: error: cannot initialize return object of type '__m128i' (vector of 2 'long long' values) with an rvalue of type 'void'
HFE-test.cpp: return _mm_alignr_epi8(a1, a0, i*2);
HFE-test.cpp: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
HFE-test.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/tmmintrin.h:68:34: note: expanded from macro '_mm_alignr_epi8'
HFE-test.cpp: #define _mm_alignr_epi8(a, b, n) __extension__ ({ ^~~~~~~~~~~~~~~~~~
HFE-test.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
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