Hi! Paul Irofti wrote:
On Wed, Nov 28, 2007 at 11:49:57PM +0100, Richard B. Kreckel wrote:
It seems that this is generated by my former fix (the one I was inquiring about). I can't just remap a 64-bit to a 32-bit function so a devel will have to write an additional assembly routine for 64-bit sparc here: Hmm, why not just drop the assembler support on sparc64 for these
You wrote: [...] polynomial functions? Don't know, if its possible and it doesn't affect the codebase then do it, afterwards I'll start retesting on sparc64 for porting.
You mean, without even having access to such a machine? Ugh... Well, let's see. Earler, you wrote the error is:
In file included from polynomial/elem/cl_UP.cc:36: polynomial/elem/cl_UP_GF2.h: In function `uint64 cln::gf2_mul32_(unsigned int, unsigned int)': polynomial/elem/cl_UP_GF2.h:766: error: `gf2_mul_table' undeclared (first use this function) polynomial/elem/cl_UP_GF2.h:766: error: (Each undeclared identifier is reported only once for each function it appears in.)
Indeed, function gf2_mul32_ is defined if intDsize==64 and it refers to gf2_mul_table which is defined unless on sparc or sparc64. Hmm, this seems to suggest an easy fix: Index: src/polynomial/elem/cl_UP_GF2.h =================================================================== RCS file: /home/cvs/cln/src/polynomial/elem/cl_UP_GF2.h,v retrieving revision 1.8 diff -u -r1.8 cl_UP_GF2.h --- src/polynomial/elem/cl_UP_GF2.h 1 Aug 2007 22:07:37 -0000 1.8 +++ src/polynomial/elem/cl_UP_GF2.h 29 Nov 2007 22:01:03 -0000 @@ -95,7 +95,7 @@ return x; } -#if !(defined(__sparc__) || defined(__sparc64__)) +#if !defined(__sparc__) || defined(__sparc64__) // Multiplication of polynomials over GF(2) can unfortunately not profit // from hardware multiply instructions. Use a table instead. // This is a 2^8 x 2^4 table. Maybe a 2^6 x 2^6 table would be better? Does this help? -richy. -- Richard B. Kreckel <http://www.ginac.de/~kreckel/>