Implementation notes: x86, thoth, crypto_dh/curve2251

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_dh
Primitive: curve2251

Compiler output

Implementation: crypto_dh/curve2251/mpfq
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
curve2_251.c: In file included from curve2_251.c:8:
curve2_251.c: In file included from ./field.h:1:
curve2_251.c: In file included from ./mpfq_2_251.h:3:
curve2_251.c: ./x86_32/mpfq_2_251.h:927:14: error: use of unknown builtin '__builtin_ia32_pslldqi128' [-Wimplicit-function-declaration]
curve2_251.c: r.s = t0 ^ SHLD(t1, 64);
curve2_251.c: ^
curve2_251.c: ./x86_32/mpfq_2_251.h:775:25: note: expanded from macro 'SHLD'
curve2_251.c: #define SHLD(x,r) (v2di)__builtin_ia32_pslldqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^
curve2_251.c: ./x86_32/mpfq_2_251.h:927:14: error: invalid conversion between vector type 'v2di' (vector of 2 'uint64_t' values) and integer type 'int' of different size
curve2_251.c: r.s = t0 ^ SHLD(t1, 64);
curve2_251.c: ^~~~~~~~~~~~
curve2_251.c: ./x86_32/mpfq_2_251.h:775:19: note: expanded from macro 'SHLD'
curve2_251.c: #define SHLD(x,r) (v2di)__builtin_ia32_pslldqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
curve2_251.c: ./x86_32/mpfq_2_251.h:936:14: error: use of unknown builtin '__builtin_ia32_psrldqi128' [-Wimplicit-function-declaration]
curve2_251.c: r.s = t2 ^ SHRD(t1, 64);
curve2_251.c: ^
curve2_251.c: ./x86_32/mpfq_2_251.h:776:25: note: expanded from macro 'SHRD'
curve2_251.c: #define SHRD(x,r) (v2di)__builtin_ia32_psrldqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^
curve2_251.c: ./x86_32/mpfq_2_251.h:936:14: error: invalid conversion between vector type 'v2di' (vector of 2 'uint64_t' values) and integer type 'int' of different size
curve2_251.c: r.s = t2 ^ SHRD(t1, 64);
curve2_251.c: ^~~~~~~~~~~~
curve2_251.c: ./x86_32/mpfq_2_251.h:776:19: note: expanded from macro 'SHRD'
curve2_251.c: ...

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

Compiler output

Implementation: crypto_dh/curve2251/mpfq
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
curve2_251.c: In file included from mpfq_2_251.h:3:0,
curve2_251.c: from field.h:1,
curve2_251.c: from curve2_251.c:8:
curve2_251.c: x86_32/mpfq_2_251.h: In function 'mpfq_2_251_mul_basecase128x128s4X64x2':
curve2_251.c: x86_32/mpfq_2_251.h:773:24: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
curve2_251.c: #define SHL(x,r) (v2di)__builtin_ia32_psllqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^
curve2_251.c: x86_32/mpfq_2_251.h:785:12: note: in expansion of macro 'SHL'
curve2_251.c: v2di b1 = SHL(b0, 1);
curve2_251.c: ^
curve2_251.c: x86_32/mpfq_2_251.h:773:24: error: '__builtin_ia32_psllqi128' needs isa option -m32 -msse2
curve2_251.c: #define SHL(x,r) (v2di)__builtin_ia32_psllqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^
curve2_251.c: x86_32/mpfq_2_251.h:785:12: note: in expansion of macro 'SHL'
curve2_251.c: v2di b1 = SHL(b0, 1);
curve2_251.c: ^
curve2_251.c: x86_32/mpfq_2_251.h:785: confused by earlier errors, bailing out

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

Compiler output

Implementation: crypto_dh/curve2251/mpfq
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
curve2_251.c: In file included from mpfq_2_251.h:3:0,
curve2_251.c: from field.h:1,
curve2_251.c: from curve2_251.c:8:
curve2_251.c: x86_32/mpfq_2_251.h: In function 'mpfq_2_251_mul_basecase128x128s4X64x2':
curve2_251.c: x86_32/mpfq_2_251.h:773:24: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
curve2_251.c: #define SHL(x,r) (v2di)__builtin_ia32_psllqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^
curve2_251.c: x86_32/mpfq_2_251.h:785:12: note: in expansion of macro 'SHL'
curve2_251.c: v2di b1 = SHL(b0, 1);
curve2_251.c: ^
curve2_251.c: x86_32/mpfq_2_251.h: In function 'mpfq_2_251_mul.isra.12':
curve2_251.c: x86_32/mpfq_2_251.h:773:24: error: '__builtin_ia32_psllqi128' needs isa option -m32 -msse2
curve2_251.c: #define SHL(x,r) (v2di)__builtin_ia32_psllqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^
curve2_251.c: x86_32/mpfq_2_251.h:785:12: note: in expansion of macro 'SHL'
curve2_251.c: v2di b1 = SHL(b0, 1);
curve2_251.c: ^
curve2_251.c: x86_32/mpfq_2_251.h:785: confused by earlier errors, bailing out

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv mpfq