Implementation notes: amd64, avx512imath, crypto_dh/hector

Computer: avx512imath
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20210125
Operation: crypto_dh
Primitive: hector

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
divclass.c: In file included from ./mpfq_2_113.h:5,
divclass.c: from ./field.h:7,
divclass.c: from divclass.h:10,
divclass.c: from divclass.c:7:
divclass.c: ./x86_64/mpfq_2_113.h:17:18: warning: 'mpfq_2_113_set' is static but used in inline function 'divclass_negaff' which is not static
divclass.c: 17 | #define MPFQ_(X) mpfq_2_113_ ## X
divclass.c: | ^~~~~~~~~~~
divclass.c: ./mpfq_name_K.h:33:21: note: in expansion of macro 'MPFQ_'
divclass.c: 33 | #define Kset(a0,a1) MPFQ_(set) (K,a0,a1)
divclass.c: | ^~~~~
divclass.c: divclass.c:410:2: note: in expansion of macro 'Kset'
divclass.c: 410 | Kset(rop->m_V0,op->m_V0);
divclass.c: | ^~~~
divclass.c: ./x86_64/mpfq_2_113.h:17:18: warning: 'mpfq_2_113_set' is static but used in inline function 'divclass_negaff' which is not static
divclass.c: 17 | #define MPFQ_(X) mpfq_2_113_ ## X
divclass.c: | ^~~~~~~~~~~
divclass.c: ./mpfq_name_K.h:33:21: note: in expansion of macro 'MPFQ_'
divclass.c: 33 | #define Kset(a0,a1) MPFQ_(set) (K,a0,a1)
divclass.c: | ^~~~~
divclass.c: divclass.c:409:2: note: in expansion of macro 'Kset'
divclass.c: 409 | Kset(rop->m_V1,op->m_V1);
divclass.c: | ^~~~
divclass.c: ./x86_64/mpfq_2_113.h:17:18: warning: 'mpfq_2_113_set' is static but used in inline function 'divclass_negaff' which is not static
divclass.c: 17 | #define MPFQ_(X) mpfq_2_113_ ## X
divclass.c: | ^~~~~~~~~~~
divclass.c: ...
try.c: /usr/bin/ld: crypto_dh_hector.a(common.o): in function `gen_keypair':
try.c: common.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: /usr/bin/ld: crypto_dh_hector.a(common.o): in function `crypto_dh_hector_ref_timingleaks_keypair':
try.c: common.c:(.text+0x...): undefined reference to `__gmpz_init'
try.c: /usr/bin/ld: common.c:(.text+0x...): undefined reference to `__gmpz_clear'
try.c: /usr/bin/ld: crypto_dh_hector.a(config.o): in function `init_all':
try.c: config.c:(.text+0x...): undefined reference to `__gmpz_init_set_str'
try.c: /usr/bin/ld: config.c:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.c: /usr/bin/ld: crypto_dh_hector.a(config.o): in function `clear_all':
try.c: config.c:(.text+0x...): undefined reference to `__gmpz_clear'
try.c: /usr/bin/ld: crypto_dh_hector.a(conversion.o): in function `bytearray_to_mpz_t':
try.c: conversion.c:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_add_ui'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_mul_2exp'
try.c: /usr/bin/ld: crypto_dh_hector.a(conversion.o): in function `mpz_t_to_bytearray':
try.c: conversion.c:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_init_set'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_fdiv_q_2exp'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_clear'
try.c: /usr/bin/ld: crypto_dh_hector.a(conversion.o): in function `scrambled_bytearray_to_mpz_t':
try.c: conversion.c:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_mul_2exp'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_setbit'
try.c: /usr/bin/ld: crypto_dh_hector.a(conversion.o): in function `mpz_t_to_scrambled_bytearray':
try.c: conversion.c:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.c: ...

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
divclass.c: In file included from ./mpfq_2_113.h:5,
divclass.c: from ./field.h:7,
divclass.c: from divclass.h:10,
divclass.c: from divclass.c:7:
divclass.c: ./x86_64/mpfq_2_113.h:17:18: warning: 'mpfq_2_113_set' is static but used in inline function 'divclass_negaff' which is not static
divclass.c: 17 | #define MPFQ_(X) mpfq_2_113_ ## X
divclass.c: | ^~~~~~~~~~~
divclass.c: ./mpfq_name_K.h:33:21: note: in expansion of macro 'MPFQ_'
divclass.c: 33 | #define Kset(a0,a1) MPFQ_(set) (K,a0,a1)
divclass.c: | ^~~~~
divclass.c: divclass.c:410:2: note: in expansion of macro 'Kset'
divclass.c: 410 | Kset(rop->m_V0,op->m_V0);
divclass.c: | ^~~~
divclass.c: ./x86_64/mpfq_2_113.h:17:18: warning: 'mpfq_2_113_set' is static but used in inline function 'divclass_negaff' which is not static
divclass.c: 17 | #define MPFQ_(X) mpfq_2_113_ ## X
divclass.c: | ^~~~~~~~~~~
divclass.c: ./mpfq_name_K.h:33:21: note: in expansion of macro 'MPFQ_'
divclass.c: 33 | #define Kset(a0,a1) MPFQ_(set) (K,a0,a1)
divclass.c: | ^~~~~
divclass.c: divclass.c:409:2: note: in expansion of macro 'Kset'
divclass.c: 409 | Kset(rop->m_V1,op->m_V1);
divclass.c: | ^~~~
divclass.c: ./x86_64/mpfq_2_113.h:17:18: warning: 'mpfq_2_113_set' is static but used in inline function 'divclass_negaff' which is not static
divclass.c: 17 | #define MPFQ_(X) mpfq_2_113_ ## X
divclass.c: | ^~~~~~~~~~~
divclass.c: ...
try.c: /usr/bin/ld: crypto_dh_hector.a(common.o): in function `gen_keypair':
try.c: common.c:(.text+0x...): undefined reference to `__gmpz_cmp'
try.c: /usr/bin/ld: crypto_dh_hector.a(common.o): in function `crypto_dh_hector_ref_timingleaks_keypair':
try.c: common.c:(.text+0x...): undefined reference to `__gmpz_init'
try.c: /usr/bin/ld: common.c:(.text+0x...): undefined reference to `__gmpz_clear'
try.c: /usr/bin/ld: crypto_dh_hector.a(config.o): in function `init_all':
try.c: config.c:(.text+0x...): undefined reference to `__gmpz_init_set_str'
try.c: /usr/bin/ld: config.c:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.c: /usr/bin/ld: crypto_dh_hector.a(config.o): in function `clear_all':
try.c: config.c:(.text+0x...): undefined reference to `__gmpz_clear'
try.c: /usr/bin/ld: crypto_dh_hector.a(conversion.o): in function `bytearray_to_mpz_t':
try.c: conversion.c:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_add_ui'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_mul_2exp'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_add_ui'
try.c: /usr/bin/ld: crypto_dh_hector.a(conversion.o): in function `mpz_t_to_bytearray':
try.c: conversion.c:(.text+0x...): undefined reference to `__gmpz_sizeinbase'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_init_set'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_fdiv_q_2exp'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_clear'
try.c: /usr/bin/ld: crypto_dh_hector.a(conversion.o): in function `scrambled_bytearray_to_mpz_t':
try.c: conversion.c:(.text+0x...): undefined reference to `__gmpz_set_ui'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_setbit'
try.c: /usr/bin/ld: conversion.c:(.text+0x...): undefined reference to `__gmpz_mul_2exp'
try.c: /usr/bin/ld: crypto_dh_hector.a(conversion.o): in function `mpz_t_to_scrambled_bytearray':
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref