Implementation notes: amd64, mangetsu, crypto_encrypt/4hfe

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_encrypt
Primitive: 4hfe

Checksum failure

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

Checksum failure

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

Checksum failure

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

Checksum failure

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

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -O3 -fomit-frame-pointer
467a0afe4555ef9a94bf64d4f4bf1e78edc3b93fd4f9012b710cc89f29c18315
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
e1bdf442f2c8f82ee3037553884523af45c3a2be0b67caed3ed8bb37ee12df98
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
0cf18cb07552db6394a8c0a854734a13ace6249972c570f6f109e1f8b80c4555 0cf18cb07552db6394a8c0a854734a13ace6249972c570f6f109e1f8b80c4555
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
d61e985a06dfca8bc99214574435d617d1f769914fd64221434149fa16cc4adb d61e985a06dfca8bc99214574435d617d1f769914fd64221434149fa16cc4adb
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
b511580383d6cfe12aa2a60157f23390427e085935854746e3f0c82d816de03d
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-avx-i -O -fomit-frame-pointer
822b0a956f371bc7fd31b54f352980ac289259cbb8c9063a11bbe2e4a5ee5e91
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core-avx-i -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core2 -O3 -fomit-frame-pointer
2b7740a9d591fa12aca1d8421f3886f574b52e69190d2c6227d5d0d554ad1c23
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
ec8c8814f7ea00eebe42ea1903be6a86f989471f6c50b2418132abea545f73d1
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
ffd81176e908f5d585f9821fab0509caa74fa1a19b44c79b61161e3215f70444
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.1 -O -fomit-frame-pointer
a94afad84a8b16a0619a1970119d2c59a6e0fbc4022ffabd6b12f3cbebe97115
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer
6c4dc5197fc25876b86abcba68bcb7b43fec359fdff27b57d3b51aaa2f9762af
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
abf2bfe24a979591628cbdc4e6fc13ef3629ff1cc4ccf5a63a611160deff5d44
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
621c910c0ca2760ebc6e819c3e705e25f2eb80f3c7269f73260ede308a32c5a6
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
86e78610e4329cef849ce2b4f8487c606d3e0239b7c5918d6e4fcc52aa96b7e0
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
405ba17c981be3c1b06bac341e7bd1450472f72d9c5749416815127bb347813b
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 -O -fomit-frame-pointer
a9a9fdee23b3180aafb308dbb7af57144a16f7fbb38ae9c1c2339e60520f4e2b
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
a00a8cdba7b7b3395c88bd83f3bc53ddd4569959ae22a7f99f9d6c38d19e65c2
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=nocona -O3 -fomit-frame-pointer
b5f51bb807a21d57aee42a53f08c654119c077ed651f2f1c095b59c9edfa6f33
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
aba78da64459dfc1d63fcca03bd581400363c693cbfec9a2d1a2ddb801e8ab32
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
fe5341010564510a262ad61ff2b670167d716fc930239cac443f4129b2a78ac6
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=barcelona -O -fomit-frame-pointer
7c82ee0fbf664000187339c0791bfe11059f50da22b36fe9b288d98d2bf66a6a
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=barcelona -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -march=k8 -O3 -fomit-frame-pointer
fc6fe338b7b9818119ed64a723f74929e1a5da2f96133ee58240a453a05d9975
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=nocona -O3 -fomit-frame-pointer
04901e2673e08ad2aab7c8c72a49758359f12cdaf28d3abb101393c476f3f9c9
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=nocona -O3 -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -march=nocona -O -fomit-frame-pointer
4e7de2d54c2979416296dada438a5bc3314f04a91cd5f964b49aa200294b6d7a
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: g++ -O2 -fomit-frame-pointer
error 111
crypto_encrypt_open returns nonzero

