Implementation notes: x86, thoth, crypto_dh/hecfp61e2bk

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

Compiler output

Implementation: crypto_dh/hecfp61e2bk/v01/varglv8
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
array_lo.c: array_lo.c:37:3: error: register %rax is only available in 64-bit mode
array_lo.c: mim_mul_1(an[al], an, an, al, base, buf[i]);
array_lo.c: ^
array_lo.c: ./multiprecision.h:696:4: note: expanded from macro 'mim_mul_1'
array_lo.c: km_mul_2_add_c(_t, (zn)[0], (an)[0], (b), _t); \
array_lo.c: ^
array_lo.c: ./kernel.h:124:2: note: expanded from macro 'km_mul_2_add_c'
array_lo.c: "mulq %3;" \
array_lo.c: ^
array_lo.c: gt;:1:28: note: instantiated into assembly here
array_lo.c: mulq 4(%esp);addq (%esp), %rax;adcq $0, %rdx;
array_lo.c: ^~~~~
array_lo.c: array_lo.c:37:3: error: register %rdx is only available in 64-bit mode
array_lo.c: mim_mul_1(an[al], an, an, al, base, buf[i]);
array_lo.c: ^
array_lo.c: ./multiprecision.h:696:4: note: expanded from macro 'mim_mul_1'
array_lo.c: km_mul_2_add_c(_t, (zn)[0], (an)[0], (b), _t); \
array_lo.c: ^
array_lo.c: ./kernel.h:124:2: note: expanded from macro 'km_mul_2_add_c'
array_lo.c: "mulq %3;" \
array_lo.c: ^
array_lo.c: gt;:1:42: note: instantiated into assembly here
array_lo.c: mulq 4(%esp);addq (%esp), %rax;adcq $0, %rdx;
array_lo.c: ^~~~~
array_lo.c: array_lo.c:37:3: error: register %rax is only available in 64-bit mode
array_lo.c: ...

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments v01/varglv8 v01/w8s01glv8 v01/w8s02glv8 v01/w8s04glv8 v01/w8s08glv8 v01/w8s16glv8 v01/w8s32glv8

Compiler output

Implementation: crypto_dh/hecfp61e2bk/v01/varglv8
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
array_lo.c: array_lo.c: Assembler messages:
array_lo.c: array_lo.c:37: Error: invalid instruction suffix for `mul'
array_lo.c: array_lo.c:37: Error: bad register name `%rax'
array_lo.c: array_lo.c:37: Error: bad register name `%rdx'
array_lo.c: array_lo.c:37: Error: invalid instruction suffix for `mul'
array_lo.c: array_lo.c:37: Error: bad register name `%rax'
array_lo.c: array_lo.c:37: Error: bad register name `%rdx'
array_lo.c: array_lo.c:37: Error: invalid instruction suffix for `mul'
array_lo.c: array_lo.c:37: Error: bad register name `%rax'
array_lo.c: array_lo.c:37: Error: bad register name `%rdx'
array_lo.c: array_lo.c:37: Error: invalid instruction suffix for `mul'
array_lo.c: array_lo.c:37: Error: bad register name `%rax'
array_lo.c: array_lo.c:37: Error: bad register name `%rdx'
array_lo.c: array_lo.c:37: Error: invalid instruction suffix for `mul'
array_lo.c: array_lo.c:37: Error: bad register name `%rax'
array_lo.c: array_lo.c:37: Error: bad register name `%rdx'
array_lo.c: array_lo.c:37: Error: invalid instruction suffix for `mul'
array_lo.c: array_lo.c:37: Error: bad register name `%rax'
array_lo.c: array_lo.c:37: Error: bad register name `%rdx'
array_lo.c: array_lo.c:37: Error: invalid instruction suffix for `mul'
array_lo.c: array_lo.c:37: Error: bad register name `%rax'
array_lo.c: array_lo.c:37: Error: bad register name `%rdx'
array_lo.c: array_lo.c:37: Error: invalid instruction suffix for `mul'
array_lo.c: array_lo.c:37: Error: bad register name `%rax'
array_lo.c: array_lo.c:37: Error: bad register name `%rdx'
array_lo.c: ...

Number of similar (compiler,implementation) pairs: 28, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv v01/varglv8 v01/w8s01glv8 v01/w8s02glv8 v01/w8s04glv8 v01/w8s08glv8 v01/w8s16glv8 v01/w8s32glv8
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv v01/varglv8 v01/w8s01glv8 v01/w8s02glv8 v01/w8s04glv8 v01/w8s08glv8 v01/w8s16glv8 v01/w8s32glv8
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv v01/varglv8 v01/w8s01glv8 v01/w8s02glv8 v01/w8s04glv8 v01/w8s08glv8 v01/w8s16glv8 v01/w8s32glv8
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv v01/varglv8 v01/w8s01glv8 v01/w8s02glv8 v01/w8s04glv8 v01/w8s08glv8 v01/w8s16glv8 v01/w8s32glv8