[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