Implementation notes: amd64, glyme, crypto_encrypt/4hfe

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_encrypt
Primitive: 4hfe

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: CC
9c1ba24f1dbca0c6e6f4942971278c8c806320402129642fdab9b6981ef6e2b2
Number of similar (compiler,implementation) pairs: 21, namely:
CompilerImplementations
CC ref
clang++ -O3 -fomit-frame-pointer -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
g++ ref
g++ -O -fomit-frame-pointer ref
g++ -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -m64 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O -fomit-frame-pointer ref
g++ -m64 -march=k8 -O -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
g++ -m64 -march=nocona -O -fomit-frame-pointer ref
g++ -march=barcelona -O -fomit-frame-pointer ref
g++ -march=k8 -O -fomit-frame-pointer ref
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
g++ -march=nocona -O -fomit-frame-pointer ref

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -O2 -fomit-frame-pointer
51baea5160a59f03b1dc41478e113498911f8c87e1361794d4ab90d4566f5511
Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
g++ -O2 -fomit-frame-pointer ref
g++ -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -m64 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer ref
g++ -m64 -march=k8 -O2 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
g++ -march=barcelona -O2 -fomit-frame-pointer ref
g++ -march=k8 -O2 -fomit-frame-pointer ref
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref

Checksum failure

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

Checksum failure

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

Checksum failure

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

Checksum failure

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -m64 -march=barcelona -O3 -fomit-frame-pointer
ee30dcf7e4ce24ce314dd0630ed8596180044900752563b665f7f6f71f5dc137 ee30dcf7e4ce24ce314dd0630ed8596180044900752563b665f7f6f71f5dc137
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
9c1ba24f1dbca0c6e6f4942971278c8c806320402129642fdab9b6981ef6e2b2 9c1ba24f1dbca0c6e6f4942971278c8c806320402129642fdab9b6981ef6e2b2
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=core2 -O3 -fomit-frame-pointer
d9eb80d83e447862c8a5e82d80b7470303ee584e2668e10c0d1c76f22c24d1e0
Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
g++ -m64 -march=core2 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref

Checksum failure

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

Checksum failure

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

Checksum failure

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

Test failure

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

Number of similar (compiler,implementation) pairs: 15, namely:
CompilerImplementations
g++ -Os -fomit-frame-pointer ref
g++ -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -m64 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
g++ -m64 -march=corei7 -Os -fomit-frame-pointer ref
g++ -m64 -march=k8 -Os -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
g++ -m64 -march=nocona -Os -fomit-frame-pointer ref
g++ -march=barcelona -Os -fomit-frame-pointer ref
g++ -march=k8 -Os -fomit-frame-pointer ref
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
g++ -march=nocona -Os -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 returns nonzero
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

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/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: ^
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/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: ^~~~~~~~~~~~~~~~~~
HFE-test.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref