GNU bug report logs -
#12754
factor.c selects 64 bit code from longlong.h on 32-bit hppa systems
Previous Next
Full log
Message #46 received at 12754-done <at> debbugs.gnu.org (full text, mbox):
On 10/30/2012 01:59 AM, Pádraig Brady wrote:
> Since 2.0 is the only arch that supports the 64 bit hppa code in longlong.h,
> the following enables the code to compile by default.
>
> diff --git a/src/longlong.h b/src/longlong.h
> index 8d71611..8b01696 100644
> --- a/src/longlong.h
> +++ b/src/longlong.h
> @@ -679,7 +679,7 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype *, UWtype, UWtype, UWtype);
> /* These macros are for ABI=2.0w. In ABI=2.0n they can't be used, since GCC
> (3.2) puts longlong into two adjacent 32-bit registers. Presumably this
> is just a case of no direct support for 2.0n but treating it like 1.0. */
> -#if defined (__hppa) && W_TYPE_SIZE == 64 && ! defined (_LONG_LONG_LIMB)
> +#if defined (__hppa) && defined (_PA_RISC2_0) && W_TYPE_SIZE == 64 && ! defined (_LONG_LONG_LIMB)
> #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
> __asm__ ("add%I5 %5,%r4,%1\n\tadd,dc %r2,%r3,%0" \
> : "=r" (sh), "=&r" (sl) \
>
> Note even though I've not encountered a system yet where uintmax_t != 64 bit,
> I'll add the guards around "#define W_TYPE_SIZE", previously mentioned in
> this thread, in a separate patch.
I've now pushed the patch set discussed in this thread,
so I'm marking this bug as done.
cheers,
Pádraig.
This bug report was last modified 12 years and 205 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.