Implementation notes: amd64, h4atom, crypto_dh/gls254

Computer: h4atom
Architecture: amd64
CPU ID: GenuineIntel-000106ca-bfe9fbff
SUPERCOP version: 20160806
Operation: crypto_dh
Primitive: gls254

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:53:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
dh.c: STEP(k, t, tmp, 16*1, 0x01);
dh.c: ^
dh.c: ./gls254.h:272:6: note: expanded from macro 'STEP'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/__wmmintrin_aes.h:62:12: note: expanded from macro '_mm_aeskeygenassist_si128'
dh.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
dh.c: ^
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:54:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
dh.c: STEP(k, t, tmp, 16*2, 0x02);
dh.c: ^
dh.c: ./gls254.h:272:6: note: expanded from macro 'STEP'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/__wmmintrin_aes.h:62:12: note: expanded from macro '_mm_aeskeygenassist_si128'
dh.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
dh.c: ^
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:55:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
dh.c: STEP(k, t, tmp, 16*3, 0x04);
dh.c: ^
dh.c: ./gls254.h:272:6: note: expanded from macro 'STEP'
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: ./gls254.h:155:7: note: expanded from macro 'MUL4'
dh.c: r0 = _mm_clmulepi64_si128(ma, mb, 0x00);\
dh.c: ^
dh.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/__wmmintrin_pclmul.h:27:13: note: expanded from macro '_mm_clmulepi64_si128'
dh.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
dh.c: ^
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
dh.c: ./gls254.h:156:7: note: expanded from macro 'MUL4'
dh.c: r1 = _mm_clmulepi64_si128(ma, mb, 0x11);\
dh.c: ^
dh.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/__wmmintrin_pclmul.h:27:13: note: expanded from macro '_mm_clmulepi64_si128'
dh.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
dh.c: ^
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
dh.c: ./gls254.h:157:7: note: expanded from macro 'MUL4'
dh.c: t0 = _mm_clmulepi64_si128(t0, t0, 0x10);\
dh.c: ^
dh.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/__wmmintrin_pclmul.h:27:13: note: expanded from macro '_mm_clmulepi64_si128'
dh.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
dh.c: In file included from dh.c:9:0:
dh.c: scmul.incl: In function 'scmul_rand_wreg':
dh.c: scmul.incl:273:17: warning: implicit declaration of function 'types_cond_copy2' [-Wimplicit-function-declaration]
dh.c: types_cond_copy2(tab0, tab4, tabx, n1, n2);
dh.c: ^
dh.c: scmul.incl:284:9: warning: implicit declaration of function 'types_cond_copy' [-Wimplicit-function-declaration]
dh.c: types_cond_copy(QX, tab0, o1);
dh.c: ^
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: low.incl: In function 'low_mul':
dh.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:116:1: error: inlining failed in call to always_inline '_mm_clmulepi64_si128': target specific option mismatch
dh.c: _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
dh.c: ^
dh.c: In file included from dh.c:3:0:
dh.c: gls254.h:157:5: error: called from here
dh.c: t0 = _mm_clmulepi64_si128(t0, t0, 0x10);\
dh.c: ^
dh.c: low.incl:26:2: note: in expansion of macro 'MUL4'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:116:1: error: inlining failed in call to always_inline '_mm_clmulepi64_si128': target specific option mismatch
dh.c: _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: curves.incl: In function 'AESkeyExp':
dh.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
dh.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
dh.c: ^
dh.c: In file included from dh.c:3:0:
dh.c: gls254.h:272:4: error: called from here
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:62:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*10, 0x36);
dh.c: ^
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
dh.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
dh.c: ^
dh.c: In file included from dh.c:3:0:
dh.c: gls254.h:272:4: error: called from here
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:61:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*9, 0x1b);
dh.c: ^
dh.c: ...

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