[CLN-list] Re: [cln] sparc64 and OpenBSD

Richard B. Kreckel kreckel at ginac.de
Thu Nov 29 23:02:17 CET 2007


Hi!

Paul Irofti wrote:
> On Wed, Nov 28, 2007 at 11:49:57PM +0100, Richard B. Kreckel wrote:
>> You 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 
>> 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/>


More information about the CLN-list mailing list