On Saturday 19 March 2011 23:35:40 Jason wrote: > On Saturday 19 March 2011 18:17:14 Jeff Gilchrist wrote: > > On Thu, Mar 17, 2011 at 8:32 PM, Jason <ja...@njkfrudils.plus.com> wrote: > > > Yep , it was just a hunch that was wrong , could you try putting some > > > printf("here\n");fflush(0); > > > between he tests in t-constants.c , so we can work out which one is the > > > problem. > > > > It stops inside this section: > > > > #ifdef PP_INVERTED > > > > { > > > > mp_limb_t pp_inverted_calc; > > invert_limb (pp_inverted_calc, PP); > > CHECK_LIMB (PP_INVERTED, pp_inverted_calc); > > > > } > > > > #endif > > > > It never completes: invert_limb (pp_inverted_calc, PP); > > I know we have a problem with invert_limb on ia64 with icc and no assembler > , perhaps this is the "same" C-code , I'll have a look in longlong.h > > Jason
The problem is in the files mpn/x86_68/k8/udiv.as and umul.as , they are both wrong. This problem only bites on a AMD 64bit with a non-gcc compiler (not MSVC) as there is no inline asm . I think the best solution is just to delete the files as any modern compiler will be able to generate better code anyway (certainly for umul , and I presume udiv). Thanks Jason -- 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.