On 28 April 2011 17:21, Jason <ja...@njkfrudils.plus.com> wrote: > On Thursday 28 April 2011 15:26:26 jason wrote: >> On Apr 27, 10:43 pm, jason <ja...@njkfrudils.plus.com> wrote: >> > Hi >> > >> > I going to remove some minor optimizations for a fat build on the K6 >> > and K7 cpu's , again I think that anyone running on these cpu's would >> > use a normal build anyway , and I think they are not made anymore even >> > as embedded chips. >> > >> > Jason >> >> I've removed the old crud above. >> >> In gmp-impl we have these functions which have asm in them >> >> popc_limb >> bswap_limb + varients >> ulong_parity >> mpn_incr >> mpn_decr >> >> so I think we should move then to the arch specific longlong , the C >> version we will leave in gmp-imp.h rather than move them to >> longlong_post.h for strict compatibility (ie for people who want >> popc_limb and only include gmp-impl.h not longlong.h). This means >> including gmp-impl and longlong gives exactly the same code as >> before , whereas including just gmp-impl.h will give you the C version >> only. Given the nature of the macros above I think this is best as >> popc,bswap,parity are not used much and popc and parity have GCC >> intrinsics. The mpn_incr/decr are important but the asm code is for >> 32bit x86 only and as the assumption of this macro is ment to be that >> it loops very few(<2) times , a bit of C code should be faster. >> >> So the changes will be completely compatible and only slightly >> slower(if at all) on these very odd cases and in the case that >> longlong is not included. I'll go ahead with this unless anyone think >> this is a bad idea. >> >> Jason > > Looks like I managed to break a few thing so far :) > On 32bit Linux with a FAT build > libtool: compile: gcc-4.1 -std=gnu99 -DHAVE_CONFIG_H -I. - > I/home/jasonmoxham/gcc45.yBhM0z/mpir-2.3.0/mpn -I.. -D__GMP_WITHIN_GMP - > I/home/jasonmoxham/gcc45.yBhM0z/mpir-2.3.0 -DOPERATION_mul_fft -m32 -O2 - > fomit-frame-pointer -c mul_fft.c -fPIC -DPIC -o .libs/mul_fft.o > mul_fft.c:166: error: initializer element is not constant > mul_fft.c:166: error: (near initialization for 'mpn_fft_table[0][0]') > mul_fft.c:166: error: initializer element is not constant > mul_fft.c:166: error: (near initialization for 'mpn_fft_table[0][1]') > mul_fft.c:166: error: initializer element is not constant > mul_fft.c:166: error: (near initialization for 'mpn_fft_table[0][2]') > mul_fft.c:166: error: initializer element is not constant > mul_fft.c:166: error: (near initialization for 'mpn_fft_table[0][3]') > mul_fft.c:166: error: initializer element is not constant > mul_fft.c:166: error: (near initialization for 'mpn_fft_table[0][4]') > mul_fft.c:166: error: initializer element is not constant > mul_fft.c:166: error: (near initialization for 'mpn_fft_table[0][5]') > mul_fft.c:167: error: initializer element is not constant > mul_fft.c:167: error: (near initialization for 'mpn_fft_table[1][0]') > mul_fft.c:167: error: initializer element is not constant > mul_fft.c:167: error: (near initialization for 'mpn_fft_table[1][1]') > mul_fft.c:167: error: initializer element is not constant > mul_fft.c:167: error: (near initialization for 'mpn_fft_table[1][2]') > mul_fft.c:167: error: initializer element is not constant > mul_fft.c:167: error: (near initialization for 'mpn_fft_table[1][3]') > mul_fft.c:167: error: initializer element is not constant > mul_fft.c:167: error: (near initialization for 'mpn_fft_table[1][4]') > mul_fft.c:167: error: initializer element is not constant > mul_fft.c:167: error: (near initialization for 'mpn_fft_table[1][5]') > make[2]: *** [mul_fft.lo] Error 1 > make[2]: *** Waiting for unfinished jobs.... > libtool: compile: gcc-4.1 -std=gnu99 -DHAVE_CONFIG_H -I. - > I/home/jasonmoxham/gcc45.yBhM0z/mpir-2.3.0/mpn -I.. -D__GMP_WITHIN_GMP - > I/home/jasonmoxham/gcc45.yBhM0z/mpir-2.3.0 -DOPERATION_mul -m32 -O2 -fomit- > frame-pointer -c mul.c -o mul.o >/dev/null 2>&1 > make[2]: Leaving directory `/home/jasonmoxham/gcc45.yBhM0z/gcc45/mpn' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/home/jasonmoxham/gcc45.yBhM0z/gcc45' > make: *** [all] Error 2 > > Can't figure out where this is coming from.....
It looks like a broken gmp-mparam file. Check for punctuation in the wrong place.... > and here debian hppa > > libtests.la ../libmpir.la > libtool: link: gcc-4.1 -std=gnu99 -O2 -mpa-risc-2-0 -o .libs/t-sub t-sub.o > ./.libs/libtests.a /home/jasonmoxham/dingo.NcZzem/dingo/.libs/libmpir.so > ../.libs/libmpir.so > make[4]: Leaving directory `/home/jasonmoxham/dingo.NcZzem/dingo/tests' > make check-TESTS > make[4]: Entering directory `/home/jasonmoxham/dingo.NcZzem/dingo/tests' > make[5]: Entering directory `/home/jasonmoxham/dingo.NcZzem/dingo/tests' > PASS: t-bswap > PASS: t-constants > PASS: t-count_zeros > PASS: t-gmpmax > PASS: t-hightomask > PASS: t-modlinv > PASS: t-parity > PASS: t-popc > /bin/sh: line 1: 28496 Aborted "$tst" > t-sub.log-t 2>&1 > FAIL: t-sub Don't know about this one. Is it definitely not broken before your changes? And repeatable? > > and here > checking whether stripping libraries is possible... yes > checking if libtool supports shared libraries... yes > checking whether to build shared libraries... yes > checking whether to build static libraries... yes > checking how to run the C++ preprocessor... /lib/cpp > configure: error: in `/home/jasonmoxham/gcc52.gVjeqg/gcc52': > configure: error: C++ preprocessor "/lib/cpp" fails sanity check > See `config.log' for more details > gcc52 > > which is a loongson mipsel > > Looks like a broken machine to me. > > > > -- > You received this message because you are subscribed to the Google Groups > "mpir-devel" group. > To post to this group, send email to mpir-devel@googlegroups.com. > To unsubscribe from this group, send email to > mpir-devel+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/mpir-devel?hl=en. > > -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To post to this group, send email to mpir-devel@googlegroups.com. To unsubscribe from this group, send email to mpir-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en.