Number of similar (compiler,implementation) pairs: 25, namely:
CompilerImplementations
g++ -O2 -fomit-frame-pointer ref
g++ -Os -fomit-frame-pointer ref
g++ -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -m64 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core-avx-i -O2 -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 -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 -O3 -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 -Os -fomit-frame-pointer ref
g++ -march=k8 -O2 -fomit-frame-pointer ref
g++ -march=k8 -Os -fomit-frame-pointer ref
g++ -march=nocona -O2 -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -O3 -fomit-frame-pointer
error 111
crypto_encrypt_open does not handle c=t overlap

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -O3 -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -O -fomit-frame-pointer
error 111
crypto_encrypt_open is nondeterministic

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
g++ -O -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -march=k8 -O -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -fno-schedule-insns -O -fomit-frame-pointer
error 111
crypto_encrypt_open does not match m

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -fno-schedule-insns -Os -fomit-frame-pointer
error 142
sh: line 1: 30412 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -fno-schedule-insns -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer
error 142
sh: line 1: 31008 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -Os -fomit-frame-pointer
error 142
sh: line 1: 21349 Alarm clock killafter 3600 ./try

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -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 142
sh: line 1: 22379 Alarm clock killafter 3600 ./try
error 142
sh: line 1: 22379 Alarm clock killafter 3600 ./try

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 -Os -fomit-frame-pointer
error 142
sh: line 1: 25704 Alarm clock killafter 3600 ./try

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

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer
error 142
sh: line 1: 22837 Alarm clock killafter 3600 ./try

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

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=k8 -Os -fomit-frame-pointer
error 142
sh: line 1: 26804 Alarm clock killafter 3600 ./try

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

Test failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -march=nocona -Os -fomit-frame-pointer
error 142
sh: line 1: 29243 Alarm clock killafter 3600 ./try

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

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -march=native -fomit-frame-pointer
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/bin/../lib64/clang/3.3/include/tmmintrin.h:72:12: note: expanded from macro '_mm_alignr_epi8'
HFE-test.cpp: (__m128i)__builtin_ia32_palignr128((__v16qi)__a, (__v16qi)__b, (n)); })
HFE-test.cpp: ^ ~~~
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' with an rvalue of type 'void'
HFE-test.cpp: return _mm_alignr_epi8(a1, a0, i*2);
HFE-test.cpp: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
HFE-test.cpp: /usr/bin/../lib64/clang/3.3/include/tmmintrin.h:69:34: note: expanded from macro '_mm_alignr_epi8'
HFE-test.cpp: #define _mm_alignr_epi8(a, b, n) __extension__ ({ \
HFE-test.cpp: ^~~~~~~~~~~~~~~~~~
HFE-test.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
HFE-test.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
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/bin/../lib64/clang/3.3/include/tmmintrin.h:72:12: note: expanded from macro '_mm_alignr_epi8'
HFE-test.cpp: (__m128i)__builtin_ia32_palignr128((__v16qi)__a, (__v16qi)__b, (n)); })
HFE-test.cpp: ^ ~~~
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' with an rvalue of type 'void'
HFE-test.cpp: return _mm_alignr_epi8(a1, a0, i*2);
HFE-test.cpp: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
HFE-test.cpp: /usr/bin/../lib64/clang/3.3/include/tmmintrin.h:69:34: note: expanded from macro '_mm_alignr_epi8'
HFE-test.cpp: #define _mm_alignr_epi8(a, b, n) __extension__ ({ \
HFE-test.cpp: ^~~~~~~~~~~~~~~~~~
HFE-test.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
HFE-test.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
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/bin/../lib64/clang/3.3/include/tmmintrin.h:72:12: note: expanded from macro '_mm_alignr_epi8'
HFE-test.cpp: (__m128i)__builtin_ia32_palignr128((__v16qi)__a, (__v16qi)__b, (n)); })
HFE-test.cpp: ^ ~~~
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' with an rvalue of type 'void'
HFE-test.cpp: return _mm_alignr_epi8(a1, a0, i*2);
HFE-test.cpp: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
HFE-test.cpp: /usr/bin/../lib64/clang/3.3/include/tmmintrin.h:69:34: note: expanded from macro '_mm_alignr_epi8'
HFE-test.cpp: #define _mm_alignr_epi8(a, b, n) __extension__ ({ \
HFE-test.cpp: ^~~~~~~~~~~~~~~~~~
HFE-test.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref