Implementation notes: amd64, waldorf, crypto_aead/minalpherv11

Computer: waldorf
Architecture: amd64
CPU ID: GenuineIntel-000106e5-bfebfbff
SUPERCOP version: 20160715
Operation: crypto_aead
Primitive: minalpherv11
TimeImplementationCompilerBenchmark dateSUPERCOP version
8079212refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
13442632refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
23076636refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
25962120refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
28769564refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715

Compiler output

Implementation: crypto_aead/minalpherv11/avx2
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
MinalpherCore.cpp: MinalpherCore.cpp:41:7: error: unknown type name '__m256i'
MinalpherCore.cpp: const __m256i RoundConstSingleBlock[16][2] = {
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:42:7: error: use of undeclared identifier '_mm256_set_epi32'; did you mean '_mm_set_epi16'?
MinalpherCore.cpp: { _mm256_set_epi32(0x0000000, 0x03020100, 0x00000000, 0x0000000, 0x0000000, 0x02030001, 0x0000000, 0x0000000),
MinalpherCore.cpp: ^~~~~~~~~~~~~~~~
MinalpherCore.cpp: _mm_set_epi16
MinalpherCore.cpp: /usr/include/clang/3.5.0/include/emmintrin.h:1105:1: note: '_mm_set_epi16' declared here
MinalpherCore.cpp: _mm_set_epi16(short w7, short w6, short w5, short w4, short w3, short w2, short w1, short w0)
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:43:7: error: use of undeclared identifier '_mm256_set_epi32'; did you mean '_mm_set_epi16'?
MinalpherCore.cpp: _mm256_set_epi32(0x0000000, 0x01000302, 0x00000000, 0x0000000, 0x0000000, 0x00010203, 0x0000000, 0x0000000)},
MinalpherCore.cpp: ^~~~~~~~~~~~~~~~
MinalpherCore.cpp: _mm_set_epi16
MinalpherCore.cpp: /usr/include/clang/3.5.0/include/emmintrin.h:1105:1: note: '_mm_set_epi16' declared here
MinalpherCore.cpp: _mm_set_epi16(short w7, short w6, short w5, short w4, short w3, short w2, short w1, short w0)
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:44:7: error: use of undeclared identifier '_mm256_set_epi32'; did you mean '_mm_set_epi16'?
MinalpherCore.cpp: { _mm256_set_epi32(0x0000000, 0x02030001, 0x00000000, 0x0000000, 0x0000000, 0x03020100, 0x0000000, 0x0000000),
MinalpherCore.cpp: ^~~~~~~~~~~~~~~~
MinalpherCore.cpp: _mm_set_epi16
MinalpherCore.cpp: /usr/include/clang/3.5.0/include/emmintrin.h:1105:1: note: '_mm_set_epi16' declared here
MinalpherCore.cpp: _mm_set_epi16(short w7, short w6, short w5, short w4, short w3, short w2, short w1, short w0)
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:45:7: error: use of undeclared identifier '_mm256_set_epi32'; did you mean '_mm_set_epi16'?
MinalpherCore.cpp: ...

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

Compiler output

Implementation: crypto_aead/minalpherv11/avx2
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
MinalpherCore.cpp: MinalpherCore.cpp: In function 'void minalpher_core_single_block(const __m256i&, __m256i&, __m256i&)':
MinalpherCore.cpp: MinalpherCore.cpp:85:138: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
MinalpherCore.cpp: const __m256i ymmMask = _mm256_set_epi32(0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F);
MinalpherCore.cpp: ^
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.9/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/4.9/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.9/include/avxintrin.h: In function 'void __static_initialization_and_destruction_0(int, int)':
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.9/include/avxintrin.h:1228:1: error: inlining failed in call to always_inline '__m256i _mm256_set_epi32(int, int, int, int, int, int, int, int)': target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi32 (int __A, int __B, int __C, int __D,
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:42:113: error: called from here
MinalpherCore.cpp: { _mm256_set_epi32(0x0000000, 0x03020100, 0x00000000, 0x0000000, 0x0000000, 0x02030001, 0x0000000, 0x0000000),
MinalpherCore.cpp: ^
MinalpherCore.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.9/include/immintrin.h:41:0,
MinalpherCore.cpp: from /usr/lib/gcc/x86_64-linux-gnu/4.9/include/x86intrin.h:46,
MinalpherCore.cpp: from define.h:47,
MinalpherCore.cpp: from MinalpherCore.cpp:33:
MinalpherCore.cpp: /usr/lib/gcc/x86_64-linux-gnu/4.9/include/avxintrin.h:1228:1: error: inlining failed in call to always_inline '__m256i _mm256_set_epi32(int, int, int, int, int, int, int, int)': target specific option mismatch
MinalpherCore.cpp: _mm256_set_epi32 (int __A, int __B, int __C, int __D,
MinalpherCore.cpp: ^
MinalpherCore.cpp: MinalpherCore.cpp:43:113: error: called from here
MinalpherCore.cpp: _mm256_set_epi32(0x0000000, 0x01000302, 0x00000000, 0x0000000, 0x0000000, 0x00010203, 0x0000000, 0x0000000)},
MinalpherCore.cpp: ^
MinalpherCore.cpp: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2